选择对应的作业本
页面元信息
- 终端:教师小程序
- Astro 路由:
/teacher-mp/select-book - 原始 HTML:
tm_select_book.html - 来源章节:
4.3.3 - 维护规则:后续以本页面 PRD 为准;若改动影响通用规则,再同步总览 / 全局规则文档。
本版范围说明
- 纸质教辅作业选择页继续沿用现有功能,本节仅补齐教师小程序统一提交流程中的入口、返回、回填和异常规则。
- 个性化作业的新增详细规格已在
4.3.4 选择个性化作业(tm_select_personal.html)展开,本节不再重复描述其筛选和多状态规则。
视觉描述
- 原型引用:
产出文档/作业管理模块/原型图/tm_select_book.html。 - 页面采用教师小程序单列卡片布局,自上而下分为导航栏、搜索与筛选条、教辅列表区3个层级;头部背景为浅蓝到浅灰渐变,内容区为白底圆角卡片。
- 顶部导航栏左侧为返回图标,中间标题固定为
选择对应的作业本,右侧仅做居中占位,不提供额外操作。 - 搜索与筛选条左侧为胶囊型搜索框,placeholder 文案为
请输入您要查找的内容;右侧展示图标+文字组合按钮筛选。当前原型未提供筛选弹层,按钮仅保留视觉位。 - 教辅列表区为单列卡片流。每张卡片左侧展示教辅封面或封面占位图,封面可叠加推荐标签;右侧展示教辅名称、出版社/配套教材、日期信息,右下角为主按钮
选择。 选择按钮默认蓝色渐变样式;点击后按钮即时切换为灰色禁用态已选。
功能描述
- 页面入口与默认态:
- 页面入口:教师在
tm_submit.html切换到纸质教辅作业页签后,点击对应的作业本卡片进入本页。 - 返回入口:点击左上角返回图标,回到
tm_submit.html?tab=paper。 - 返回保留策略:若教师只是进入本页浏览或搜索但未重新点击
选择,返回后提交页必须保留进入前已选教辅、已拍照片和当前页签;不允许因为进入选择页而清空提交上下文。参见 R48。 - 默认加载范围:仅加载当前教师权限范围内可见的纸质教辅列表,至少按学校、任教学科、教材权限做数据隔离。参见 R18。
- 默认排序:本页延续现有教辅检索与推荐链路,不新增用户可见排序控件;列表按“推荐优先 + 最近更新优先”返回。参见 R47。
- 页面入口:教师在
- 页面分区与控件交互:
- 导航栏:
- 左侧返回图标:点击后直接返回提交页纸质教辅作业页签,不触发二次确认弹窗;是否保留已选内容由提交页上下文恢复逻辑承接。
- 中间标题:固定展示
选择对应的作业本,不随搜索状态变化。 - 右侧占位:仅用于保持标题居中,不响应点击。
- 搜索与筛选条:
- 搜索框:
- 文案:placeholder 为
请输入您要查找的内容。 - 检索范围:按教辅名称、出版社、配套教材做关键词模糊匹配;关键词仅作用于当前教师权限内的教辅结果集。
- 触发规则:输入关键词后300ms防抖触发查询;点击键盘搜索键时立即触发查询。
- 清空规则:当教师清空输入框后,立即恢复当前默认结果集,不依赖重新进入页面。
- 文案:placeholder 为
筛选按钮:- 默认态:黑灰色图标+文案
筛选。 - 本期规则:按钮仅保留视觉占位,不打开筛选 Bottom Sheet、不触发新页面跳转、不改变当前列表结果。参见 R47。
- 默认态:黑灰色图标+文案
- 搜索框:
- 教辅列表区:
- 列表加载:
- 首次进入页面时展示卡片骨架屏,骨架结构与教辅卡片布局一致。
- 真实实现按“首屏20条 + 下拉续载20条”处理,避免一次性加载全部教辅。
- 触底加载失败时保留已加载数据,在列表底部展示
加载失败,点击重试。
- 卡片元素:
- 封面区:展示教辅封面;如命中推荐资源,可在封面底部展示
推荐基础性作业等推荐标签。 - 标题区:展示教辅名称,超出2行省略。
- 信息区:展示出版社、配套教材、日期;不展示与个性化作业相关的班级、页数、题数等字段。
选择按钮:每张卡片均展示;点击后按钮文案立即切换为已选,按钮变灰并禁用,约 400ms 后返回tm_submit.html?tab=paper&selected={教辅名称}。参见 R49。- 单选范围:本页一次仅允许带回1本教辅,不支持多选勾选、批量确认或一次带回多本教辅。参见 R49。
- 封面区:展示教辅封面;如命中推荐资源,可在封面底部展示
- 列表加载:
- 导航栏:
- 页面跳转与返回逻辑:
- 本页仅承接“选择纸质教辅”动作,不承担教辅详情查看、章节浏览、批改、分析等跳转。
- 点击
选择返回提交页后,提交页需至少恢复并展示以下信息:book_id、book_name、subject_name、publisher_name、textbook_version。 - 提交页底部
提交按钮的可用性仍由tm_submit.html统一控制:只有“已选教辅 + 至少1张照片”同时满足时才可提交。参见 R02、R03。 - 若从本页返回提交页时存在未完成上传任务,仍以提交页的上传恢复逻辑优先,不允许本页覆盖恢复中的教辅上下文。参见 R07、R32、R48。
- 批量操作范围:
- 本页不支持批量勾选多个教辅、不支持批量确认、不支持批量带回提交页。
- 本页不存在筛选多选、批量比对或批量移除能力,教师每次只能完成1次教辅对象确认。
- 业务规则:R03、R18、R47、R48、R49。
异常描述
- 教辅列表加载失败:页面主体展示错误占位,文案为
教辅列表加载失败,请稍后重试,并提供重试按钮;顶部导航栏和搜索区仍保留可见。 - 教师权限范围内无可选教辅:首次进入即返回空列表时,展示空状态文案
当前暂无可选择的教辅;仍保留搜索框和返回入口。 - 搜索无结果:列表区隐藏,展示空状态文案
未找到匹配的教辅;保留当前关键词,不自动回退默认结果集。 - 教师点击
选择时教辅已被下线、删除或权限失效:点击后先执行可用性校验;若接口返回失败,按钮不切换为已选,页面停留当前页,Toast 提示当前教辅已不可选择,请重新选择。 - 网络中断:搜索、续载或选择校验请求失败时,Toast 提示
网络连接异常,请检查后重试,不清空当前列表和关键词。 - 返回上下文恢复失败:若从本页返回提交页时未能恢复原提交上下文,提交页需提示
未恢复到上次选择,请重新选择教辅,并保留当前页签在纸质教辅作业,避免误切到个性化作业。
数据需求
- 接口:
- 教辅列表接口:入参包含
teacher_id、school_id、subject_code、keyword、page_no、page_size;出参返回book_id、book_name、subject_name、publisher_name、textbook_version、cover_url、updated_at、recommend_tag。 - 教辅可用性校验接口:用于在点击
选择时校验当前教辅是否仍可用于本次提交。 - 教辅摘要接口:根据
book_id获取提交页回填所需的摘要信息。
- 教辅列表接口:入参包含
- 状态与缓存:
- 页面需维护
keyword、page_no、source_page=tm_submit、tab=paper和当前submit_context_id,确保返回提交页后不丢失已拍图片与上下文。 - 提交页正式实现需优先基于
book_id回填教辅对象;若采用 URL 参数回传,仅可将名称作为展示辅助字段,不能作为唯一主键。 - 本页不新增筛选字典缓存,
筛选按钮仅保留视觉位。参见 R47。
- 页面需维护
- 埋点:
| 埋点事件 | 触发时机 | 关键参数 |
|---|---|---|
tm_book_select_view | 页面首屏渲染完成 | source_page、tab=paper |
tm_book_select_search | 输入关键词并触发搜索时 | keyword、result_count |
tm_book_select_load_more | 列表触底续载时 | page_no、loaded_count |
tm_book_select_choose | 点击选择按钮时 | book_id、book_name、subject_name |
tm_book_select_back | 点击返回箭头离开页面时 | has_selected_book、has_photos |