{
  "schema_version": "2.0",
  "product": "英语默写AI版",
  "handoff_version": "0.12.3",
  "date": "2026-10-13",
  "id": "B-4",
  "name": "配置 · 预览",
  "module": "默写单-教材默写单与打印",
  "purpose": "教材、专题、自建与自建历史共用的出题样式，按来源保留当前词表和返回入口；身体部位支持看图，字母支持四线三格。",
  "entry": {
    "from": [
      "B-3：教材/专题挑词",
      "F-1：自建挑词",
      "F-2：原配置再出一份",
      "B-5：关闭下载弹层"
    ],
    "preconditions": [
      "已有所选词与来源；历史可携带原配置。"
    ],
    "rule_status": "confirmed",
    "source": "原 UE B-4/F-2。"
  },
  "ui_elements": [
    {
      "id": "B-4.back",
      "type": "button",
      "label": "返回",
      "description": "按 B-3/F-1 动态回；F-2 历史进入返回规则需确认。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.title",
      "type": "input",
      "label": "纸卷标题",
      "description": "输入纸卷标题，和练习卷预览同步。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.scan",
      "type": "checkbox",
      "label": "附带二维码 · 扫码进入小程序",
      "description": "控制纸卷二维码展示；小程序独立在26模块后续设计。当前纸卷显示二维码图形示意，不含可用链接。",
      "rule_status": "confirmed",
      "source": "用户2026-10-12最新修改"
    },
    {
      "id": "B-4.last-config",
      "type": "text",
      "label": "下面是你上次用的设置",
      "description": "源本地记忆；新用户默认跟年级，但具体值未给。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.layout",
      "type": "choice-group",
      "label": "版式 11 项",
      "description": "书写线/纯表格/横线型/背诵单/长句式/一行一词/两词/四词/填空/音标拆分/自由配置；都展开。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.explanation",
      "type": "text",
      "label": "当前版式说明",
      "description": "源四线三格说明；各模板细则未给。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.direction",
      "type": "segmented-control",
      "label": "看中写英 / 看英写中 / 音标默写",
      "description": "三个方向；其它 UI 图例看图/描红等真实支持待确认。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.font",
      "type": "segmented-control",
      "label": "大号 / 中号 / 小号",
      "description": "源三段展开，大号低年级提示。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.preview",
      "type": "preview",
      "label": "版式预览",
      "description": "题干/答题线/姓名日期得分示意，真实分页算法未给。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.summary",
      "type": "status",
      "label": "词数 · 样式 · 练习卷页数",
      "description": "页数为示意/估算，不保证渲染页数。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4.generate",
      "type": "button",
      "label": "预览并下载",
      "description": "进入B-5选择内容和格式；本地原型在此不生成文件或扣次，生成节点方案仍为设计建议。",
      "rule_status": "proposed"
    }
  ],
  "data_source": [
    {
      "name": "本地出题配置/年级默认",
      "data": [
        "上次配置",
        "新用户默认"
      ],
      "contract_status": "pending"
    },
    {
      "name": "所选词表/标题",
      "data": [
        "所选词",
        "来源",
        "顺序"
      ],
      "contract_status": "pending"
    },
    {
      "name": "出题服务",
      "data": [
        "按配置生成/输出文件"
      ],
      "contract_status": "pending"
    }
  ],
  "data_model": [
    {
      "id": "title",
      "type": "string",
      "description": "纸卷标题，规则待定。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "layout",
      "type": "enum",
      "description": "11 选项源视觉；具体版式规则未定义。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "direction",
      "type": "enum",
      "description": "三个方向，兼容矩阵待定。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "fontSize",
      "type": "enum",
      "description": "三档，字号实际值与年级默认待定。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "scanEnabled",
      "type": "boolean",
      "description": "纸卷二维码展示开关；扫码进入小程序，其页面和链接契约在26模块后续设计。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "returnPageId",
      "type": "string",
      "description": "B-3/F-1/F-2 来源建议。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "generationStatus",
      "type": "enum",
      "description": "建议 idle/generating/error/ready。",
      "rule_status": "proposed",
      "contract_status": "pending"
    },
    {
      "id": "draftContext",
      "type": "object",
      "description": "建议用教材ID、范围ID隔离单元/词条/顺序/配置/滚动草稿；不作为API字段",
      "rule_status": "proposed",
      "contract_status": "pending"
    }
  ],
  "interactions": [
    {
      "id": "B-4-I-01",
      "trigger": "修改/清空标题或扫码开关",
      "condition": "当前配置可编辑",
      "effect": "更新标题与统一二维码开关，同步预览",
      "destination": "B-4",
      "payload": [
        "标题",
        "扫码开关"
      ],
      "rule_status": "confirmed",
      "source": "源标题输入与扫码控件。",
      "prototype_behavior": "只展示二维码示意；生成与扫码服务未接入。"
    },
    {
      "id": "B-4-I-02",
      "trigger": "点击版式选项",
      "condition": "11 选项源存在，模板兼容规则未定",
      "effect": "更新选中态及对应版式示意",
      "destination": "B-4",
      "payload": [
        "layout"
      ],
      "rule_status": "confirmed",
      "source": "源版式11，铺开不藏下拉。",
      "prototype_behavior": "切换视觉示意，未知模板细节不宣称真实文件输出已实现。"
    },
    {
      "id": "B-4-I-03",
      "trigger": "切换方向/字号",
      "condition": "所选词数据支持待确定",
      "effect": "更新配置及预览",
      "destination": "B-4",
      "payload": [
        "direction",
        "fontSize"
      ],
      "rule_status": "confirmed",
      "source": "源3方向3字号。",
      "prototype_behavior": "missing-meanings 反馈仅建议；无中文含义时看中写英是否拦截待确认。"
    },
    {
      "id": "B-4-I-04",
      "trigger": "进入配置页",
      "condition": "有上次本地配置或首次进入",
      "effect": "恢复上次设置；首次按年级默认",
      "destination": "B-4",
      "payload": [
        "本地配置",
        "学段年级"
      ],
      "rule_status": "confirmed",
      "source": "源当前选中是上次用的一套，默认跟学段年级。",
      "prototype_behavior": "演示本地记忆；首次具体值为源样例不是正式默认表。"
    },
    {
      "id": "B-4-I-05",
      "trigger": "点击预览并下载",
      "condition": "已选单词且必要题干可用",
      "effect": "进入B-5选择内容与格式；不在配置页生成文件或扣次",
      "destination": "B-5",
      "payload": [
        "词表",
        "顺序",
        "标题",
        "版式",
        "方向",
        "字号",
        "来源上下文"
      ],
      "rule_status": "proposed",
      "source": "导出时生成文件，按钮文案为本轮设计建议",
      "prototype_behavior": "本地进入下载选项，不生成文件、不扣次数"
    },
    {
      "id": "B-4-I-06",
      "trigger": "点击返回",
      "condition": "教材、专题、自建或自建历史来源明确",
      "effect": "回实际来源并保留配置；专题回B-1或B",
      "destination": "entry.returnPage：B-3 / B-1 / B / F-1 / F-2",
      "payload": [
        "来源上下文"
      ],
      "rule_status": "confirmed",
      "source": "原UE从哪来回哪；本轮历史带原配置复用设计",
      "prototype_behavior": "教材／专题／自建／自建历史均已在本包内互通"
    },
    {
      "id": "B-4-I-07",
      "trigger": "生成失败/资料缺失",
      "condition": "服务失败或必要题干未给",
      "effect": "保留配置并显示可恢复反馈，不进入出好了",
      "destination": "B-4",
      "payload": [],
      "rule_status": "proposed",
      "source": "详细状态设计，源未定义。",
      "prototype_behavior": "generation-error/missing-meanings 仅示例，不定义服务错误码/真实扣额。"
    },
    {
      "id": "B-4-I-08",
      "trigger": "点击查看整页",
      "condition": "至少一个可用单词",
      "effect": "进入练习卷整页预览，可分页；不提供答案卷预览，预估不是最终文件分页",
      "destination": "B-4-preview",
      "payload": [
        "当前配置",
        "有序词表"
      ],
      "rule_status": "confirmed",
      "source": "用户2026-10-12取消答案卷预览",
      "prototype_behavior": "仅演示练习卷与分页，不提供答案卷切换。"
    },
    {
      "id": "B-4-I-09",
      "trigger": "点击自由配置",
      "condition": "用户主动选择",
      "effect": "显示每行1/2/4词、每页6～24行并更新示意预览；范围为建议值",
      "destination": "B-4",
      "payload": [
        "columns",
        "rowsPerPage"
      ],
      "rule_status": "proposed",
      "source": "UE存在自由配置，具体参数本轮建议",
      "prototype_behavior": "只改变本地预览和预估页数"
    }
  ],
  "back_behavior": {
    "destination": "entry.returnPage：B-3 / B-1 / B / F-1 / F-2",
    "rule_status": "confirmed",
    "preserve": "源确认本地记忆配置；建议保留选择、顺序、来源和预览滚动。",
    "prototype_behavior": "同来源保留配置；自建历史来源回F-2"
  },
  "states": [
    {
      "id": "ready",
      "description": "配置样式",
      "rule_status": "confirmed"
    },
    {
      "id": "missing-fields",
      "description": "必要题干缺失",
      "rule_status": "proposed"
    }
  ],
  "acceptance_criteria": [
    {
      "id": "B-4-AC-01",
      "given": "B-3/F-1 来源",
      "when": "点击返回",
      "then": "回实际挑词来源。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4-AC-02",
      "given": "改变源选项",
      "when": "查看预览",
      "then": "选中态/示意随配置变化，所有选项展开。",
      "rule_status": "confirmed"
    },
    {
      "id": "B-4-AC-03",
      "given": "模拟生成失败",
      "when": "点击生成",
      "then": "留本页保留配置，无出好了和真实扣额宣称。",
      "rule_status": "proposed"
    },
    {
      "given": "预览选中数为0",
      "when": "点击下一步",
      "then": "按钮禁用，不能进入空词表生成流程",
      "rule_status": "proposed"
    },
    {
      "given": "从下一步返回",
      "when": "回本页",
      "then": "同一教材与范围保持草稿；不同范围重新核对",
      "rule_status": "proposed"
    },
    {
      "given": "网络或音源失败",
      "when": "重试或返回",
      "then": "保留可恢复数据，不伪造成功结果",
      "rule_status": "proposed"
    }
  ],
  "pending_from_source": [
    {
      "id": "B-4-P-02",
      "question": "四线三格格高随年级递减吗？",
      "rule_status": "pending",
      "source": "原待确认。"
    }
  ],
  "additional_unspecified": [
    {
      "id": "B-4-U-01",
      "question": "10种格式/11项是否定义为10模板+自由配置，各模板完整规则？",
      "rule_status": "pending",
      "source": "B源10种与B-4十一项冲突。",
      "recommendation": {
        "rule_status": "proposed",
        "text": "建议区分10模板+自由配置，不增加新模板默认规则。"
      }
    },
    {
      "id": "B-4-U-04",
      "question": "缺释义/音标、看图/描红/长句/自由配置兼容和默认？",
      "rule_status": "pending",
      "source": "源只有选项名。"
    },
    {
      "id": "B-4-U-05",
      "question": "F-2历史进入B-4返回哪页？",
      "rule_status": "pending",
      "source": "F-2→B-4源明确，返回未明确。"
    }
  ],
  "page_id": "B-4",
  "references": {
    "interface": "B-4.interface.md",
    "prototype": "B-4.prototype.html",
    "design": "UI-DESIGN.md"
  },
  "sources": [
    "英语默写代码/xzx-pages/pages/B-4.html"
  ],
  "source_of_truth": {
    "visual": "B-4.prototype.html 屏幕内产品 UI",
    "behavior": "原 UE 明确要求及当前用户已确认规则；proposed 与 pending 不构成已确认业务契约",
    "viewer_chrome": "手机外壳、项目导航、演示选择器、说明与页面编号属于预览宿主"
  },
  "limitations": {
    "prototype": [
      "仅演示目录选择、词表、版式和输出状态；没有真实出题、文件、支付、分享、音频或二维码服务。",
      "预览词库为示意数据：Unit2六词沿用UE，其余演示词为界面测试样例；不代表正式教材词库、词数或版次。",
      "新增详细状态、版式规则和草稿策略为设计建议；业务更改等待用户确认。",
      "专题、自建与补词已接入；默写单记录、会员和词库纠错属于后续模块。"
    ],
    "implementation": [
      "真实服务接口、鉴权、任务、额度、会员和系统调用契约未提供。",
      "具体字段/状态名及本地持久化方式均为实现建议。",
      "原型不证明真实文件、音频、扫码批改、正确额度或跨来源成长统计已实现。"
    ]
  },
  "prototype_states": [
    {
      "id": "ready",
      "label": "配置样式",
      "scope": "prototype_only"
    },
    {
      "id": "missing-fields",
      "label": "必要题干缺失",
      "scope": "prototype_only"
    }
  ],
  "ui_family": "print",
  "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": [
    "默写单"
  ]
}
