{
  "schema_version": "2.0",
  "product": "英语默写AI版",
  "handoff_version": "0.12.3",
  "date": "2026-10-13",
  "id": "E",
  "page_id": "E",
  "name": "我的首页Tab",
  "module": "首页Tab",
  "purpose": "按指定 UI 组织资料、会员、学习进步及历史与设置。入口承接旧 UE；成长曲线/数字仅一致的示例，统计及邀请奖励规则留待确认。",
  "entry": {
    "from": [
      "B/C/D/E 底部 Tab",
      "独立原型或人类画布的预览入口"
    ],
    "preconditions": [
      "已经进入登录后首页区域；资料、会员和学习数据从真实账号服务获取，原型均为示例。",
      "不要求当前课本非空才能浏览我的首页。"
    ],
    "rule_status": "confirmed",
    "source": "用户本轮确认登录后先首页、课本后选；原 UE 四 Tab；指定 UI 示意。"
  },
  "ui_elements": [
    {
      "id": "E.title",
      "type": "heading",
      "label": "我的",
      "description": "UI 页面标题，模块归为首页Tab。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.identity",
      "type": "button",
      "label": "宝贝昵称 / 编辑宝贝资料",
      "description": "小朋友 SVG 头像、昵称、辅助文字、右箭头；身份信息为示例。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.membership",
      "type": "button",
      "label": "开通会员",
      "description": "深紫会员卡，默写单不限次·46个专题全开、去看看；非会员示例，不自动授予权益。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.growth",
      "type": "section",
      "label": "学习进步",
      "description": "一点点，变更棒；积累单词及改对错题由本地账号示例事件驱动、紫色成长曲线/星星/旗帜。所有数字和事件仅mock。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.review",
      "type": "link",
      "label": "AI 错题复习",
      "description": "成长卡底部入口；目标沿现有 AI-REVIEW。跨业务集合待确认。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.growth-rules",
      "type": "details",
      "label": "怎么算？",
      "description": "同页展开源 UI 的三业务去重及首次改对说明，并标示演示口径未定；无需跳到新产品页。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.history",
      "type": "section",
      "label": "历史与设置",
      "description": "三个历史入口：默写单记录、听写历史、练习历史；默写单记录放我的为用户确认。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.invite",
      "type": "button",
      "label": "分享得会员",
      "description": "分享给1位家长，得7天会员；沿 UI 示意文案，发奖触发/限制未确认。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.help",
      "type": "button",
      "label": "帮助与客服",
      "description": "保留 UI 服务入口；正式渠道与权限待补全。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.settings",
      "type": "button",
      "label": "设置",
      "description": "沿 UE 进入 E-3。",
      "rule_status": "confirmed"
    },
    {
      "id": "E.tabs",
      "type": "navigation",
      "label": "默写单 / 听写 / 练习 / 我的",
      "description": "我的激活、四 Tab 互通；页内滚动，底部导航固定。",
      "rule_status": "confirmed"
    }
  ],
  "data_source": [
    {
      "name": "用户资料与会员订单服务",
      "data": [
        "昵称与头像",
        "会员状态、权益、到期"
      ],
      "contract_status": "pending",
      "rule_status": "confirmed",
      "source": "原 UE E 资料/会员来源；会员已购态待确认。"
    },
    {
      "name": "各业务历史服务",
      "data": [
        "打印历史",
        "听写历史",
        "练习历史"
      ],
      "contract_status": "pending",
      "rule_status": "confirmed",
      "source": "原 UE E 历史三入口；用户明确默写单记录移到我的。"
    },
    {
      "name": "成长统计示例",
      "data": [
        "示例去重单词数",
        "示例首次改对数",
        "8组事件与成长轨迹"
      ],
      "contract_status": "pending",
      "rule_status": "pending",
      "source": "replica/dist/profile.js 与 README：仅视觉原型事件，不是生产账号事实。"
    },
    {
      "name": "邀请与帮助服务",
      "data": [
        "分享奖励活动",
        "客服渠道"
      ],
      "contract_status": "pending",
      "rule_status": "pending",
      "source": "UI/UE 存在菜单，无正式服务或发奖契约。"
    }
  ],
  "data_model": [
    {
      "id": "nickname",
      "type": "string",
      "description": "宝贝昵称为示例；多个孩子档案支持范围未确认。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "avatar",
      "type": "asset|string|null",
      "description": "内嵌小朋友头像为演示资源，真实头像上传/权限未在本轮设计。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "membershipStatus",
      "type": "free|member|unknown",
      "description": "原型只显示非会员开通卡；已会员显示到期/余量还是隐藏待确认。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "wordTotal",
      "type": "integer",
      "description": "initial为120，new-user为0。展示已采用，跨业务去重计算规则待批准。",
      "rule_status": "pending",
      "contract_status": "pending"
    },
    {
      "id": "correctionTotal",
      "type": "integer",
      "description": "initial为26，new-user为0。首次改对/来源保留/跨活动修正规则待批准。",
      "rule_status": "pending",
      "contract_status": "pending"
    },
    {
      "id": "growthSnapshots",
      "type": "object[]",
      "description": "本地8组事件一致生成示意曲线/星星；真实时间粒度、去重键和修正关联未定。",
      "rule_status": "pending",
      "contract_status": "pending"
    },
    {
      "id": "growthRulesExpanded",
      "type": "boolean",
      "description": "只控制同页“怎么算”展开，纯预览/UI状态。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "inviteReward",
      "type": "object|null",
      "description": "UI 1位家长/7天为示意，真实达成事件、上限、资格和叠加未定。",
      "rule_status": "pending",
      "contract_status": "pending"
    }
  ],
  "interactions": [
    {
      "id": "E-I-01",
      "trigger": "点击昵称/头像资料区",
      "condition": "账号资料入口可用",
      "effect": "进入编辑资料",
      "destination": "E-1",
      "payload": [
        "origin=E"
      ],
      "rule_status": "confirmed",
      "source": "原 UE E 资料卡→E-1；UI 身份区。",
      "prototype_behavior": "到 E-1 对接说明；不修改真实档案，不新增孩子切换规则。"
    },
    {
      "id": "E-I-02",
      "trigger": "点击开通会员卡 / 去看看",
      "condition": "当前为非会员示例；真实权益由服务决定",
      "effect": "进入会员权益与购买入口",
      "destination": "E-2",
      "payload": [
        "origin=E"
      ],
      "rule_status": "confirmed",
      "source": "原 UE E→E-2；UI 保留会员卡。",
      "prototype_behavior": "到 E-2 边界；不发起支付、授予会员或将46专题当真实运营目录。"
    },
    {
      "id": "E-I-03",
      "trigger": "点击怎么算？",
      "condition": "资料页成长卡存在",
      "effect": "同页展开或收起说明，保留位置",
      "destination": "E（同页）",
      "payload": [
        "growthRulesExpanded=true/false（预览字段）"
      ],
      "rule_status": "confirmed",
      "source": "指定 UI 使用 details/summary；用户已批准四首页 UI 展示。",
      "prototype_behavior": "同页显示源 UI 说明，明确“演示口径未定”；关闭不跳页。展开的统计规则仅说明示例，生产规则仍pending。"
    },
    {
      "id": "E-I-04",
      "trigger": "点击 AI 错题复习",
      "condition": "复习入口可见，不以当前课本是否为空新增阻断",
      "effect": "对接既有错题复习入口",
      "destination": "AI-REVIEW",
      "payload": [
        "origin=E",
        "reviewScope=待确认"
      ],
      "rule_status": "confirmed",
      "source": "UI profile→listen#wrongbook；原 UE 对应 AI-REVIEW。",
      "prototype_behavior": "到 AI-REVIEW 边界，明确跨默写/听写/练习范围未定，不显示伪造的26条真实错题。"
    },
    {
      "id": "E-I-05",
      "trigger": "点击默写单记录",
      "condition": "历史入口可用；记录服务未接",
      "effect": "进入默写单记录",
      "destination": "B-6",
      "payload": [
        "origin=E",
        "source=profile（预览字段）"
      ],
      "rule_status": "confirmed",
      "source": "用户确认首页保留错题、默写单记录放我的；UE E历史→B-6。",
      "prototype_behavior": "到 B-6 对接说明；返回 E。不会生成记录、重新打印或扣额度。"
    },
    {
      "id": "E-I-06",
      "trigger": "点击听写历史",
      "condition": "历史入口可用",
      "effect": "进入听写历史",
      "destination": "C-17",
      "payload": [
        "origin=E",
        "source=profile（预览字段）"
      ],
      "rule_status": "confirmed",
      "source": "原 UE E听写历史→C-17；指定 UI 三格历史。",
      "prototype_behavior": "到 C-17 边界；返回 E，不假定记录保留范围或加载成功。"
    },
    {
      "id": "E-I-07",
      "trigger": "点击练习历史",
      "condition": "历史入口可用",
      "effect": "进入练习历史",
      "destination": "D-15",
      "payload": [
        "origin=E",
        "source=profile（预览字段）"
      ],
      "rule_status": "confirmed",
      "source": "原 UE E练习历史→D-15；指定 UI 三格历史。",
      "prototype_behavior": "到 D-15 边界；返回 E。单词朗读/其它题型/新增课文历史范围待业务确认。"
    },
    {
      "id": "E-I-08",
      "trigger": "点击分享得会员",
      "condition": "UI 入口已采用；邀请条件与奖励流程未定",
      "effect": "展示邀请奖励对接边界",
      "destination": "INVITE",
      "payload": [
        "origin=E"
      ],
      "rule_status": "pending",
      "source": "UI 与 UE 均有分享菜单与示意奖励，无正式流程。",
      "prototype_behavior": "只展示宿主边界；不调用系统分享、不发送给他人、不生成可领取奖励或宣称已获7天会员。"
    },
    {
      "id": "E-I-09",
      "trigger": "点击帮助与客服",
      "condition": "UI 入口已采用；正式帮助渠道未提供",
      "effect": "展示帮助与客服对接说明",
      "destination": "HELP",
      "payload": [
        "origin=E"
      ],
      "rule_status": "pending",
      "source": "UI/UE 菜单无确定目标页/客服方式。",
      "prototype_behavior": "到宿主边界，不打开未知网址或发送客服消息。"
    },
    {
      "id": "E-I-10",
      "trigger": "点击设置",
      "condition": "入口可用",
      "effect": "进入设置",
      "destination": "E-3",
      "payload": [
        "origin=E"
      ],
      "rule_status": "confirmed",
      "source": "原 UE E设置→E-3；UI 保留。",
      "prototype_behavior": "到 E-3 边界；不执行退出、注销、权限或系统设置操作。"
    },
    {
      "id": "E-I-11",
      "trigger": "点击底部默写单 / 听写 / 练习 / 我的",
      "condition": "目标 Tab 可用；允许未选课本浏览首页",
      "effect": "切换本包对应首页；当前 Tab 保持",
      "destination": "B / C / D / E",
      "payload": [
        "origin=E",
        "共用课本上下文"
      ],
      "rule_status": "confirmed",
      "source": "UE 四 Tab；用户要求听写、练习、我的首页一并展示。",
      "prototype_behavior": "四个首页均在本包内真实切换；不进入旧的 Tab 边界。"
    },
    {
      "id": "E-GROWTH-DETAIL",
      "trigger": "点学习进步卡／统计数字",
      "condition": "当前账号登录",
      "effect": "进入成长详情，展示去重单词、首次改对、来源与统计口径",
      "destination": "E-growth",
      "payload": [
        "accountId",
        "origin=E"
      ],
      "rule_status": "proposed",
      "source": "用户要求补全我的一级二级页面",
      "prototype_behavior": "本地账号样例事件驱动，未接云统计"
    }
  ],
  "back_behavior": {
    "destination": "我的 Tab 根节点；系统返回/退出规则待定",
    "rule_status": "pending",
    "preserve": "离开与返回是否恢复滚动、展开状态由产品待确认；资料、会员与成长以服务结果为准。",
    "prototype_behavior": "成长说明同页开合；底部 Tab 固定，内容页内滚动；边界返回 E。课本共享状态保持，不从成长示例生成真实记录。"
  },
  "states": [
    {
      "id": "initial",
      "description": "非会员+示例昵称，120词/26题与相应曲线/星星；数字均mock。",
      "rule_status": "proposed"
    },
    {
      "id": "new-user",
      "description": "昵称为示例、非会员卡保留；成长0/0且无曲线/星星，显示从第一张默写单开始的空态鼓励。",
      "rule_status": "proposed"
    },
    {
      "id": "member",
      "description": "已会员卡的到期日/余量/收起方案待确认，本轮不模拟定案。",
      "rule_status": "pending"
    },
    {
      "id": "statistics-failure",
      "description": "真实成长加载与失败呈现未定义，不以原型120/26兜底生产接口故障。",
      "rule_status": "pending"
    }
  ],
  "acceptance_criteria": [
    {
      "id": "E-AC-01",
      "given": "浏览我的首页",
      "when": "点击打印、听写、练习三格",
      "then": "目标分别 B-6/C-17/D-15，带 E 来源并可回 E；首页不重复加入打印历史卡。",
      "rule_status": "confirmed"
    },
    {
      "id": "E-AC-02",
      "given": "查看成长区",
      "when": "展开/收起怎么算？",
      "then": "同页完成、位置保留；统计说明采用已确认口径；数字为本地示例，不声称当前用户真实累计。",
      "rule_status": "confirmed"
    },
    {
      "id": "E-AC-03",
      "given": "选择新用户预览状态",
      "when": "查看成长数字/曲线",
      "then": "显示0/0与成长空态，不保留旧示例金星或累计曲线。",
      "rule_status": "proposed"
    },
    {
      "id": "E-AC-04",
      "given": "示例账号默认态",
      "when": "核对成长数据",
      "then": "120/26及曲线取自源UI一致示例，原型使用固定样值；打印/下载不被演示成真实错题修正。",
      "rule_status": "proposed"
    },
    {
      "id": "E-AC-05",
      "given": "点击资料/会员/设置/分享/帮助",
      "when": "查看目标",
      "then": "已定义入口对接 E-1/E-2/E-3；未定义分享/帮助清楚边界，不产生支付、发奖、分享或通信副作用。",
      "rule_status": "confirmed"
    },
    {
      "id": "E-AC-06",
      "given": "页面滚动或窄屏预览",
      "when": "查看底部与服务入口",
      "then": "产品内容可滚动，四 Tab固定可用，不隐藏永久不可到达的设置/客服入口。",
      "rule_status": "confirmed"
    },
    {
      "id": "E-AC-07",
      "given": "点击任一 Tab",
      "when": "查看页面",
      "then": "B/C/D/E 本包互通，当前我的激活态准确。",
      "rule_status": "confirmed"
    }
  ],
  "pending_from_source": [
    {
      "id": "E-P-01",
      "question": "已会员卡显示到期日、剩余天数还是收起？",
      "rule_status": "pending",
      "source": "原 UE E 待确认。"
    },
    {
      "id": "E-P-02",
      "question": "一个账号是否支持多个孩子档案？",
      "rule_status": "pending",
      "source": "原 UE E 待确认。"
    }
  ],
  "additional_unspecified": [
    {
      "id": "E-U-01",
      "question": "成长统计是否采用打印/下载/听写/练习词汇跨业务去重？词汇唯一键、跨教材同词与来源如何处理？",
      "rule_status": "pending",
      "source": "UI profile.js/README描述示例，与旧 UE 各业务计数不同。"
    },
    {
      "id": "E-U-02",
      "question": "错题是否跨默写/听写/练习，如何收纸卷错题？任意活动首次再答对可否修正，原错题键和关联如何定义？",
      "rule_status": "pending",
      "source": "UI 三业务首次改对示意；旧 UE 错题仅 AI 听写。"
    },
    {
      "id": "E-U-03",
      "question": "成长曲线按天、周还是活动绘制？星星对应哪次修正、零数据/失败如何展示？",
      "rule_status": "pending",
      "source": "源 UI 8组本地事件只证明视觉示意。"
    },
    {
      "id": "E-U-04",
      "question": "邀请奖励何时达成、谁有资格、是否有上限/叠加/作弊防护，1位家长7天文案是否正式权益？",
      "rule_status": "pending",
      "source": "菜单视觉保留，服务与条件未定义。"
    },
    {
      "id": "E-U-05",
      "question": "帮助与客服的正式目标、渠道、联系权限和失败反馈是什么？",
      "rule_status": "pending",
      "source": "UI/UE没有落点。"
    },
    {
      "id": "E-U-06",
      "question": "新增课文跟读和字母填空是否纳入练习历史、会员和成长？",
      "rule_status": "pending",
      "source": "新 UI 业务入口超出原 UE 已定义题型。"
    }
  ],
  "references": {
    "interface": "E.interface.md",
    "prototype": "E.prototype.html",
    "design": "UI-DESIGN.md"
  },
  "sources": [
    "英语默写代码/xzx-pages/pages/E.html",
    "replica/dist/pages/profile.html",
    "replica/dist/profile.js",
    "replica/dist/profile.css",
    "replica/README.md"
  ],
  "source_of_truth": {
    "visual": "E.prototype.html 屏幕内产品 UI",
    "behavior": "原 UE 明确要求及当前用户已确认规则；proposed 与 pending 不构成已确认业务契约",
    "viewer_chrome": "手机外壳、项目导航、演示选择器、说明与页面编号属于预览宿主"
  },
  "limitations": {
    "prototype": [
      "仅本地视觉与路由演示；完整限制见 prototype_limitations。"
    ],
    "implementation": [
      "真实业务服务与统计契约未提供；原型效果不能证明生产功能、权限或服务结果。"
    ]
  },
  "prototype_limitations": [
    "仅交付 A 页及四首页；其它业务目标仅宿主边界，无产品占位屏。",
    "课本、昵称、错题和成长均mock，未接真实业务、分享、会员或统计服务。",
    "路由参数/sessionStorage仅演示；字段、保存和重试不构成 API 契约。"
  ],
  "implementation_constraints": [
    "完整图文与固定四 Tab 按指定 UI，统一归“首页Tab”。",
    "四首页互通；二级除 A-3/A-4 外仅边界，审阅后再推进。",
    "新增业务、统计和契约保留 pending；视觉采用不代表业务批准。",
    "外壳、状态栏、手势条、演示工具与边界属宿主；产品为屏幕内业务 UI。"
  ],
  "prototype_states": [
    {
      "id": "initial",
      "label": "示例账号 · 120词 / 26题",
      "scope": "prototype_only"
    },
    {
      "id": "new-user",
      "label": "新用户 · 0词 / 0题",
      "scope": "prototype_only"
    }
  ],
  "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回复"
    },
    {
      "id": "SHEET-RECORD-NAME",
      "description": "打印记录统一更名为默写单记录，页面ID B-6与已确认记录／扣次规则保留。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13审阅修正"
    },
    {
      "id": "LISTEN-HISTORY-NO-METHOD",
      "description": "听写历史及记录详情不按手机打字／手机手写／纸笔手写区分，不展示方式筛选或方式标签。历史共用报告也不显示方式名称；原始方式仅内部保留用于再次听写配置。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13审阅修正"
    },
    {
      "id": "PROFILE-EIGHT-AVATARS",
      "description": "宝贝资料恢复头像，仅提供8个默认头像：小男孩、小女孩、小熊、小兔、小猫、小狗、小熊猫、小考拉。不提供上传；确认选择后再保存资料，头像与昵称同步我的首页及邀请卡。",
      "rule_status": "confirmed",
      "source": "用户2026-10-13最新修正：头像加回，用8个默认头像；具体图案为设计补全"
    }
  ],
  "module_base": "首页Tab",
  "tabs": []
}
