{
  "schema_version": "2.0",
  "product": "英语默写AI版",
  "handoff_version": "0.12.3",
  "date": "2026-10-13",
  "id": "A-4",
  "page_id": "A-4",
  "name": "封面大图 · 核对版次",
  "module": "课本设置",
  "purpose": "放大所点课本封面及版次，让家长核对实体课本；不改变课本选择。",
  "entry": {
    "from": [
      "A-3：点击任意课本封面/角标"
    ],
    "preconditions": [
      "有查看课本与 A-3 上下文；查看项不必为当前选中项。"
    ],
    "rule_status": "confirmed",
    "source": {
      "files": [
        "英语默写代码/app说明示例/login-source-specs.json#/A-4",
        "英语默写代码/xzx-pages/pages/A-4.html"
      ],
      "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
    }
  },
  "ui_elements": [
    {
      "id": "A-4.dark-surface",
      "type": "surface",
      "label": "全屏暗底",
      "description": "沿源核对场景。",
      "rule_status": "confirmed"
    },
    {
      "id": "A-4.close",
      "type": "button",
      "label": "关闭",
      "description": "可点击且键盘可访问。",
      "rule_status": "confirmed"
    },
    {
      "id": "A-4.cover",
      "type": "image",
      "label": "大封面",
      "description": "内嵌样例，真实资源与列表同源；源只要求放大展示，不新增捏合缩放。",
      "rule_status": "confirmed"
    },
    {
      "id": "A-4.name",
      "type": "text",
      "label": "课本名",
      "description": "对应被点击项。",
      "rule_status": "confirmed"
    },
    {
      "id": "A-4.grade",
      "type": "text",
      "label": "适用年级",
      "description": "与列表同源说明。",
      "rule_status": "confirmed"
    },
    {
      "id": "A-4.edition",
      "type": "text",
      "label": "版次",
      "description": "源示例 2026 年 6 月第 1 版，不等于已核实出版事实。",
      "rule_status": "confirmed"
    },
    {
      "id": "A-4.dismiss-hint",
      "type": "text",
      "label": "点任意处关闭",
      "description": "包括封面区域点击也关闭。",
      "rule_status": "confirmed"
    },
    {
      "id": "A-4.fallback",
      "type": "status",
      "label": "封面不可用提示",
      "description": "失败替代显示为建议，不编造封面。",
      "rule_status": "proposed"
    }
  ],
  "data_source": [
    {
      "name": "与 A-3 同源的教研目录",
      "data": [
        "查看课本 ID",
        "封面",
        "名称",
        "年级",
        "版次"
      ],
      "contract_status": "pending",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
      }
    },
    {
      "name": "A-3 返回上下文",
      "data": [
        "筛选/搜索/草稿/位置/来源模式"
      ],
      "contract_status": "pending",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
      }
    }
  ],
  "data_model": [
    {
      "id": "previewTextbookId",
      "type": "string",
      "description": "查看 ID 不覆盖已选 ID。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "coverAsset",
      "type": "embedded-resource|string",
      "description": "预览资源内嵌，生产资源契约待定。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "bookName",
      "type": "string",
      "description": "同源名称。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "gradeInfo",
      "type": "string",
      "description": "同源适用信息。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "editionInfo",
      "type": "string",
      "description": "真实版次待教研。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "returnContext",
      "type": "object",
      "description": "返回筛选/搜索/草稿/位置/来源建议。",
      "rule_status": "proposed",
      "contract_status": "pending"
    }
  ],
  "interactions": [
    {
      "id": "A-4-I-01",
      "trigger": "点击关闭",
      "condition": "核对画面打开",
      "effect": "回 A-3，当前选择结果不变",
      "destination": "A-3",
      "payload": [
        "此前 A-3 上下文"
      ],
      "rule_status": "confirmed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
      },
      "prototype_behavior": "恢复预览筛选搜索草稿位置；不自动选择正在看的书。"
    },
    {
      "id": "A-4-I-02",
      "trigger": "点击任意位置，包括封面/文字/背景",
      "condition": "核对画面打开",
      "effect": "按源任意处关闭，回 A-3 且选择不变",
      "destination": "A-3",
      "payload": [
        "此前 A-3 上下文"
      ],
      "rule_status": "confirmed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
      },
      "prototype_behavior": "整个产品区域接收关闭；不新增缩放；宿主规格/导航区不当作关闭区。"
    },
    {
      "id": "A-4-I-03",
      "trigger": "系统返回/键盘关闭",
      "condition": "设备或宿主支持",
      "effect": "建议等同关闭，保留选择与上下文",
      "destination": "A-3",
      "payload": [
        "此前 A-3 上下文"
      ],
      "rule_status": "proposed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源只确认点击关闭，其它未定义。"
      },
      "prototype_behavior": "关闭按钮可聚焦 Enter/Space，Escape 关闭为预览建议。"
    },
    {
      "id": "A-4-I-04",
      "trigger": "资源或上下文缺失",
      "condition": "封面不可用或独立打开缺上下文",
      "effect": "建议显示不可用反馈并保留关闭，不用其它课本冒充",
      "destination": "A-4 / A-3（关闭时）",
      "payload": [],
      "rule_status": "proposed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "原失败替代未定。"
      },
      "prototype_behavior": "无查看参数时展示源 PEP 样例；带未知课本 ID 时展示课本信息不可用和关闭入口，不用其他课本替代，不覆盖当前选择。"
    }
  ],
  "back_behavior": {
    "destination": "A-3",
    "rule_status": "confirmed",
    "preserve": "课本选择不变已确认；筛选搜索位置来源保留为 proposed。",
    "source": {
      "files": [
        "英语默写代码/app说明示例/login-source-specs.json#/A-4",
        "英语默写代码/xzx-pages/pages/A-4.html"
      ],
      "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
    },
    "prototype_behavior": "还原进入上下文，不触发保存、不改共用课本。缺上下文返回默认 A-3 演示状态并说明限制。"
  },
  "states": [
    {
      "id": "cover-ready",
      "description": "暗底展示查看课本大图及同源信息。",
      "rule_status": "confirmed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
      }
    },
    {
      "id": "image-loading",
      "description": "加载中保留关闭。",
      "rule_status": "proposed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源未定义。"
      }
    },
    {
      "id": "image-error",
      "description": "封面不可用提示，避免错图。",
      "rule_status": "proposed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "原未定义。"
      }
    },
    {
      "id": "missing-context",
      "description": "独立打开明确源样例或不可用说明。",
      "rule_status": "proposed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "本次独立原型状态。"
      }
    }
  ],
  "acceptance_criteria": [
    {
      "id": "A-4-AC-01",
      "given": "从 A-3 点击任意封面",
      "when": "进入",
      "then": "名称/年级/版次对应被点项并与列表同源。",
      "rule_status": "confirmed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
      },
      "verification_scope": "product"
    },
    {
      "id": "A-4-AC-02",
      "given": "查看非选中项",
      "when": "点击关闭/任意处",
      "then": "回 A-3，选择不变，不增加缩放/选书操作。",
      "rule_status": "confirmed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "源：从 A-3 任意封面进入；暗底大封面/名称/年级/版次/关闭；点关闭或任意处回 A-3，选择不变；封面版次与列表同源。"
      },
      "verification_scope": "product"
    },
    {
      "id": "A-4-AC-03",
      "given": "已有筛选/搜索/位置",
      "when": "打开关闭",
      "then": "预览恢复来源和位置。",
      "rule_status": "proposed",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "本次返回建议。"
      },
      "verification_scope": "prototype"
    },
    {
      "id": "A-4-AC-04",
      "given": "浏览离线独立原型",
      "when": "打开页面",
      "then": "资源内嵌，模拟器/状态栏/手势条完整。",
      "rule_status": "proposed",
      "source": {
        "detail": "skill 交付要求。"
      },
      "verification_scope": "prototype"
    }
  ],
  "pending_from_source": [
    {
      "id": "A-4-P-01",
      "question": "放大角标是否明显，首次要不要一次性提示？",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "原待确认。"
      },
      "rule_status": "pending",
      "recommendation": {
        "rule_status": "proposed",
        "text": "保留清晰角标；一次性提示需确认，不默认额外弹教程。"
      }
    }
  ],
  "additional_unspecified": [
    {
      "id": "A-4-U-01",
      "question": "生产实现用独立路由还是全屏弹层？",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "原 additional_unspecified。"
      },
      "rule_status": "pending",
      "recommendation": {
        "rule_status": "proposed",
        "text": "人类画布在当前页展开/弹层，AI 保留独立原型；生产呈现方式待确认。"
      }
    },
    {
      "id": "A-4-U-02",
      "question": "真实封面失败用什么替代和重试？",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "原 additional_unspecified。"
      },
      "rule_status": "pending"
    },
    {
      "id": "A-4-U-03",
      "question": "正式版次包含哪些出版/起点信息？",
      "source": {
        "files": [
          "英语默写代码/app说明示例/login-source-specs.json#/A-4",
          "英语默写代码/xzx-pages/pages/A-4.html"
        ],
        "detail": "真实目录待教研。"
      },
      "rule_status": "pending"
    }
  ],
  "references": {
    "interface": "A-4.interface.md",
    "prototype": "A-4.prototype.html",
    "design": "UI-DESIGN.md"
  },
  "sources": [
    "英语默写代码/app说明示例/login-source-specs.json#/A-4",
    "英语默写代码/xzx-pages/pages/A-4.html"
  ],
  "source_of_truth": {
    "visual": "A-4.prototype.html 屏幕内产品 UI",
    "behavior": "原 UE 明确要求及当前用户已确认规则；proposed 与 pending 不构成已确认业务契约",
    "viewer_chrome": "手机外壳、项目导航、演示选择器、说明与页面编号属于预览宿主"
  },
  "limitations": {
    "scope": "本轮认证与四个首页Tab；验证码的五个额外画面为A-2同页状态预览。",
    "prototype": [
      "无真实认证、取号、短信、网络请求、远程档案存储。",
      "演示手机号、验证码、封面、版次、成功失败不是认证结果或正式教研目录。",
      "本地跨页保留仅展示返回体验，不定义生产持久化。",
      "完整模拟器、状态栏、手势条保留，演示控件属于宿主。"
    ],
    "implementation": [
      "真实服务字段、鉴权、错误码、重试、持久化契约未提供。",
      "data_model 的具体字段名/类型为建议，不作为已确认 API 契约。"
    ]
  },
  "prototype_limitations": [
    "无真实认证、取号、短信、网络请求、远程档案存储。",
    "演示手机号、验证码、封面、版次、成功失败不是认证结果或正式教研目录。",
    "本地跨页保留仅展示返回体验，不定义生产持久化。",
    "完整模拟器、状态栏、手势条保留，演示控件属于宿主。"
  ],
  "implementation_constraints": [
    "真实服务字段、鉴权、错误码、重试、持久化契约未提供。",
    "data_model 的具体字段名/类型为建议，不作为已确认 API 契约。"
  ],
  "confirmations": [
    {
      "kind": "user_confirmation",
      "date": "2026-10-11",
      "detail": "当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。"
    }
  ],
  "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": "课本设置",
  "tabs": [],
  "prototype_states": [
    {
      "id": "initial",
      "label": "封面大图 · 默认",
      "scope": "prototype_only"
    },
    {
      "id": "cover_error",
      "label": "封面加载失败",
      "scope": "prototype_only"
    }
  ]
}
