教师 Web / 发布作业
周策 老师
Prototype

教师 Web · 发布作业

校验发布作业配置项、校验项与退出确认弹窗。

设计视口: 1440 x 900 · 当前缩放: 100% · 左右分栏: 拖动中线调整
Page PRD

发布作业

当前文档: prds/作业管理模块/teacher-web/t_publish.md

当前对照重点: 发布作业
Review Hint

左侧现在支持三种演示模式: 默认按设计稿完整缩放、按宽度铺满、以及 100% 原始尺寸滚动查看。 右侧默认读取当前页面对应的页面级 PRD,而不是整本总 PRD;改页面时,直接同步维护这个页面文档即可。

发布作业

页面元信息

  • 终端:教师 Web
  • Astro 路由:/teacher/publish
  • 原始 HTML:t_publish.html
  • 来源章节:4.2.5
  • 维护规则:后续以本页面 PRD 为准;若改动影响通用规则,再同步总览 / 全局规则文档。

视觉描述

  • 原型引用:产出文档/作业管理模块/原型图/t_publish.html
  • 页面采用左右分栏:左侧 PDF 作业预览,右侧发布信息。
  • 页面顶部左侧展示 退出 文本按钮和页面标题“发布作业”;退出 用于离开当前发布流程,需配套二次确认弹窗。
  • 左侧预览区顶部展示 PDF作业预览 标题及 编辑试卷 按钮,预览区以只读方式展示当前组卷结果生成的 PDF 内容。
  • PDF 预览包含作业标题、年级学科信息、题目内容、作答区、页码等发布态卷面信息。
  • 预览区底部信息拆分为两行:第一行展示总页数、总题数、总分,第二行独立展示 快捷跳页,避免与统计信息同行时在多页场景下自动换行导致版面凌乱。
  • 当总页数大于 5 页时,快捷跳页 区不得自动折行;需保持单行展示并支持页码输入后回车跳转。
  • 右侧展示试卷概览、作业标题、按年级分组的班级选择、作业备注;页面底部固定 立即发布 按钮。

功能描述

  • 页面入口:从组卷工作台点击 完成 后进入;前置条件为当前试卷已完成一次保存并成功生成可发布 PDF。
  • 退出
    • 点击顶部 退出 时,必须弹出二次确认弹窗。
    • 当前版本不支持发布页自动保存;教师确认退出后返回 t_homework_list.html,本页未发布的标题、班级、备注修改不保留。
  • PDF 预览:
    • 展示当前最新一次组卷结果生成的 PDF,只支持浏览,不支持在发布页直接编辑卷面内容。
    • 预览区用于教师发布前最终核对题目、版式、页码和总分信息,避免带错卷进入发布流程。
    • 加载策略采用“首屏前 2 页优先渲染,其余页按滚动位置懒加载”的方式;加载中展示页级骨架占位,避免多页 PDF 首次进入时卡顿。
    • 默认按整卷连续滚动浏览;点击 快捷跳页 后滚动定位到对应页并高亮当前页码。
    • 当总页数大于 5 页时,页码区展示 首页上一页、当前页邻近页码、下一页末页,并支持输入页码后回车跳转;不使用自动换行方案。
  • 编辑试卷
    • 点击后返回 t_composition.html 继续修改试卷内容。
    • 返回组卷工作台后,发布页已填写的 作业标题选择班级作业备注 与当前预览定位页需保留不丢失。
    • 教师从发布页返回并修改了卷面结构后,原 PDF 预览视为失效;需重新点击组卷工作台的 完成 生成最新 PDF 后,才可再次进入发布页并执行发布。
  • 班级选择:
    • 按年级分组展示当前教师可发布班级,支持年级内全选与多班级选择。
    • 点击年级标题可折叠/展开班级列表;年级内全部班级选中后,年级操作按钮切换为 取消全选;部分选中时需展示半选态。
    • 支持跨年级混选;教师可在多个年级分组下同时勾选班级,系统按最终勾选班级范围完成一次发布,不因试卷展示年级信息而限制选择范围;页面无需额外展示“支持跨年级混选”提示文案。
  • 作业标题:必填,教师在发布页输入基础标题;系统在发布成功时自动生成最终标题 = 基础标题 + 空格 + M月D日(不含年份),例如“第三单元随堂练习 4月8日”;若当前教师名下已存在同名最终标题,则在日期后追加递增后缀 (1)/(2)/(3),如“第三单元随堂练习 4月8日(1)”;若 (1) 已存在,则继续生成 (2),以此类推。
  • 作业备注:选填,最多 200 字;输入过程中实时显示字数计数,达到上限后不可继续输入。
  • 立即发布:
    • 按钮常驻展示。
    • 作业标题 已填写、至少选择 1 个班级且当前 PDF 有效时,可执行发布。
    • 点击后按钮进入发布中状态并禁用,防止重复提交。
    • 发布成功后 Toast 提示,并跳转作业中心。

退出确认弹窗规格

触发条件标题正文按钮行为
教师点击顶部 退出确认退出发布页?当前编辑内容尚未发布,退出后本次填写的作业标题、班级选择、作业备注不会自动保存。是否确认退出?取消:关闭弹窗并停留当前页;确认退出:返回 t_homework_list.html;点击右上角关闭或遮罩层,等同 取消

异常描述

  • 点击 退出 时误触离开、未选班级、标题为空、PDF 预览不可用时,阻断发布并在对应区域给出明确提示。
  • 教师从发布页返回 编辑试卷 后,如未重新生成 PDF 即试图直接恢复旧发布态并发布,系统应阻断并提示“试卷内容已变更,请重新生成后再发布”。
  • 发布过程中按钮需进入提交中状态,防止重复点击导致重复发布。
  • 发布失败时保留当前表单内容与班级勾选结果,教师可直接重试。
  • 快捷跳页 输入页码超出有效范围时,提示“请输入 1~N 页之间的页码”,并保持当前预览位置不变。
  • 总页数大于 5 页时若页码导航区域渲染失败,不允许降级为自动换行,应回退为仅保留 上一页/下一页 和页码输入跳转。
  • 标题自动补全日期与序号后若仍产生命名冲突或生成失败,需阻断发布并提示“作业标题生成失败,请稍后重试”。

数据需求

  • 接口:
    • 获取发布预览:返回当前可发布 PDF 地址、页数、题数、总分及试卷摘要信息。
    • 获取班级树:返回当前教师可选班级及所属年级分组。
    • 发布作业:提交作业基础标题、班级范围、备注、当前 PDF 版本标识并完成发布。
    • 标题校验/重名判定:用于生成最终展示标题。
  • 状态与缓存:
    • 需保留发布页表单草稿数据,支撑“编辑试卷返回组卷工作台再回到发布页”场景下的数据恢复。
    • 需缓存 publish_context,至少包含 raw_titleselected_class_idsremarkcurrent_preview_page,用于 t_composition.htmlt_publish.html 之间往返恢复。
    • 需记录当前 PDF 版本标识,用于判断教师返回编辑后旧预览是否失效。
  • 加载策略:
    • 需返回 page_countinitial_page_urls 或等价分页渲染信息,支撑预览区首屏优先加载和后续懒加载。
  • 字段:需区分 raw_title(教师输入基础标题)与 display_title(系统生成最终标题),列表页、批改页、报告页统一展示 display_title
  • 埋点:
    • 页面浏览:记录入口来源(组卷工作台完成进入/编辑试卷后再次进入)。
    • 预览操作:PDF 浏览、快捷跳页按钮点击、快捷跳页输入跳转、点击 编辑试卷
    • 表单操作:作业标题输入、班级选择、备注填写。
    • 退出操作:点击 退出、退出确认取消、退出确认离开。
    • 发布结果:点击 立即发布、发布成功、发布失败原因。
当前这页已经是“原型 + 页面 PRD”评审工作台。跨页面规则请维护在总览 / 全局规则文档,页面细节请直接维护右侧页面 PRD。
Review Workspace - Prototype + Page PRD