教师小程序 / 选择作业本
周策 老师
Prototype

教师小程序 · 选择作业本

校验教辅作业选择链路与回填行为。

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

选择对应的作业本

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

当前对照重点: 选择作业本
Review Hint

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

选择对应的作业本

页面元信息

  • 终端:教师小程序
  • 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防抖触发查询;点击键盘搜索键时立即触发查询。
        • 清空规则:当教师清空输入框后,立即恢复当前默认结果集,不依赖重新进入页面。
      • 筛选按钮:
        • 默认态:黑灰色图标+文案筛选
        • 本期规则:按钮仅保留视觉占位,不打开筛选 Bottom Sheet、不触发新页面跳转、不改变当前列表结果。参见 R47。
    • 教辅列表区:
      • 列表加载:
        • 首次进入页面时展示卡片骨架屏,骨架结构与教辅卡片布局一致。
        • 真实实现按“首屏20条 + 下拉续载20条”处理,避免一次性加载全部教辅。
        • 触底加载失败时保留已加载数据,在列表底部展示加载失败,点击重试
      • 卡片元素:
        • 封面区:展示教辅封面;如命中推荐资源,可在封面底部展示推荐基础性作业等推荐标签。
        • 标题区:展示教辅名称,超出2行省略。
        • 信息区:展示出版社、配套教材、日期;不展示与个性化作业相关的班级、页数、题数等字段。
        • 选择按钮:每张卡片均展示;点击后按钮文案立即切换为已选,按钮变灰并禁用,约 400ms 后返回 tm_submit.html?tab=paper&selected={教辅名称}。参见 R49。
        • 单选范围:本页一次仅允许带回1本教辅,不支持多选勾选、批量确认或一次带回多本教辅。参见 R49。
  • 页面跳转与返回逻辑:
    • 本页仅承接“选择纸质教辅”动作,不承担教辅详情查看、章节浏览、批改、分析等跳转。
    • 点击选择返回提交页后,提交页需至少恢复并展示以下信息:book_idbook_namesubject_namepublisher_nametextbook_version
    • 提交页底部提交按钮的可用性仍由 tm_submit.html 统一控制:只有“已选教辅 + 至少1张照片”同时满足时才可提交。参见 R02、R03。
    • 若从本页返回提交页时存在未完成上传任务,仍以提交页的上传恢复逻辑优先,不允许本页覆盖恢复中的教辅上下文。参见 R07、R32、R48。
  • 批量操作范围:
    • 本页不支持批量勾选多个教辅、不支持批量确认、不支持批量带回提交页。
    • 本页不存在筛选多选、批量比对或批量移除能力,教师每次只能完成1次教辅对象确认。
  • 业务规则:R03、R18、R47、R48、R49。

异常描述

  • 教辅列表加载失败:页面主体展示错误占位,文案为教辅列表加载失败,请稍后重试,并提供重试按钮;顶部导航栏和搜索区仍保留可见。
  • 教师权限范围内无可选教辅:首次进入即返回空列表时,展示空状态文案当前暂无可选择的教辅;仍保留搜索框和返回入口。
  • 搜索无结果:列表区隐藏,展示空状态文案未找到匹配的教辅;保留当前关键词,不自动回退默认结果集。
  • 教师点击选择时教辅已被下线、删除或权限失效:点击后先执行可用性校验;若接口返回失败,按钮不切换为已选,页面停留当前页,Toast 提示当前教辅已不可选择,请重新选择
  • 网络中断:搜索、续载或选择校验请求失败时,Toast 提示网络连接异常,请检查后重试,不清空当前列表和关键词。
  • 返回上下文恢复失败:若从本页返回提交页时未能恢复原提交上下文,提交页需提示未恢复到上次选择,请重新选择教辅,并保留当前页签在纸质教辅作业,避免误切到个性化作业。

数据需求

  • 接口:
    • 教辅列表接口:入参包含 teacher_idschool_idsubject_codekeywordpage_nopage_size;出参返回 book_idbook_namesubject_namepublisher_nametextbook_versioncover_urlupdated_atrecommend_tag
    • 教辅可用性校验接口:用于在点击选择时校验当前教辅是否仍可用于本次提交。
    • 教辅摘要接口:根据 book_id 获取提交页回填所需的摘要信息。
  • 状态与缓存:
    • 页面需维护 keywordpage_nosource_page=tm_submittab=paper 和当前 submit_context_id,确保返回提交页后不丢失已拍图片与上下文。
    • 提交页正式实现需优先基于 book_id 回填教辅对象;若采用 URL 参数回传,仅可将名称作为展示辅助字段,不能作为唯一主键。
    • 本页不新增筛选字典缓存,筛选按钮仅保留视觉位。参见 R47。
  • 埋点:
埋点事件触发时机关键参数
tm_book_select_view页面首屏渲染完成source_pagetab=paper
tm_book_select_search输入关键词并触发搜索时keywordresult_count
tm_book_select_load_more列表触底续载时page_noloaded_count
tm_book_select_choose点击选择按钮时book_idbook_namesubject_name
tm_book_select_back点击返回箭头离开页面时has_selected_bookhas_photos
当前这页已经是“原型 + 页面 PRD”评审工作台。跨页面规则请维护在总览 / 全局规则文档,页面细节请直接维护右侧页面 PRD。
Review Workspace - Prototype + Page PRD