教师小程序 / 作业分析
周策 老师
Prototype

教师小程序 · 作业分析

校验移动端作业分析页签、筛选和下钻。

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

作业分析

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

当前对照重点: 作业分析
Review Hint

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

作业分析

页面元信息

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

视觉描述

  • 原型引用:产出文档/作业管理模块/原型图/tm_report.html
  • 页面为教师小程序移动端作业分析页,采用单页多页签结构,自上而下分为导航栏、作业信息卡、统计摘要卡、页签切换区、条件搜索区、内容展示区、底部 Bottom Sheet 和 Toast 提示层。
  • 顶部导航栏左侧为返回图标,中间标题固定为作业分析,右侧··仅作视觉占位,本期不承接更多菜单、分享、导出等业务操作。
  • 作业信息卡展示学科标识、作业标题、可选来源标签、发布班级、发布时间、提交情况。其中“书名标签”不展示;若后端返回教材名称、教材版本、出版社等字段,本页也不得渲染。参见 R64。
  • 统计摘要卡固定为左右 2 个指标块:左侧展示提交人数未提交 x ↓下钻入口,右侧展示班级平均分以及最高分 · 最低分辅助信息。
  • 页签区固定包含作业分析错题分析学生学情3 个页签;默认高亮作业分析学生学情页签激活时才展示姓名搜索框。参见 R66。
  • 作业分析页签内包含 3 个分析卡片:学生评价分布环形图、易错知识点雷达图题目前三错误率列表。
  • 题目前三错误率需与系统现有口径保持一致:按最小可判分小题展示,不按大题或题组聚合;列表采用“左侧题目缩略内容 + 右侧错误率”的双列结构,优先展示题目截图缩略图,缺失截图时退化为题干文本片段;不展示原型中的题型 · 知识点 · 做错人数辅助文案。参见 R65。
  • 错题分析页签顶部为排序筛选两个按钮,下方为错题卡片列表;单张卡片默认收起,只展示题目原文摘要和题型,展开后展示参考答案、题目难度、错题人数/错误率、知识点。
  • 学生学情页签展示学生卡片列表。已提交学生卡片展示姓名、正确率、错题数、批改时间、查看作业报告和只读评价标签;未提交学生仅展示姓名、占位指标和未提交状态文案,不展示下钻按钮。参见 R67。
  • Bottom Sheet 为本页统一交互组件,用于知识点选择、排序、题型筛选;弹层底部固定展示重置确定取消。Toast 用于展示轻量结果反馈,如已更新知识点已切换为错题率由高到低已筛选填空题

功能描述

页面入口

  • 入口一:教师在 tm_list.html 点击整张作业卡片或卡片按钮查看分析进入本页,需透传 homework_idhomework_typeclass_idsource_page=tm_list。参见 R29、R31。
  • 入口二:教师在 tm_grading_list.html 点击顶部查看分析进入本页,需透传 homework_idhomework_typeclass_idsource_page=tm_grading_list
  • 入口三:教师在 tm_grading.html 点击保存并查看分析进入本页,需透传 homework_idhomework_typeclass_idstudent_idcurrent_page_nosource_page=tm_grading
  • 回流入口:教师从 tm_student_report.htmltm_student_analysis.htmltm_submission_status.html 返回本页时,需透传 homework_idclass_idsource_page=tm_reporttab,并恢复本页上下文。参见 R66。

页面范围与初始化

  • 报告范围固定为当前作业 + 当前班级。本页不提供班级切换器;若教师要查看其他班级数据,需从来源页切换到目标班级后重新进入。参见 R63。
  • 若系统检测到当前账号存在未完成上传任务,必须优先拦截进入 tm_submit.html 继续上传,上传任务结束前不得停留本页。参见 R34。
  • 首次进入本页默认打开作业分析页签;仅当 URL 中存在有效 tab=analysis|errors|students 时,才按透传页签打开。无效值一律回退到analysis。参见 R66。
  • 页面首屏先加载作业信息卡 + 统计摘要卡 + 当前激活页签数据;非当前页签数据在首次切换到该页签时再懒加载。各页签区块独立加载、独立失败、独立重试,不因某一区块失败阻塞其他区块展示。
  • 右上角··本期不响应点击,不弹出菜单,不跳转其他页面。

页面分区与控件交互

  • 本页按导航栏作业信息卡统计摘要卡页签切换区搜索区作业分析页签错题分析页签学生学情页签Bottom Sheet 9 个分区展开说明。

导航栏

区域/控件展示规则交互与系统行为
左侧返回始终展示点击后按来源页回跳:source_page=tm_list 时返回 tm_list.html 并恢复离开前页签、筛选和滚动位置;source_page=tm_grading_list 时返回 tm_grading_list.html 并恢复原页签与列表位置;source_page=tm_grading 时返回 tm_grading.html 并恢复原学生、原页码;无有效来源时返回 tm_list.html
页面标题始终展示固定文案 作业分析,不随页签切换改名。
右侧 ··始终展示本期仅保留视觉样式,不承接点击事件,不弹出操作菜单。

作业信息卡

区域/控件展示规则交互与系统行为
学科标识始终展示根据作业学科显示 2-4 字简称,如语文数学。只读,不可点击。
作业标题始终展示展示作业名称;标题过长时允许 2 行换行,不做中间截断。
来源标签有来源时展示仅作为标题后的附属标签展示,如教研院;无来源标签时不占位。
书名/教材行不展示本页不得出现书名标签、教材名称、版本、出版社等字段。参见 R64。
发布班级始终展示展示当前班级名称,只读,不提供班级切换。
发布时间始终展示展示发布时间,格式统一为 YYYY-MM-DD HH:mm:ss
提交情况始终展示展示 已提交人数/应提交人数,格式示例 1/45人;只读,不可点击。

统计摘要卡

区域/控件展示规则交互与系统行为
提交人数 指标块始终展示主值展示 submitted_count/total_student_count;仅作摘要展示,不支持点击。
未提交 x ↓始终展示点击进入 tm_submission_status.html?homework_id={homework_id}&homework_type=personal&class_id={class_id}&source_page=tm_report;即使 x=0 也保留入口,便于教师查看当前班级提交汇总。参见 R58、R63。
班级平均分 指标块始终展示主值展示 class_avg_score;辅助文案展示 最高分 {max_score} · 最低分 {min_score}。无已批改成绩时,主值和辅助文案均展示 ,不以 0 占位。

页签切换区

区域/控件展示规则交互与系统行为
作业分析 页签始终展示点击切换到分析页签,页签高亮,页面不整页跳转;如该页签数据尚未加载,则首次切换时触发加载。
错题分析 页签始终展示点击切换到错题分析页签,保留其他页签已选条件,不重置本页已加载数据。
学生学情 页签始终展示点击切换到学生学情页签,并显示姓名搜索框;再次切走时隐藏搜索框,但保留搜索关键词。

搜索区

区域/控件展示规则交互与系统行为
学生姓名搜索框学生学情 页签展示占位文案固定为 请输入您要查找的学生姓名;教师输入后实时按姓名模糊匹配当前作业、当前班级的学生集合,清空关键词后恢复完整列表。搜索不改变原排序,不产生页面跳转。

作业分析页签

区域/控件展示规则交互与系统行为
学生评价分布 环形图有评价数据时展示正式图表;无数据时展示空态环形图按 A-E 5 档评价展示分布。圆心主文案展示占比最高档位的百分比,副文案展示如 A级占比最高。如多个档位并列最高,按 A→E 顺序取第一个最高档位展示。图表本身只读,不承接点击钻取。
学生评价分布 帮助图标区块标题处始终展示点击后展示轻提示 按 A-E 评级统计全班本次作业表现,点击空白区域关闭。
易错知识点雷达图有知识点数据时展示正式图表;无数据时展示空态依据当前已选知识点集合绘制雷达图。外圈表示当前已选知识点中错误率最高项,其余点按相对比例缩放。
选择知识点 ∨始终展示点击打开知识点 Bottom Sheet。初始文案为 选择知识点 ∨;教师完成一次确认后,按钮文案变为 选择知识点(N)∨。参见 R68。
雷达点位图表渲染完成后展示点击任一点位,显示深色 Tooltip,文案格式为 知识点名称 + 正确率 xx%;点击图表空白区域关闭 Tooltip。
易错知识点雷达图 帮助图标区块标题处始终展示点击后展示轻提示 越靠近外圈代表该知识点错题表现越明显,点击空白区域关闭。
题目前三错误率 列表有错题数据时展示最多 3 行;无数据时展示空态列表按 R65 排序后截取前 3 条。每行左侧展示最小颗粒度小题的缩略内容,右侧展示 错误率 xx%;不提供展开、排序切换、知识点标签和做错人数展示。
Top3 单行项有数据时逐行展示不承接点击,不跳转到其他页面;仅用于摘要浏览。题目缩略图缺失时,退化为题干文本片段。

错题分析页签

区域/控件展示规则交互与系统行为
排序 按钮页签激活时始终展示点击打开排序 Bottom Sheet。首次进入默认生效项为 错题率由高到低,按钮文案随已生效选项更新为 {排序文案} ∨
筛选 按钮页签激活时始终展示点击打开题型筛选 Bottom Sheet。首次进入默认生效项为 全部类型,按钮文案随已生效选项更新为 {题型文案} ∨
错题卡片列表有数据时展示;无数据时展示空态列表仅作用于当前作业、当前班级。筛选和排序变更后,列表立即刷新。
错题卡片摘要区每张卡片默认展示展示题目原文摘要和题型,右侧按钮初始文案为 ∨ 展开
∨ 展开 / ∧ 收起每张卡片固定展示点击后切换卡片详情区显示状态;展开时按钮文案变为 ∧ 收起,收起时恢复 ∨ 展开
错题卡片详情区卡片展开时展示展示参考答案、题目难度、错题人数、错误率、知识点。详情展示仅影响当前卡片,不联动其他卡片。
  • 错题列表加载策略:
    • 首屏加载当前结果集前 20 条错题卡片,触底后继续加载下一批 20 条。
    • 排序或筛选条件变化后,列表回到顶部并重新从第 1 批开始加载。
    • 卡片详情区按展开动作懒加载,避免首屏请求过大。

学生学情页签

区域/控件展示规则交互与系统行为
已提交学生卡片status=submitted 且已生成学生分析结果时展示可操作态展示学生姓名、正确率 xx%错题数 x批改时间查看作业报告、评价标签。
查看仅已提交且 analysis_ready=true 时可点击点击进入 tm_student_analysis.html?homework_id={homework_id}&student_id={student_id}&source_page=tm_report&from_tab=students,用于查看该学生题目批改结果。
作业报告仅已提交且 report_ready=true 时可点击点击进入 tm_student_report.html?homework_id={homework_id}&student_id={student_id}&source_page=tm_report&from_tab=students,用于查看该学生个人作业报告。
评价标签已提交学生固定展示文案格式为 评价 A/B/C/D/E,只读展示,不承接点击。
未提交学生卡片status=pending 时展示仅展示学生姓名、正确率 -错题数 -未提交状态文案;不展示查看作业报告、评价标签。参见 R67。
  • 学生列表加载策略:
    • 首屏加载 20 名学生卡片,触底后继续加载下一批 20 条。
    • 搜索关键词变化后,从结果集顶部重新展示匹配项。
    • 搜索范围覆盖当前作业、当前班级的全量学生集合,不限于当前屏幕已渲染卡片。

Bottom Sheet

区域/控件展示规则交互与系统行为
弹层标题弹层打开时展示知识点模式标题为 选择知识点(最多选择8个);排序模式标题为 排序;题型模式标题为 题型
选项列表弹层打开时展示知识点模式为多选;排序、题型模式为单选。点击列表项仅修改弹层内待确认状态,不立即刷新页面。
重置弹层打开时展示将当前弹层内待确认状态恢复为默认值:知识点恢复为默认推荐集合,排序恢复为 错题率由高到低,题型恢复为 全部类型;点击后不立即生效,需再点 确定
确定弹层打开时展示将当前待确认状态正式应用到页面,并关闭弹层。
取消弹层打开时展示关闭弹层,不应用任何变更。
遮罩关闭弹层打开时展示点击遮罩关闭弹层,行为同 取消

文案和按钮状态变化

  • 未提交人数入口文案固定为 未提交 {count} ↓,数值随当前班级提交状态实时刷新。
  • 知识点按钮默认展示 选择知识点 ∨;完成一次确认后展示 选择知识点(N)∨
  • 排序筛选按钮默认展示当前已生效选项,而不是通用文案;示例:错题率由高到低 ∨全部类型 ∨
  • 错题卡片详情展开前按钮文案为 ∨ 展开,展开后切换为 ∧ 收起
  • 学生学情页签激活时搜索框显示,切换到其他页签立即隐藏,但隐藏不代表清空关键词。
  • 未提交学生卡片不展示操作按钮;已提交但分析结果尚未生成时,查看作业报告 按钮保持可见禁用态,点击 Toast 提示 学生分析生成中,请稍后查看

页面跳转和返回逻辑

  • tm_list.html 进入:返回时回到 tm_list.html,并恢复列表页签、筛选条件、滚动位置。参见 R29。
  • tm_grading_list.html 进入:返回时回到原页签(待批改/已批改)和原滚动位置。
  • tm_grading.html 进入:返回时回到原学生、原页码,继续当前批改上下文。
  • 从本页下钻到 tm_student_report.htmltm_student_analysis.htmltm_submission_status.html 后返回:必须恢复本页的当前页签、搜索词、知识点选择、排序条件、题型筛选和对应页签滚动位置。参见 R66。
  • 本页内部切换 3 个页签时不修改页面路由,不产生新的浏览历史记录。

批量操作范围

  • 本页不支持批量批改、批量导出、批量评价、批量复制学生名单。
  • 知识点多选只影响雷达图展示范围,不修改任何批改结果、学生评价或知识点归因数据。
  • 排序题型筛选只作用于当前作业、当前班级的错题列表,不跨作业、不跨班级生效。
  • 学生学情页签中的查看作业报告均为单学生粒度操作,不支持多选后批量下钻。

弹层规格

弹层 1:知识点选择弹层

要素内容
触发条件点击 选择知识点 ∨
标题选择知识点(最多选择8个)
正文展示当前作业、当前班级的可分析知识点列表;默认选中系统推荐集合
主按钮确定 → 应用当前勾选的知识点集合,刷新雷达图与按钮文案
次按钮取消 → 关闭弹层,不更新雷达图
[x] 关闭点击遮罩关闭,行为同 取消

补充规则:

  • 最少保留 1 个知识点;若教师试图取消最后 1 个知识点,Toast 提示 至少选择1个知识点
  • 最多选择 8 个知识点;超出时 Toast 提示 最多选择8个知识点,并保持原勾选态。

弹层 2:排序弹层

要素内容
触发条件点击 排序 按钮
标题排序
正文单选项固定为 错题率由高到低错题率由低到高错题人数由多到少错题人数由少到多
主按钮确定 → 应用当前排序方式并刷新错题列表
次按钮取消 → 关闭弹层,不修改错题列表
[x] 关闭点击遮罩关闭,行为同 取消

弹层 3:题型筛选弹层

要素内容
触发条件点击 筛选 按钮
标题题型
正文单选项为 全部类型 + 当前作业实际存在的题型集合
主按钮确定 → 应用当前题型条件并刷新错题列表
次按钮取消 → 关闭弹层,不修改错题列表
[x] 关闭点击遮罩关闭,行为同 取消
  • 业务规则:R18、R29、R34、R52、R58、R63、R64、R65、R66、R67、R68。

异常描述

异常场景处理方式
检测到未完成上传任务不展示本页内容,直接跳转 tm_submit.html 继续上传;上传完成后再允许进入本页。参见 R34。
homework_idclass_id 或来源上下文缺失Toast 提示 未找到对应作业分析,并返回来源页;若来源页不可恢复,则返回 tm_list.html
报告尚未生成或正在计算中作业信息卡正常展示;统计摘要卡和各分析区块展示 数据生成中,请稍后查看 状态,不以 0 占位。
作业分析 页签某区块无数据对应区块展示独立空态:评价分布显示 暂无评价数据,雷达图显示 暂无知识点分析数据,Top3 显示 暂无错题数据;其他区块继续正常展示。
错题分析 页签筛选后无结果错题列表区域展示空态 暂无该题型错题,保留当前排序和筛选按钮文案,不自动回退到默认结果集。
学生学情 搜索无结果学生列表区域展示空态 未找到匹配的学生,保留当前关键词,支持继续修改。
知识点勾选超限或少于下限不关闭弹层,直接 Toast 提示 最多选择8个知识点至少选择1个知识点,并保持当前待确认状态。
已提交学生的个人分析结果尚未生成查看作业报告按钮保持禁用态,点击 Toast 提示 学生分析生成中,请稍后查看
页面分区接口局部失败失败区块展示错误态和 重试 按钮;已成功加载的区块不回滚、不清空。

数据需求

  • 接口:
    • 页面基础信息接口:返回 homework_idhomework_typeclass_idsubject_codesubject_namehomework_namesource_labelpublish_timeclass_namesubmitted_counttotal_student_countunsubmitted_countclass_avg_scoremax_scoremin_score
    • 评价分布接口:返回 A-E 五档评价人数与占比。
    • 知识点雷达接口:返回知识点集合、正确率、错误率、默认推荐勾选状态。
    • Top3 错题接口:返回最小颗粒度小题列表、缩略图地址/文本片段、错误率、做错人数、题目顺序。
    • 错题列表接口:支持排序、题型筛选,返回题目原文、题型、答案、难度、错题人数、错误率、知识点。
    • 学生学情列表接口:返回学生姓名、提交状态、正确率、错题数、批改时间、评价等级、report_readyanalysis_ready
  • 请求参数:
    • 公共参数:homework_idhomework_typeclass_idsource_pagetab
    • 雷达图参数:knowledge_ids[]
    • 错题列表参数:sort_bysort_orderquestion_typepage_nopage_size
    • 学生列表参数:keywordpage_nopage_size
  • 返回字段建议:
    • Top3 错题需包含 sub_question_idparent_question_idquestion_preview_image_urlquestion_preview_textwrong_ratewrong_countquestion_ordersub_question_order,用于保证 R65 排序和展示口径。
    • 学生列表需包含 student_idstudent_namestatus(submitted/pending)accuracy_ratewrong_countreview_timeevaluationreport_readyanalysis_ready
    • 知识点列表需包含 knowledge_idknowledge_nameaccuracy_ratewrong_rateis_default_selected
  • 页面状态缓存:
    • tm_report_context 至少保存 homework_idclass_idsource_pageactive_tabstudent_keywordselected_knowledge_idssort_optionquestion_type_filteranalysis_scroll_toperrors_scroll_topstudents_scroll_top,用于页内切换和下钻返回恢复。参见 R66。
  • 埋点:
    • 页面浏览:tm_report_view,记录 homework_idhomework_typeclass_idsource_pagedefault_tab
    • 页签切换:tm_report_tab_click,记录 from_tabto_tab
    • 未提交入口点击:tm_report_unsubmitted_click,记录 homework_idclass_idunsubmitted_countsource_page=tm_report
    • 知识点弹层过程:tm_report_knowledge_sheet_opentm_report_knowledge_sheet_confirmtm_report_knowledge_sheet_resettm_report_knowledge_sheet_cancel,记录所选知识点数量和知识点 ID 集合。
    • 雷达点位点击:tm_report_radar_point_click,记录 knowledge_idknowledge_nameaccuracy_ratewrong_rate
    • 排序与筛选:tm_report_sort_confirmtm_report_filter_confirm,记录当前页签、排序项、题型项。
    • 错题卡片交互:tm_report_error_card_toggle,记录 question_idexpanded
    • 学生搜索:tm_report_student_search,记录 keywordresult_count
    • 学生下钻:tm_report_student_analysis_clicktm_report_student_report_click,记录 student_idstatusactive_tab=students
当前这页已经是“原型 + 页面 PRD”评审工作台。跨页面规则请维护在总览 / 全局规则文档,页面细节请直接维护右侧页面 PRD。
Review Workspace - Prototype + Page PRD