{
  "schema_version": "2.0",
  "product": "英语默写AI版",
  "handoff_version": "0.12.3",
  "date": "2026-10-13",
  "id": "B",
  "name": "默写单首页Tab",
  "module": "首页Tab",
  "purpose": "以 UI 示意首页承接教材打印、错题复习、自建词表及两组专题；首页入口和文案采用 UI，教材出单流程承接原 UE。",
  "entry": {
    "from": [
      "A 启动：已登录",
      "A-1/A-2 认证成功：统一进B",
      "A-3 选书保存/取消",
      "其他首页Tab"
    ],
    "preconditions": [
      "登录成功即可进入，无书也可查看首页；课本在首页引导后选择。"
    ],
    "rule_status": "confirmed",
    "source": "用户2026-10-11最新修改要求：进入首页后再选课本。"
  },
  "ui_elements": [
    {
      "id": "B.title",
      "type": "heading",
      "label": "默写单",
      "description": "UI 顶部标题。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.current-book",
      "type": "button",
      "label": "当前课本 / 选课本",
      "description": "沿 UI 右上入口；无课本明确显示待选，不默认赋书。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.print-card",
      "type": "button",
      "label": "默写单打印",
      "description": "UI 主卡：课本同步、教材配套·多种格式·扫码听原声，循环纸张插画及圆形打印按钮。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.research-credit",
      "type": "text",
      "label": "北京大学教研审核",
      "description": "保留 UI 原文；用户 2026-10-11 确认已有依据。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.review",
      "type": "button",
      "label": "AI 错题复习",
      "description": "用户已确认首页保留错题练习；12 为示例，跨业务集合口径仍待定。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.custom",
      "type": "button",
      "label": "自建默写单",
      "description": "纯英文词／短语录入和粘贴，核对后出单；录入可保存，历史不限30天。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.basic",
      "type": "section",
      "label": "单词基础",
      "description": "更多及字母書写/身体部位两张图文卡；映射原基础得分专题。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.advanced",
      "type": "section",
      "label": "语法进阶",
      "description": "更多及不规则动词/名词复数两卡；映射原加分进阶。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.popularity",
      "type": "text",
      "label": "专题热度/已下载",
      "description": "源 UI 数字和标记只做示例，不是统计事实。",
      "rule_status": "pending"
    },
    {
      "id": "B.tabs",
      "type": "navigation",
      "label": "默写单 / 听写 / 练习 / 我的",
      "description": "四个首页已交付且可直接切换，B激活。",
      "rule_status": "confirmed"
    },
    {
      "id": "B.book-guide",
      "type": "dismissible_card",
      "label": "先选课本 · 学习内容和教材同步",
      "description": "首页无书时展示引导卡；可关闭，首次教材功能仍先选书。",
      "rule_status": "confirmed"
    }
  ],
  "data_source": [
    {
      "name": "共用课本设置与引导状态",
      "data": [
        "课本标识",
        "已完成或跳过引导"
      ],
      "contract_status": "pending"
    },
    {
      "name": "专题目录/下载标记",
      "data": [
        "基础/进阶专题",
        "用户下载记录"
      ],
      "contract_status": "pending"
    },
    {
      "name": "错题待复习统计",
      "data": [
        "待巩固数/来源口径"
      ],
      "contract_status": "pending"
    },
    {
      "name": "教研背书/下载热度/原声音源",
      "data": [
        "署名证明",
        "真实统计",
        "音频来源"
      ],
      "contract_status": "pending"
    }
  ],
  "data_model": [
    {
      "id": "currentTextbookId",
      "type": "string|null",
      "description": "B/C/D 共用；已跳过可空。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "onboardingCompleted",
      "type": "boolean",
      "description": "概念包含明确已完成/已跳过；具体存储字段为建议。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "pendingAction",
      "type": "object|null",
      "description": "无课本教材入口去 A-3 时携带 B 来源与待恢复动作，恢复细节建议。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "topicGroup",
      "type": "enum",
      "description": "UI 单词基础/语法进阶映射 UE 两组。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "reviewCount",
      "type": "integer|null",
      "description": "UI 12 演示，实际口径待定。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "bookGuideDismissed",
      "type": "boolean",
      "description": "原型 sessionStorage 记录本次浏览会话的关闭；正式再次展示时机及存储契约尚未定义。",
      "rule_status": "proposed",
      "contract_status": "pending"
    }
  ],
  "interactions": [
    {
      "id": "B-I-01",
      "trigger": "点击当前课本入口",
      "condition": "用户有课本或尚未选书",
      "effect": "打开共用课本设置，保留 B 来源",
      "destination": "A-3",
      "payload": [
        "source=B",
        "returnAction=stay_on_home（命名建议）"
      ],
      "rule_status": "confirmed",
      "source": "原 UE B 换课本；用户确认首次不自动书。",
      "prototype_behavior": "以当前书/无书示例进入 A-3；返回恢复 B，未真实保存。"
    },
    {
      "id": "B-I-02",
      "trigger": "点击主卡/打印按钮",
      "condition": "已有课本",
      "effect": "进入选单元",
      "destination": "B-2",
      "payload": [
        "当前课本 ID",
        "来源 B"
      ],
      "rule_status": "confirmed",
      "source": "UI 主卡映射原 UE B→B-2。",
      "prototype_behavior": "当前书本已选择时进入 B-2 的模块对接说明；本轮只审阅首页。"
    },
    {
      "id": "B-I-03",
      "trigger": "点击教材打印",
      "condition": "当前课本为空",
      "effect": "先选课本并携带来源与待恢复动作",
      "destination": "A-3",
      "payload": [
        "source=B",
        "pendingAction=open_units（字段名建议）"
      ],
      "rule_status": "confirmed",
      "source": "用户已确认：第一次用教材功能再选课本。",
      "prototype_behavior": "无书进 A-3，保存后返回 B；自动恢复至 B-2 的建议留后续确认。取消保持 B，课本不自动赋值。"
    },
    {
      "id": "B-I-04",
      "trigger": "点击 AI 错题复习",
      "condition": "首页入口已确认；真实错题范围/计数来源仍待定义",
      "effect": "进入错题复习；跨业务扩展范围仍待确认",
      "destination": "AI-REVIEW（边界）",
      "payload": [
        "origin=B",
        "错题筛选条件待定"
      ],
      "rule_status": "confirmed",
      "source": "用户 2026-10-11 确认 B 首页需要错题练习；UI入口映射既有 AI-REVIEW。",
      "prototype_behavior": "只到 AI-REVIEW 明确模块边界，不伪造三来源错题数据。"
    },
    {
      "id": "B-I-05",
      "trigger": "点击自建默写单",
      "condition": "无教材前置条件在源未明确",
      "effect": "进入自建录词",
      "destination": "F",
      "payload": [
        "origin=B"
      ],
      "rule_status": "confirmed",
      "source": "UI 与原 UE 入口一致。",
      "prototype_behavior": "进入本包F录入，可解析纯英文并核对，补义后接共用样式；无正式词典或文件服务。"
    },
    {
      "id": "B-I-06",
      "trigger": "点击任一组更多",
      "condition": "基础或进阶来源",
      "effect": "进入入口对应分组的专题列表；列表不设分组切换或搜索",
      "destination": "B-1",
      "payload": [
        "group=basic/advanced"
      ],
      "rule_status": "confirmed",
      "source": "UI 两组更多承接 UE 全部专题入口。",
      "prototype_behavior": "单词基础与语法进阶按入口固定，只显示该板块专题；点专题直接B-4"
    },
    {
      "id": "B-I-07",
      "trigger": "点击四张专题卡",
      "condition": "点击的专题数据可用",
      "effect": "整份专题内容已配好，快捷进入出题样式",
      "destination": "B-4",
      "payload": [
        "topicId",
        "origin=B",
        "topicGroup"
      ],
      "rule_status": "confirmed",
      "source": "原 UE B 任一专题卡→B-3；UI 专题卡映射。",
      "prototype_behavior": "完整专题词表直接带入B-4，返回B；不提供挑词或字母页"
    },
    {
      "id": "B-I-08",
      "trigger": "点击底部 Tab",
      "condition": "目标为 C/D/E 或当前 B",
      "effect": "切换对应首页",
      "destination": "B / C / D / E",
      "payload": [
        "来源 B"
      ],
      "rule_status": "confirmed",
      "source": "UI/UE 共用 Tab。",
      "prototype_behavior": "B/C/D/E四个首页直接互通，当前B回顶。"
    },
    {
      "id": "B-I-09",
      "trigger": "点击引导卡去选择",
      "condition": "首页无课本且引导卡可见",
      "effect": "打开共用选课本页，保存后返回B",
      "destination": "A-3",
      "payload": [
        "source=B",
        "origin=B",
        "guide=true"
      ],
      "rule_status": "confirmed",
      "source": "用户确认采用首页可关闭引导卡",
      "prototype_behavior": "真实可点击本地选书；不接服务。"
    },
    {
      "id": "B-I-10",
      "trigger": "关闭选课本引导卡",
      "condition": "引导卡可见",
      "effect": "隐藏引导卡，仍可浏览首页；教材入口仍先要求选书",
      "destination": "B",
      "payload": [
        "本次关闭状态（字段及存储策略建议）"
      ],
      "rule_status": "confirmed",
      "source": "用户确认首页引导卡可关闭",
      "prototype_behavior": "本次浏览会话保存关闭状态；正式跨启动展示时机待定。"
    }
  ],
  "back_behavior": {
    "destination": "首页根节点；系统退出规则待定",
    "rule_status": "pending",
    "preserve": "建议离开再返回保留首页滚动、共用课本和已确认引导状态。",
    "prototype_behavior": "预览保存课本上下文，不恢复被跳过的虚构默认书。"
  },
  "states": [
    {
      "id": "ready",
      "description": "有课本首页，保持 UI 结构。",
      "rule_status": "confirmed"
    },
    {
      "id": "missing-book",
      "description": "已跳过/尚无课本可看首页，教材功能需先选。",
      "rule_status": "confirmed"
    },
    {
      "id": "guide-dismissed",
      "description": "课本留空，引导已关闭；教材入口仍门禁。",
      "rule_status": "confirmed"
    }
  ],
  "acceptance_criteria": [
    {
      "id": "B-AC-01",
      "given": "有课本",
      "when": "点打印",
      "then": "产品设计目标为 B-2；本轮原型到 B-2 明确对接说明。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-AC-02",
      "given": "已跳过无课本",
      "when": "点教材打印",
      "then": "进 A-3，携带 B 来源和待恢复动作。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-AC-03",
      "given": "从两组更多/专题卡进入",
      "when": "查看目标",
      "then": "分组、专题及返回来源不混淆。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-AC-04",
      "given": "浏览原型",
      "when": "查看背书、热度和12词",
      "then": "保留已有依据的北京大学教研审核背书，12 和下载热度仅为演示数据，统计与音频未接服务。",
      "rule_status": "proposed"
    },
    {
      "id": "B-AC-05",
      "given": "新账号已认证且无书",
      "when": "进入首页",
      "then": "直接展示B和可关闭选书引导，不先进入A-3。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-AC-06",
      "given": "已关闭引导仍无书",
      "when": "点击教材打印",
      "then": "仍需先去A-3；取消不赋课本。",
      "rule_status": "confirmed"
    }
  ],
  "pending_from_source": [
    {
      "id": "B-P-01",
      "question": "首页专题按年级推荐还是固定？",
      "rule_status": "pending",
      "source": "原 UE B 待确认。"
    }
  ],
  "additional_unspecified": [
    {
      "id": "B-U-01",
      "question": "AI 错题复习是否扩大到默写/听写/练习，如何接收纸卷批改？",
      "rule_status": "pending",
      "source": "UI 与 UE 错题范围冲突。"
    },
    {
      "id": "B-U-02",
      "question": "下载热度与原声音源如何定义？",
      "rule_status": "pending",
      "source": "教研背书用户已确认，下载统计/音源未提供。"
    },
    {
      "id": "B-U-03",
      "question": "身体部位看图拼写一期实现吗？图片来源与题干映射？",
      "rule_status": "pending",
      "source": "UI 承诺，UE 缺图题规格。"
    },
    {
      "id": "B-U-04",
      "question": "选课本后自动恢复打印操作还是回首页再点？",
      "rule_status": "pending",
      "source": "用户已确认先选，具体恢复待确认。",
      "recommendation": {
        "rule_status": "proposed",
        "text": "建议确认后到 B-2；来源/待恢复动作保留。"
      }
    }
  ],
  "page_id": "B",
  "references": {
    "interface": "B.interface.md",
    "prototype": "B.prototype.html",
    "design": "UI-DESIGN.md"
  },
  "sources": [
    "英语默写代码/xzx-pages/pages/B.html",
    "replica/dist/pages/home.html"
  ],
  "source_of_truth": {
    "visual": "B.prototype.html 屏幕内产品 UI",
    "behavior": "原 UE 明确要求及当前用户已确认规则；proposed 与 pending 不构成已确认业务契约",
    "viewer_chrome": "手机外壳、项目导航、演示选择器、说明与页面编号属于预览宿主"
  },
  "limitations": {
    "prototype": [
      "本包首页、认证、课本、打印、专题与自建互通；其余二级仍为边界。",
      "热度与错题数量是示例；教研背书按用户已确认保留。",
      "选书保存回来源首页；自动恢复原业务动作仍待确认。"
    ],
    "implementation": [
      "服务端统计、教研内容目录与原声音源接口未提供；字段命名和本地演示存储不构成 API 契约。"
    ]
  },
  "prototype_states": [
    {
      "id": "initial",
      "label": "当前账号 · 默认",
      "scope": "prototype_only"
    },
    {
      "id": "ready",
      "label": "已有课本 · UI 示例",
      "scope": "prototype_only"
    },
    {
      "id": "missing-book",
      "label": "未选课本 · 显示引导",
      "scope": "prototype_only"
    },
    {
      "id": "guide-dismissed",
      "label": "未选课本 · 已关闭引导",
      "scope": "prototype_only"
    },
    {
      "id": "new-user",
      "label": "新用户 · 无复习数据",
      "scope": "prototype_only"
    }
  ],
  "prototype_limitations": [
    "本包首页、认证、课本、教材打印、专题和自建互通；其余二级进入明确边界。",
    "热度与错题数量是示例；教研背书按用户已确认保留。",
    "选书保存回来源首页；自动恢复原业务动作仍待确认。"
  ],
  "implementation_constraints": [
    "首页入口、布局、文案及样式依 UI 示意；错题入口及教研背书已获用户确认。",
    "默写单记录属于我的入口，首页不加打印历史卡。",
    "四个首页Tab本轮展示；出单、听写、练习、我的二级模块在统一审阅确认后继续。"
  ],
  "user_confirmed_rules": [
    {
      "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": []
}
