{
  "schema_version": "2.0",
  "product": "英语默写AI版",
  "handoff_version": "0.12.3",
  "date": "2026-10-13",
  "id": "D",
  "page_id": "D",
  "name": "练习首页Tab",
  "module": "首页Tab",
  "purpose": "练习首页主卡课文跟读与六种单词闯关，全部接入08～14本轮详细设计。",
  "entry": {
    "from": [
      "B/C/D/E 底部 Tab",
      "独立原型或人类画布的预览入口",
      "A-3 从本页选择/更换课本后返回"
    ],
    "preconditions": [
      "已进入登录后首页区域；首次登录先进入 B，未选课本可浏览各 Tab。",
      "预览入口可独立进入；不执行真实认证。"
    ],
    "rule_status": "confirmed",
    "source": "用户本轮确认登录后先首页、课本后选；原 UE 四 Tab；指定 UI 示意。"
  },
  "ui_elements": [
    {
      "id": "D.title",
      "type": "heading",
      "label": "AI 练习",
      "description": "沿指定 UI 标题，交付模块统一首页Tab。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.current-book",
      "type": "button",
      "label": "当前课本 / 选课本",
      "description": "顶部显示共用课本，空时引导选课本。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.text-reading",
      "type": "button",
      "label": "课文跟读",
      "description": "课本同步，先选课文、挑内容，再进入共用朗读流程。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.word-games",
      "type": "section",
      "label": "单词闯关",
      "description": "六张插画卡固定顺序：看英选中、看中选英、听音选义、中英连线、读单词、字母填空。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.en-to-zh",
      "type": "button",
      "label": "看英选中 · 认词义",
      "description": "旧 UE 看英选中入口的 UI 标签。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.zh-to-en",
      "type": "button",
      "label": "看中选英 · 认拼写",
      "description": "旧 UE 看中选英入口的 UI 标签。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.listen-to-zh",
      "type": "button",
      "label": "听音选义 · 练听力",
      "description": "承接旧 UE 听英选中；不新增未经确认的题型。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.match",
      "type": "button",
      "label": "中英连线 · 巩固词义",
      "description": "承接旧 UE 中英配对；连线具体答题交互仍待确认。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.read",
      "type": "button",
      "label": "读单词 · AI 纠发音",
      "description": "将旧 UE 单词朗读发音评测保留为此卡。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.letter-fill",
      "type": "button",
      "label": "字母填空 · 练拼写",
      "description": "候选字母池点选或拖入，整单元后挑词，接D-19及共用客观报告。",
      "rule_status": "confirmed"
    },
    {
      "id": "D.tabs",
      "type": "navigation",
      "label": "默写单 / 听写 / 练习 / 我的",
      "description": "练习激活，四 Tab 在本包直接互通。",
      "rule_status": "confirmed"
    }
  ],
  "data_source": [
    {
      "name": "共用教材词库与课本档案",
      "data": [
        "当前课本",
        "单元和词条",
        "词义/拼写/音频"
      ],
      "contract_status": "pending",
      "rule_status": "confirmed",
      "source": "原 UE D：题目从课本词库生成。"
    },
    {
      "name": "朗读发音评测服务",
      "data": [
        "音频采集",
        "评测结果",
        "发音建议"
      ],
      "contract_status": "pending",
      "rule_status": "confirmed",
      "source": "原 UE D 单词朗读需接语音评测。"
    },
    {
      "name": "新增课文与填空内容",
      "data": [
        "课文分句/音源",
        "句段评分",
        "缺字题及答案"
      ],
      "contract_status": "pending",
      "rule_status": "pending",
      "source": "UI 新内容，旧 UE D 首页无句段/缺字规格。"
    }
  ],
  "data_model": [
    {
      "id": "currentTextbookId",
      "type": "string|null",
      "description": "B/C/D 共用当前课本；新用户可为空，不默认指定。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "textbookSetup",
      "type": "selected|skipped|unstarted",
      "description": "登录后均先到 B；该概念保留选书/跳过状态，不能再用来强制登录后进入 A-3。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "pendingAction",
      "type": "string|null",
      "description": "教材入口缺书时传原目标，只保留上下文；选书保存回来源首页，不自动打开二级业务。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "source",
      "type": "B|C|D",
      "description": "A-3 保存/取消回到发起选书的首页，来源值按演示路由传递。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "mode",
      "type": "text|read|en-to-zh|zh-to-en|listen-to-zh|match|fill",
      "description": "七模块入口保持玩法类型，统一准备／报告保留来源",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "textReadingAvailable",
      "type": "boolean|unknown",
      "description": "本轮流程已设计，正式教材及服务内容的可用性由服务端配置",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "letterFillAvailable",
      "type": "boolean|unknown",
      "description": "本轮流程已设计，正式教材及服务内容的可用性由服务端配置",
      "rule_status": "proposed",
      "contract_status": "pending"
    }
  ],
  "interactions": [
    {
      "id": "D-I-01",
      "trigger": "点击顶部当前课本 / 选课本",
      "condition": "有书或无书均可点击",
      "effect": "进入共用选课本页并保留来源",
      "destination": "A-3",
      "payload": [
        "source=D",
        "origin=D",
        "当前课本 ID（可空）",
        "returnAction=stay_on_home（命名建议）"
      ],
      "rule_status": "confirmed",
      "source": "原 UE D 右上入口→A-3；用户当前确认选书在首页之后。",
      "prototype_behavior": "进入 A-3；取消回 D，保存示例课本回 D，不强制直接开始学习。"
    },
    {
      "id": "D-I-02",
      "trigger": "点击依赖教材的主卡或题型卡",
      "condition": "当前课本为空",
      "effect": "先进入选课本页，记录原入口目标；不自动赋课本",
      "destination": "A-3",
      "payload": [
        "source=D",
        "origin=D",
        "pendingAction=原目标 ID",
        "returnAction=原目标 ID（预览字段）",
        "mode=原题型（如适用）"
      ],
      "rule_status": "confirmed",
      "source": "用户已确认登录先首页，可关闭 B 引导；首次使用教材功能仍需先选书。",
      "prototype_behavior": "适用于 课文跟读及六种单词闯关卡。进入 A-3；选书后回 D，取消也回 D；二级学习不会自动开始，后续恢复策略待确认。"
    },
    {
      "id": "D-I-03",
      "trigger": "点击课文跟读主卡 / 圆形操作按钮",
      "condition": "已有课本；进入课文内容选择",
      "effect": "选课文后挑选其中单词、短语、句子，共用朗读流程",
      "destination": "D-16",
      "payload": [
        "book=当前课本 ID",
        "origin=D"
      ],
      "rule_status": "confirmed",
      "source": "UI 主卡从旧 UE 单词朗读改为课文跟读；句段流程无现成 UE 定义。",
      "prototype_behavior": "本轮真实导航D-16→D-17→共用D-3～D-8，本地示例不接录音服务"
    },
    {
      "id": "D-I-04",
      "trigger": "点击看英选中 · 认词义",
      "condition": "已有课本",
      "effect": "进入练习选单元并记录题型",
      "destination": "D-1",
      "payload": [
        "book=当前课本 ID",
        "origin=D",
        "mode=en-to-zh（字段建议）"
      ],
      "rule_status": "confirmed",
      "source": "原 UE D 五入口→D-1，四题型之一为看英选中。",
      "prototype_behavior": "本轮已交付，保留题型进入共用D-1/D-2，再走各题型及共用报告。"
    },
    {
      "id": "D-I-05",
      "trigger": "点击看中选英 · 认拼写",
      "condition": "已有课本",
      "effect": "进入练习选单元并记录题型",
      "destination": "D-1",
      "payload": [
        "book=当前课本 ID",
        "origin=D",
        "mode=zh-to-en（字段建议）"
      ],
      "rule_status": "confirmed",
      "source": "原 UE D 看中选英→D-1。",
      "prototype_behavior": "本轮已交付，保留题型进入共用D-1/D-2，再走各题型及共用报告。"
    },
    {
      "id": "D-I-06",
      "trigger": "点击听音选义 · 练听力",
      "condition": "已有课本",
      "effect": "进入练习选单元并记录题型",
      "destination": "D-1",
      "payload": [
        "book=当前课本 ID",
        "origin=D",
        "mode=listen-to-zh（字段建议）"
      ],
      "rule_status": "confirmed",
      "source": "UI 听音选义承接原 UE 听英选中→D-1。",
      "prototype_behavior": "本轮已交付，保留题型进入共用D-1/D-2，再走各题型及共用报告。"
    },
    {
      "id": "D-I-07",
      "trigger": "点击中英连线 · 巩固词义",
      "condition": "已有课本",
      "effect": "进入练习选单元并记录配对题型",
      "destination": "D-1",
      "payload": [
        "book=当前课本 ID",
        "origin=D",
        "mode=match（字段建议）"
      ],
      "rule_status": "confirmed",
      "source": "UI 中英连线承接原 UE 中英配对→D-1；连线屏是否单独绘制待确认。",
      "prototype_behavior": "本轮已交付，保留题型进入共用D-1/D-2，再走各题型及共用报告。"
    },
    {
      "id": "D-I-08",
      "trigger": "点击读单词 · AI 纠发音",
      "condition": "已有课本",
      "effect": "进入单词朗读选单元",
      "destination": "D-1",
      "payload": [
        "book=当前课本 ID",
        "origin=D",
        "mode=read（字段建议）"
      ],
      "rule_status": "confirmed",
      "source": "UI 单词卡承接原 UE 朗读主卡→D-1→后续单词评测。",
      "prototype_behavior": "本轮已交付，保留题型进入共用D-1/D-2，再走各题型及共用报告。"
    },
    {
      "id": "D-I-09",
      "trigger": "点击字母填空 · 练拼写",
      "condition": "已有课本；mode=fill进入共用准备",
      "effect": "保留mode=fill，经整单元选词到候选字母填空",
      "destination": "D-1",
      "payload": [
        "mode=fill",
        "当前课本",
        "origin=D"
      ],
      "rule_status": "confirmed",
      "source": "UI 新入口，旧 UE 仅四个识别/配对题型。",
      "prototype_behavior": "本轮真实导航D-1/D-2→D-19→D-13/D-14"
    },
    {
      "id": "D-I-10",
      "trigger": "点击底部默写单 / 听写 / 练习 / 我的",
      "condition": "目标 Tab 可用；允许未选课本浏览首页",
      "effect": "切换本包对应首页；当前 Tab 保持",
      "destination": "B / C / D / E",
      "payload": [
        "origin=D",
        "共用课本上下文"
      ],
      "rule_status": "confirmed",
      "source": "UE 四 Tab；用户要求听写、练习、我的首页一并展示。",
      "prototype_behavior": "四个首页均在本包内真实切换；不进入旧的 Tab 边界。"
    }
  ],
  "back_behavior": {
    "destination": "首页 Tab 根节点；系统返回/退出规则待定",
    "rule_status": "pending",
    "preserve": "B/C/D 共享当前课本；不自动填入默认书。切换 Tab 的产品滚动恢复规则待确认。",
    "prototype_behavior": "Tab 通过本包相对路由切换，共享本地课本示例；从边界返回本页保留课本上下文。A-3 取消不改变课本，保存后回来源首页。"
  },
  "states": [
    {
      "id": "ready",
      "description": "有课本、完整 UI 主卡与六卡首页。",
      "rule_status": "confirmed"
    },
    {
      "id": "missing-book",
      "description": "首页可浏览；全部教材练习入口点击先选书。",
      "rule_status": "confirmed"
    },
    {
      "id": "content-not-connected",
      "description": "课文/填空内容与评测未接入；首页入口保持 UI，目标明确边界。",
      "rule_status": "pending"
    }
  ],
  "acceptance_criteria": [
    {
      "id": "D-AC-01",
      "given": "已有课本",
      "when": "点五个已有 UE 单词入口",
      "then": "D-1 目标一致，mode 区分英文选中文/中文选英文/听音选义/配对/读单词。",
      "rule_status": "confirmed"
    },
    {
      "id": "D-AC-02",
      "given": "未选课本",
      "when": "点主卡或任一六卡",
      "then": "先 A-3 保留 D 来源、原入口和 mode；保存回 D，取消不改课本。",
      "rule_status": "confirmed"
    },
    {
      "id": "D-AC-03",
      "given": "查看主卡与填空",
      "when": "点击相关入口",
      "then": "进入 TEXT-READING / LETTER-FILL 明确边界，未确认规则不写为定案。",
      "rule_status": "proposed"
    },
    {
      "id": "D-AC-04",
      "given": "使用底部导航",
      "when": "切换四 Tab",
      "then": "直接显示对应首页、练习激活态正确，不出现二级占位产品页。",
      "rule_status": "confirmed"
    },
    {
      "id": "D-AC-05",
      "given": "浏览独立原型或画布",
      "when": "查看布局与能力",
      "then": "六卡标签、插画顺序、间距随指定 UI；无真实录音、评测或题目生成。",
      "rule_status": "proposed"
    }
  ],
  "pending_from_source": [],
  "additional_unspecified": [
    "会员次数与记录保留到17/20模块；正式词库、课文与评测服务契约待接入。"
  ],
  "references": {
    "interface": "D.interface.md",
    "prototype": "D.prototype.html",
    "design": "UI-DESIGN.md"
  },
  "sources": [
    "英语默写代码/xzx-pages/pages/D.html",
    "replica/dist/pages/practice.html"
  ],
  "source_of_truth": {
    "visual": "D.prototype.html 屏幕内产品 UI",
    "behavior": "原 UE 明确要求及当前用户已确认规则；proposed 与 pending 不构成已确认业务契约",
    "viewer_chrome": "手机外壳、项目导航、演示选择器、说明与页面编号属于预览宿主"
  },
  "limitations": {
    "prototype": [
      "仅本地视觉与路由演示；完整限制见 prototype_limitations。"
    ],
    "implementation": [
      "真实业务服务与统计契约未提供；原型效果不能证明生产功能、权限或服务结果。"
    ]
  },
  "prototype_limitations": [
    "08～14已接本地完整流程，其他业务目标仍是对应模块边界。",
    "课本、词库、课文、声音与评分为本地示例；无真实麦克风、评测、云记录或错题服务。",
    "原型结果不能证明生产评测准确性、会员权益或服务保存成功。"
  ],
  "implementation_constraints": [
    "练习首页视觉保持UI，主卡课文跟读与六题型按当前confirmed规则接入。",
    "课文选内容后复用读单词流程；五种客观题共用报告分享，不重复页面。",
    "会员、成长、记录期限、错题与AI复习详细策略到对应模块，不把示例字段当API契约。"
  ],
  "prototype_states": [
    {
      "id": "initial",
      "label": "当前账号 · 默认",
      "scope": "prototype_only"
    },
    {
      "id": "ready",
      "label": "已有课本 · UI 示例",
      "scope": "prototype_only"
    },
    {
      "id": "missing-book",
      "label": "未选课本 · 首次使用再选",
      "scope": "prototype_only"
    }
  ],
  "user_confirmed_rules": [
    {
      "id": "P-RANGE",
      "description": "六种单词闯关整单元选择后挑词，不自动截断数量或剔除长词。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "P-TEXT",
      "description": "课文跟读选课文，再挑选课文中的单词、短语或句子；不是强制整篇逐句跟读。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "P-RECORD",
      "description": "点击录音，停顿后结束，可手动结束；有效反馈留5秒后自动推进，重读或回放暂停推进。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "P-REVIEW",
      "description": "客观题不限时；首答错误或跳过在本轮末尾再练一次，首次正确率与再练结果分开。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "P-MATCH",
      "description": "中英连线点英文再点中文，每组最多4对，尾组不凑词。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "P-FILL",
      "description": "字母填空使用候选字母池，支持点击或拖入；每词缺1～2字母，提示完成不算独立正确。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "P-SCORE",
      "description": "朗读取本次最高有效分，低于80分需要再读；无声、录音或评测失败不计0分。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "P-AUDIO",
      "description": "朗读录音随练习记录保存，可删除；分享只成绩，不公开录音。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "P-WRONG",
      "description": "五种客观练习首答错误与跳过可收录错题本，记录题型来源；朗读低分独立。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12确认；课文跟读与字母池按用户更正"
    },
    {
      "id": "GROWTH-WORD",
      "description": "积累单词统计成功导出的练习卷、已提交听写／客观练习、有效朗读涉及的词库单词，跨课本去重；答案卷不计，短语句子不拆词；表示接触，不表示掌握。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "GROWTH-CORRECT",
      "description": "同一稳定错题首次改对计一次；同轮末尾再练答对也计入；首答正确率保持原成绩。反复错后再对不重复累计。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "KEEP",
      "description": "三类记录与错题长期保留，不按会员截断，支持主动删除；自建词表历史独立保留。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "PRICE",
      "description": "年卡68元、终身98元；手动续费，无自动续费。价格由正式商品配置校验。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "PLATFORM",
      "description": "中国区iOS使用系统内购，国内安卓使用微信或支付宝；恢复权益、延迟到账与取消／失败都有独立状态。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "QUOTA",
      "description": "每账号免费累计3个成功导出文件、累计5轮听写／读单词／课文跟读批改评测，共用总额度，不按天恢复。失败不扣，同轮重试重读不重复扣。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "BENEFIT",
      "description": "客观练习不限次；免费开放6个专题、答案卷带水印；会员不限次数，手写／纸笔批改需会员。到期不重置已用免费总额度。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "WRONG",
      "description": "错题本仅做管理、来源／类型筛选、详情、移除及按原来源再练。听写与五种客观题收录，朗读低分独立。AI排期留25。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "INVITE",
      "description": "新用户经邀请完成注册即奖励邀请人7天会员，每月最多3次；年卡／赠送时长顺延，终身只记邀请不叠加时长；老用户重复邀请不奖励。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "CANCEL",
      "description": "验证身份并二次确认后立即注销；退出登录保留账号资产；退款按真实渠道与正式条款处理。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    },
    {
      "id": "HELP",
      "description": "先做帮助文章与邮箱联系版式；客服邮箱尚未确定；不编造可用邮箱。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13回复"
    }
  ],
  "module_base": "首页Tab",
  "tabs": []
}
