学生题目查看
页面元信息
- 终端:教师小程序
- Astro 路由:
/teacher-mp/student-analysis - 原始 HTML:
tm_student_analysis.html - 来源章节:
4.3.11 - 维护规则:后续以本页面 PRD 为准;若改动影响通用规则,再同步总览 / 全局规则文档。
视觉描述
- 原型引用:
产出文档/作业管理模块/原型图/tm_student_analysis.html。 - 页面为教师小程序单学生题目查看页,自上而下固定包含
导航栏、卷面查看区、页级工具条、题目查看抽屉4个层级;页面为只读分析模式,不展示保存、批改、一键全对等编辑操作区。 - 顶部导航栏左侧为返回图标,中间标题展示当前学生姓名,右侧为小程序胶囊占位。导航栏不展示作业标题、班级、分数、评价等级等辅助信息。
- 卷面查看区采用灰底查看层承载当前学生当前作业的当前页原卷,卷面上叠加左右翻页箭头和题目热区;命中题目后对应热区显示高亮边框和题号角标。
- 页级工具条固定贴在卷面底部,包含左侧
提交记录、中部放大/缩小、右侧第N页页码指示;第N页为只读文本,不提供页码输入或快捷跳页。 - 底部
题目查看抽屉默认收起,点击卷面题目热区后自底部上滑展开;抽屉头部左侧固定标题题目查看,右侧为勾选项只看错题;抽屉内容区依次展示题目摘要、题目类型、各小题得分结果和参考答案。 - 当勾选
只看错题且当前页无任何错题时,卷面区展示空态文案暂无错题,已全部掌握;抽屉保持收起,不展示旧题目详情。 - 学生原卷顶部标题、卷面渲染区及其任何附属标签位均不展示来源标签
教研院;即使后端返回该字段,前端也不得渲染,也不得保留空白标签占位。参见 R56。
功能描述
页面入口
- 入口一:教师在
tm_report.html的学生学情页签中,点击某个已提交且已生成分析结果学生卡片的查看按钮进入本页,必须透传homework_id、homework_type、class_id、student_id、source_page=tm_report、from_tab=students。仅status=submitted且analysis_ready=true的学生允许进入。参见 R67。 - 入口二:教师在本页点击
提交记录进入tm_grading_history.html后,再从记录页返回本页时,应恢复离开前的学生、页码、所选提交记录与查看状态。 - 本期不开放从
tm_student_report.html、tm_list.html、tm_grading_list.html直接进入本页的正式入口,避免脱离“当前作业 + 当前学生”的分析上下文。
页面范围与默认加载
- 本页统计与展示范围固定为
当前作业 + 当前学生,仅承接题目结果查看,不提供班级切换、学生切换、题目批改或结果改写。 - 页面首次加载必须基于
homework_id + student_id拉取当前学生题目分析详情,返回当前页页码、页数、原卷、题目热区、题目结果、当前页可用提交记录列表。若存在来源页缓存上下文,则优先恢复current_page_no、current_submission_id、only_wrong、zoom_ratio、active_question_id。 - 默认展示当前学生的第1页;若服务端返回
default_page_no、来源页缓存记录了最近查看页,或从tm_grading_history.html回传了有效current_page_no,则按“回传值 > 缓存值 > 服务端默认值 > 第1页”的优先级恢复。 - 页面返回
tm_report.html时,必须恢复来源页的students页签、学生姓名搜索关键词、滚动位置以及来源页已生效的筛选状态;若来源上下文失效,则降级返回tm_report.html?tab=students。参见 R66。
页面分区与控件交互
- 本页按
导航栏、卷面查看区、页级工具条、题目查看抽屉4个交互分区展开说明。
导航栏
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 左侧返回 | 始终展示 | 点击后返回 tm_report.html 的students页签,并恢复来源页搜索关键词、滚动位置和已生效筛选;若 source_page 或缓存上下文缺失,则降级返回 tm_report.html?tab=students。参见 R66。 |
| 学生姓名标题 | 始终展示 | 固定展示 student_name;不随页码、提交记录、只看错题状态变化。 |
| 右侧胶囊占位 | 始终展示 | 不承接业务点击,不触发页面跳转,不参与埋点。 |
卷面查看区
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
| 当前页原卷 | 始终展示 | 展示 current_page_no 对应的原卷图片或渲染结果;页码切换、提交记录切换后立即刷新当前页卷面内容与题目热区。 |
| 左右翻页箭头 | 当 page_count > 1 时展示 | 点击左箭头切换到上一页,点击右箭头切换到下一页;到达首页/末页时对应箭头保留可见但置灰不可用。切页后关闭当前已展开的题目查看抽屉,清空当前高亮题目,并将提交记录查询范围重置为新页。 |
| 题目热区 | 当前页存在可分析题目时展示 | 点击某个热区后高亮该题并展开题目查看抽屉;再次点击同题热区仅保持当前高亮,不重复刷新抽屉。点击卷面空白区域时收起抽屉并取消高亮。 |
| 热区角标 | 热区高亮时展示 | 常态隐藏,仅高亮题目时显示第N题角标;勾选只看错题后,角标序号按过滤后的当前页可见题目顺序重新编号。 |
页级工具条
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
提交记录 | 始终展示 | 点击进入 tm_grading_history.html,并透传 homework_id、student_id、status=graded、current_page_no、current_submission_id、source_page=tm_student_analysis。提交记录查询范围仅限当前页;若要查看其他页记录,必须先切换到对应页,再点击本按钮进入。参见 R54。 |
放大 | 始终展示 | 以 10% 为步长放大卷面;与手势缩放共用同一 zoom_ratio 状态。达到最大值 200% 后按钮保留可见但点击无效。 |
缩小 | 始终展示 | 以 10% 为步长缩小卷面;达到最小值 50% 后按钮保留可见但点击无效。 |
第N页 | 始终展示 | 只读展示当前页码;随翻页即时更新,不支持点击跳页。 |
- 缩放与手势规则:
- 双指缩放:教师可在卷面区域使用双指捏合进行放大、缩小;缩放范围固定为 50%-200%,与按钮缩放边界一致。参见 R55。
- 单指长按拖移:教师单指在卷面上长按 300ms 后进入拖移模式,仅允许上下滑动拖移当前页内容;释放手指即退出拖移模式。普通单击不进入拖移模式,避免与题目热区点击冲突。参见 R55。
- 手势优先级:长按拖移期间不触发题目热区点击;双指缩放期间不触发左右翻页;手势结束后恢复普通点击能力。
题目查看抽屉
| 区域/控件 | 展示规则 | 交互与系统行为 |
|---|---|---|
标题 题目查看 | 抽屉展开时始终展示 | 固定文案,不随选中题目标题变化。 |
只看错题 勾选项 | 抽屉头部始终展示 | 勾选后立即按“当前页题目结果”进行本地过滤,仅保留至少存在1个错或半对判定的小题;取消勾选后恢复当前页全量题目。切换时不重新进入其他页面。 |
| 题目摘要 | 选中题目后展示 | 展示当前题目的分区标题和题干摘要;当摘要存在长文本时默认收起为2行,点击∨ 展开切换为完整显示,再次点击变为∧ 收起。 |
| 题型说明 | 当题目存在题型信息时展示 | 展示当前题目或题目卡片的题型,如填空题、单选题;只读,不可点击。 |
| 结果卡片 | 选中题目后展示 | 按题目卡片顺序展示每个小题结果。每个结果项至少包含状态标签、得分、参考答案;仅展示查看信息,不展示AI批改、评对错、打分等编辑控件。 |
| 状态标签 | 每个结果项固定展示 | 根据批改结果展示 √、❌、▲ 3种状态;其中 ▲ 代表半对,半对在只看错题模式下按错题处理。 |
| 参考答案区 | 每个题目卡片底部展示 | 固定展示标准答案或参考答案,文案前缀为 参考答案:;只读,不支持复制或跳转。 |
只看错题联动规则:- 错题判定口径为:当前题目下任一小题的
judge_result为wrong或half,则该题属于错题;全部小题均为correct时,该题不属于错题。 - 勾选
只看错题后,卷面区只渲染错题热区与错题内容;已被过滤掉的正确题不保留占位,不显示空白题位。 - 若教师勾选时当前已打开的题目在过滤后不再可见,系统需立即关闭抽屉、取消热区高亮,并将抽屉内容重置为
请选择题目查看批改结果。 - 当过滤结果为空时,卷面区展示
暂无错题,已全部掌握空态,抽屉保持收起;取消勾选后恢复当前页全量题目与热区。
- 错题判定口径为:当前题目下任一小题的
文案和按钮状态变化
- 页面标题始终为当前学生姓名,不会随题目切换变成“第1题”“错题查看”等变体。
第N页文案随页码即时变化;翻页后提交记录查询范围同步切换为新页,当前确认的submission_id若不属于新页,则自动重置为新页最新一条提交记录。只看错题未勾选时,抽屉右侧文案保持只看错题,复选框为空;勾选后复选框进入选中态,不额外增加二次确认。- 当题目摘要处于收起态时,切换按钮文案为
∨ 展开;展开后文案变为∧ 收起。 放大、缩小按钮始终展示;到达缩放边界后不隐藏,仅点击无效。提交记录按钮始终展示;即使当前页只有1条记录,仍允许进入记录页查看当前记录。
页面跳转和返回逻辑
- 点击来源页
tm_report.html学生卡片中的查看按钮进入本页时,来源页必须保留students页签、搜索关键词、滚动位置与已生效筛选状态。参见 R66。 - 点击导航返回后:
- 若存在有效来源上下文,则回到
tm_report.html的学生学情页签; - 恢复离开前的学生搜索关键词、滚动位置、已生效筛选状态;
- 不重置学生列表结果集。参见 R66。
- 若存在有效来源上下文,则回到
- 点击
提交记录后进入tm_grading_history.html;记录页返回时,本页必须恢复原学生、原页码、原缩放比例、只看错题状态、当前选中题目和已确认选中的submission_id,并按返回值刷新卷面。 - 本页不提供跳转
tm_student_report.html、tm_error_analysis.html、tm_grading.html的按钮;教师若需查看其他分析页,需先返回来源页后再通过来源页既有入口进入。
批量操作范围
-
本页不支持批量操作,不提供批量批改、批量确认、批量导出、批量复制、批量切换学生。
-
只看错题的作用范围仅为“当前学生 + 当前页”的题目显示结果,不跨页、不跨学生、不跨作业。 -
题目抽屉中的展开/收起、热区切换、提交记录切换仅影响当前学生当前页的查看上下文,不改写任何批改结果。
-
业务规则:R18、R52、R54、R55、R56、R66、R67。
异常描述
| 异常场景 | 处理方式 |
|---|---|
homework_id 或 student_id 缺失/失效 | Toast 提示 未找到对应学生分析,随后返回来源页;若无有效来源页,则返回 tm_report.html?tab=students。 |
| 页面首次加载失败 | 页面主体展示错误态和 重试 按钮;点击 重试 重新请求题目分析接口,导航返回仍可使用。 |
| 当前页原卷加载失败 | 卷面区展示错误态和 重试 按钮;提交记录、返回按钮仍可使用,抽屉和题目热区不可用。 |
| 当前页无可分析题目 | 保留卷面查看区和页级工具条;点击卷面不展开抽屉,抽屉默认提示 请选择题目查看批改结果。 |
勾选只看错题后当前页无错题 | 卷面区展示空态文案 暂无错题,已全部掌握;抽屉自动收起,取消勾选后恢复全量题目。 |
| 当前页题目结果为空或结果接口局部缺失 | 已返回的题目结果正常展示;缺失题目不展示状态标签和得分,抽屉对应区域显示 暂无批改结果,不得用 0 分强行补齐。 |
| 当前页提交记录为空 | 点击 提交记录 后进入 tm_grading_history.html 空态,并提示 当前页暂无提交记录;不自动切换到其他页记录。 |
| 记录切换后分析结果同步延迟 | 页面继续展示最近一次成功同步的题目结果;教师重新进入本页或从记录页返回时,如服务端已有新结果,则按最新保存时间覆盖旧数据。参见 R52。 |
| 缩放超出边界 | 达到 50% 或 200% 后停止继续缩放;按钮点击无效,手势缩放回弹到边界值。 |
| 教师无权限查看该学生数据 | Toast 提示 您暂无权限查看该学生分析,并返回来源页;不得泄露学生姓名、分数、原卷等内容。参见 R18。 |
数据需求
- 接口:
- 学生题目分析详情接口:根据
homework_id + student_id + current_page_no返回学生信息、页数、默认页码、当前页原卷、题目热区、题目结果、题型和摘要信息。 - 当前页提交记录接口:根据
homework_id + student_id + current_page_no返回当前页可查看的提交记录列表及默认记录。 - 提交记录回查接口:根据
submission_id + current_page_no返回当前页当前记录对应的原卷与题目结果快照,用于从tm_grading_history.html返回后刷新本页内容。
- 学生题目分析详情接口:根据
- 请求参数:
homework_idhomework_typeclass_idstudent_idcurrent_page_nocurrent_submission_idsource_page=tm_report|tm_grading_historyfrom_tab=students
- 返回字段建议:
- 页面上下文:
homework_id、homework_name、student_id、student_name、class_id、class_name、page_count、default_page_no、current_page_no、current_submission_id - 卷面维度:
paper_image_url/render_payload、zoom_ratio_default、source_label - 热区维度:
question_id、question_order、hotzone、section_title、question_summary、question_type - 题目结果维度:
cards[].card_id、cards[].card_title、cards[].type、items[].item_id、items[].label、items[].judge_result(correct/wrong/half)、items[].score、items[].max_score、items[].student_answer、reference_answer - 当前页提交记录:
submission_id、submission_label、submit_time、page_no
- 页面上下文:
- 字段约束:
judge_result=half在页面上展示为▲,并在只看错题模式下按错题口径参与过滤。question_order必须返回当前页原始题序,用于热区定位;前端在只看错题模式下可按过滤后展示顺序重绘高亮角标,但不得打乱题目在卷面中的实际位置。source_label如返回教研院,仅允许用于日志透传或调试,前端不得在学生原卷顶部标题、卷面渲染区、导航栏或抽屉中渲染,也不得预留标签占位。参见 R56。- 当前页提交记录接口只返回
current_page_no对应的记录集合,不得混入其他页记录。参见 R54。
- 页面状态缓存:
tm_student_analysis_context至少保存source_page、from_tab、homework_id、student_id、current_page_no、current_submission_id、zoom_ratio、only_wrong、active_question_id、source_search_keyword、source_scroll_top、updated_at,用于与tm_grading_history.html往返和返回tm_report.html时恢复上下文。参见 R66。
- 埋点:
- 页面浏览:记录
source_page、from_tab、homework_id、student_id、默认页码、默认提交记录 - 卷面操作:记录翻页、热区点击、卷面空白关闭抽屉、放大/缩小按钮点击、双指缩放、长按拖移
- 抽屉交互:记录抽屉展开/收起、摘要展开/收起、
只看错题勾选/取消、过滤后题目数量 - 提交记录入口:记录点击
提交记录、从记录页返回后的submission_id变化
- 页面浏览:记录