# A-2 · 其他手机号 + 验证码

产品：英语默写AI版 · 交付 0.12.3 · 日期 2026-10-13 · 模块：认证及登录

功能规格：[A-2.function.json](A-2.function.json)
原型设计：[A-2.prototype.html](A-2.prototype.html)

## 职责与进入条件

用户换号或未来取号降级时用短信验证码登录；发码前/已发码在同一稳定页面内切换。

from：A-1：用其他手机号登录；号码认证降级（待确认）；preconditions：当前未完成短信验证。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；prototype_initial_state：首次手机号为空、同页发码前；源原画面已发码为展示样例，不证明真实发送。

## 界面元素

- id：A-2.back；type：button；label：返回；description：返回 A-1。；rule_status：confirmed

- id：A-2.heading；type：text；label：其他手机号登录；description：固定标题。；rule_status：confirmed

- id：A-2.description；type：text；label：手机号/验证码状态提示；description：发码前提示输入手机号，只有模拟发码后显示已发提示。；rule_status：proposed

- id：A-2.phone；type：input；label：手机号；description：输入/粘贴号码显示3-4-4空格，例如185 0064 3030，原始业务字段为18500643030；保持数字位置编辑和删除。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- id：A-2.send；type：button；label：获取验证码 / 重新获取；description：同页发码前后，协议前置已确认；号码格式、发送频控与服务契约待定。；rule_status：proposed

- id：A-2.code；type：input；label：四位验证码；description：四槽对应可编辑的四位数字输入，支持删除、粘贴和短信自动填充；满四位自动提交，条件门槛保持原确认规则。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；channel：browser_design_comment；detail：用户最新标注：所有验证码统一4位；沿用已确认自动提交规则，输入满4位且号码/发码/协议条件齐备时提交。覆盖原UE验证码位数，四位要求已确认。

- id：A-2.countdown；type：status；label：重新获取倒计时；description：源展示 59 秒，60 秒周期仅演示不是生产频控。；rule_status：proposed

- id：A-2.feedback；type：status；label：短信/验证反馈；description：源报错位；具体失败文案为设计建议。；rule_status：proposed

- id：A-2.login；type：button；label：登录；description：保留手动提交；与自动提交的生产关系待确认。；rule_status：pending

- id：A-2.agreement；type：checkbox；label：我已阅读并同意；description：用户已确认发码、重发与自动/手动登录前都须勾协议。；rule_status：confirmed

- id：A-2.user-agreement；type：link；label：《用户协议》；description：协议同一行，链接完整不折行；正文地址待提供。；rule_status：pending

- id：A-2.privacy；type：link；label：《隐私政策》；description：协议同一行，链接完整不折行；正文地址待提供。；rule_status：pending

## 数据与来源

- name：短信验证码能力；data：短信发送结果；校验结果；成功下发 token；contract_status：pending；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- name：登录会话/账号分类；data：认证后登录态；新/老账号标记；contract_status：pending；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- name：协议正文来源；data：用户协议；隐私政策；contract_status：pending；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：源只有名称。

## 字段建议（尚非服务契约）

- id：phone；type：string；description：11位纯数字原始号码；输入展示3-4-4空格，提交不可携带展示空格。格式化已确认，地区码及服务契约仍待定义。；rule_status：proposed；contract_status：pending；prototype_example：；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- id：countryCode；type：string；description：源示例 +86；其它范围未定。；rule_status：proposed；contract_status：pending；prototype_example：+86

- id：verificationCode；type：string；description：用户已确认四位验证码；建议字符串保存，保留前导零。具体字段命名及服务契约为建议。；rule_status：proposed；contract_status：pending；length：4；pattern：^[0-9]{4}$；source：kind：user_confirmation；date：2026-10-11；channel：browser_design_comment；detail：用户最新标注：所有验证码统一4位；沿用已确认自动提交规则，输入满4位且号码/发码/协议条件齐备时提交。覆盖原UE验证码位数，四位要求已确认。；confirmed_constraints：length：4；allowed_characters：0-9；rule_status：confirmed

- id：agreementAccepted；type：boolean；description：协议业务门槛已确认；具体字段名和存证契约待定。原型未勾选禁用发码/提交。；rule_status：proposed；contract_status：pending

- id：smsStage；type：enum；description：建议 enter-phone/sending/code-sent/verifying/error，同页不加 ID。；rule_status：proposed；contract_status：pending

- id：resendSeconds；type：integer；description：原型从 60 到 0，真实频控未定。；rule_status：proposed；contract_status：pending；prototype_example：60

- id：verificationToken；type：string|null；description：源通过后下发 token，字段/有效期契约未定；预览不生成真实 token。；rule_status：proposed；contract_status：pending

- id：accountClass；type：enum；description：源新/老账号概念，具体来源待定。；rule_status：proposed；contract_status：pending

- id：textbookSetup；type：enum:unstarted|skipped|selected；description：课本selected/unstarted/skipped及引导状态供首页展示使用；不再阻断已登录启动或成功登录进入B。变量名和持久化契约待实现。；rule_status：proposed；contract_status：pending

- id：phoneDisplayValue；type：derived string；description：由纯数字phone派生3-4-4展示，最长13字符；不作为服务提交字段。；rule_status：proposed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；prototype_example：185 0064 3030

## 页面状态

- id：enter-phone；description：初次号码为空，同页发码前，验证码区提示/禁用。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：补全状态不新增 ID。

- id：invalid-phone；description：不符合示例格式，禁用发码。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：格式原未定。

- id：agreement-unchecked；description：未勾选禁用获取/重发验证码和登录；已确认。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- id：sending；description：发送请求态，防重复。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：本次状态设计。；prototype_behavior：当前原型未提供此发送状态演示；为待实现的详细设计建议。

- id：code-sent；description：发码后显示四位输入与倒计时。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：源已发码示例，过程未定。

- id：code-incomplete；description：未满四位不自动提交；满足条件输入恰好四位数字后才进入请求。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；channel：browser_design_comment；detail：用户最新标注：所有验证码统一4位；沿用已确认自动提交规则，输入满4位且号码/发码/协议条件齐备时提交。覆盖原UE验证码位数，四位要求已确认。

- id：verifying；description：校验请求态，防重复。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：本次建议。

- id：code-error；description：错误反馈，锁定门槛待定。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原未定义。

- id：send-error；description：发送失败保留号码并恢复重试。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原未定义。；prototype_behavior：当前原型未提供此发送状态演示；为待实现的详细设计建议。

- id：success-new；description：真实认证成功统一进入B；账号无课本时在首页引导。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- id：success-existing；description：真实认证成功统一进入B；账号无课本时在首页引导。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

## 可切换演示状态

- id：initial；label：短信登录默认；scope：prototype_only

- id：sent；label：验证码已发送；scope：prototype_only

- id：existing_account；label：老账号 · 已有课本；scope：prototype_only

- id：existing_no_book；label：老账号 · 无课本未引导；scope：prototype_only

- id：existing_skipped；label：老账号 · 已跳过课本；scope：prototype_only

- id：loading；label：校验中；scope：prototype_only

- id：error；label：验证码错误；scope：prototype_only

- id：expired；label：验证码过期；scope：prototype_only

## 交互 A-2-I-01：点击返回

- 触发：点击返回

- 条件：在 A-2

- 反馈：返回本机号登录

- 跳转目标：A-1

- 携带数据：

- 规则确认程度：confirmed

- 来源：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- 预览能力：当前预览会话保留输入/倒计时为演示；生产敏感验证码保留期限待定。

## 交互 A-2-I-02：输入/修改手机号

- 触发：输入/修改手机号

- 条件：发码前或需要换号

- 反馈：将输入/粘贴提取为最多11位纯数字并显示3-4-4空格，保存数字光标位置；业务值不含空格。

- 跳转目标：A-2

- 携带数据：手机号

- 规则确认程度：confirmed

- 来源：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- 预览能力：18500643030显示185 0064 3030；展示删除分隔空格时删除相邻数字、编辑光标保留；换号清空码/已发状态为预览建议。

## 交互 A-2-I-03：切换协议勾选

- 触发：切换协议勾选

- 条件：用户主动选择

- 反馈：更新协议选择；未勾选禁止获取及重新获取验证码，自动与手动登录也需同意

- 跳转目标：A-2

- 携带数据：协议状态

- 规则确认程度：confirmed

- 来源：kind：user_confirmation；date：2026-10-11；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- 预览能力：未勾选时发码、重发和登录按钮禁用；勾选后再依据号码、倒计时和四位码条件启用。

## 交互 A-2-I-04：点击获取验证码

- 触发：点击获取验证码

- 条件：协议已选；号码合法、频控、倒计时细节为建议或服务契约待确认

- 反馈：进入请求态，模拟成功后切换已发码状态和倒计时

- 跳转目标：A-2

- 携带数据：手机号；发送状态

- 规则确认程度：proposed

- 来源：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：源倒计时/短信概念，发码步骤与门槛未定义。

- 预览能力：先勾协议且演示号码合法、未提交、不在倒计时，点击后切换已发码与60秒演示；无真实短信请求，频控值仍待定。

## 交互 A-2-I-05：输入满四位验证码

- 触发：输入满四位验证码

- 条件：协议已选，当前号码已发码，输入恰好四位数字；真实校验成功后进入首页B。

- 反馈：真实认证成功后建立会话，统一进入B首页；无课本在首页引导选择。

- 跳转目标：B

- 携带数据：手机号；四位码；校验结果/成功 token 概念

- 规则确认程度：confirmed

- 来源：kind：user_confirmation；date：2026-10-11；channel：browser_design_comment；detail：用户最新标注：所有验证码统一4位；沿用已确认自动提交规则，输入满4位且号码/发码/协议条件齐备时提交。覆盖原UE验证码位数，四位要求已确认。

- 预览能力：仅模拟认证请求与结果；成功进入B首页，未选书显示首页引导；错误留当前页，无真实token。

## 交互 A-2-I-06：点击登录

- 触发：点击登录

- 条件：协议门槛已确认；手动/自动提交的产品关系及其它服务条件待确认

- 反馈：真实认证成功后建立会话，统一进入B首页；无课本在首页引导选择。

- 跳转目标：B

- 携带数据：手机号；四位码

- 规则确认程度：pending

- 来源：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- 预览能力：仅模拟认证请求与结果；成功进入B首页，未选书显示首页引导；错误留当前页，无真实token。

## 交互 A-2-I-07：倒计时结束后点击重新获取

- 触发：倒计时结束后点击重新获取

- 条件：协议已选；号码合法、频控、倒计时细节为建议或服务契约待确认

- 反馈：重新发送验证码，刷新倒计时/失败策略待定

- 跳转目标：A-2

- 携带数据：手机号

- 规则确认程度：proposed

- 来源：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原待确认发送频控和重发值。

- 预览能力：先勾协议且演示号码合法、未提交、不在倒计时，点击后切换已发码与60秒演示；无真实短信请求，频控值仍待定。

## 交互 A-2-I-08：系统短信验证码自动填充

- 触发：系统短信验证码自动填充

- 条件：平台提供验证码填充能力

- 反馈：真实认证成功后建立会话，统一进入B首页；无课本在首页引导选择。

- 跳转目标：B

- 携带数据：四位验证码

- 规则确认程度：confirmed

- 来源：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- 预览能力：系统填充接入同一四位数字输入与提交流程；本包无真实短信或系统填充服务。

## 交互 A-2-I-09：校验失败/验证码错误

- 触发：校验失败/验证码错误

- 条件：真实校验结果失败

- 反馈：不进入成功目标；错误反馈、清码、锁定和重试规则未定

- 跳转目标：A-2

- 携带数据：

- 规则确认程度：proposed

- 来源：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：源报错位和错误次数锁定待定。

- 预览能力：示例错误保留手机号，显示就地反馈，可重新输入；不演示未确认锁定阈值。

## 交互 A-2-I-10：点击协议链接

- 触发：点击协议链接

- 条件：正文待提供

- 反馈：阅读对应协议边界

- 跳转目标：user-agreement / privacy-policy

- 携带数据：协议类型

- 规则确认程度：pending

- 来源：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：源视觉协议名称。

- 预览能力：明确边界说明，可返回保留预览会话，不显示虚构正文。

## 返回与保留

destination：A-1；rule_status：confirmed；preserve：返回目标已确认；手机号、验证码、协议、倒计时生产保留规则未定。建议当前流程保留号码与勾选，验证码时限另确认。；preserve_rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；prototype_behavior：往返 A-1/A-2 在当前预览会话保留填写和倒计时，不声称远程持久化。

## 验收

- id：A-2-AC-01；given：在 A-2；when：点返回；then：回 A-1。；rule_status：confirmed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；verification_scope：product

- id：A-2-AC-02；given：验证码未满四位；when：输入/删除；then：不执行源自动提交。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；channel：browser_design_comment；detail：用户最新标注：所有验证码统一4位；沿用已确认自动提交规则，输入满4位且号码/发码/协议条件齐备时提交。覆盖原UE验证码位数，四位要求已确认。；verification_scope：product

- id：A-2-AC-03；given：真实校验成功且新账号；when：自动提交完成；then：认证成功后进入B首页；没有教材则在首页出现可关闭引导卡。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；verification_scope：product

- id：A-2-AC-04；given：真实校验成功且老账号；when：自动提交完成；then：认证成功后进入B首页；没有教材则在首页出现可关闭引导卡。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；verification_scope：product

- id：A-2-AC-05；given：平台支持短信自动填充；when：系统提供四位码；then：输入可接收填充值并接入同一提交流程；真实设备验收。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；channel：browser_design_comment；detail：用户最新标注：所有验证码统一4位；沿用已确认自动提交规则，输入满4位且号码/发码/协议条件齐备时提交。覆盖原UE验证码位数，四位要求已确认。；verification_scope：product

- id：A-2-AC-06；given：演示号码合法+已发码+协议已选；when：输入完整示例码；then：仅演示结果，无短信/真实 token；错误留页。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：本次真实性约束。；verification_scope：prototype

- id：A-2-AC-07；given：预览倒计时未归零；when：尝试重发；then：真正禁用；归零后能再模拟 60 秒。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：示例倒计时。；verification_scope：prototype

- id：A-2-AC-08；given：号码不合法/未发码/未勾协议任一成立；when：填满四位或激活登录；then：不得自动演示成功，保留条件提示。；rule_status：proposed；source：kind：user_confirmation；date：2026-10-11；channel：browser_design_comment；detail：用户最新标注：所有验证码统一4位；沿用已确认自动提交规则，输入满4位且号码/发码/协议条件齐备时提交。覆盖原UE验证码位数，四位要求已确认。；verification_scope：prototype

- id：A-2-AC-11；given：号码符合演示格式但协议未勾选；when：尝试获取或重新获取验证码；then：按钮禁用且不发送；勾选后再看格式与倒计时条件。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；verification_scope：product

- id：A-2-AC-12；given：输入或粘贴18500643030；when：输入框更新；then：显示185 0064 3030，原始phone保持18500643030；发送和登录的参数不包含空格。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；verification_scope：product

- id：A-2-AC-13；given：已格式化号码；when：在中部输入、删除、选中替换、删除分隔空格；then：光标按数字位置恢复，数字不重复或丢失；分隔空格不会阻止删除号码。；rule_status：proposed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；verification_scope：prototype

- id：A-2-AC-14；given：人类画布审阅；when：查看A-2及五个状态画面；then：同一业务页可横向查看输入后、倒计时、可重发、错误、登录中；各状态不发送短信。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；verification_scope：prototype

- id：A-2-AC-4-DIGITS；given：当前手机号合法、已发码并同意协议；when：输入或系统填充四位数字；then：四个槽位对应显示；未满四位不提交，满四位执行既有自动提交；登录中阻止重复，成功B、失败当前页。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-11；channel：browser_design_comment；detail：用户最新标注：所有验证码统一4位；沿用已确认自动提交规则，输入满4位且号码/发码/协议条件齐备时提交。覆盖原UE验证码位数，四位要求已确认。；verification_scope：product

## 原材料待确认

- id：A-2-P-01；question：输错几次锁定、锁多久？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原待确认。；rule_status：pending

- id：A-2-P-02；question：服务端频控和重发周期是什么？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原待确认。；rule_status：pending；recommendation：rule_status：proposed；text：60 秒仅展示。

- id：A-2-P-03；question：短信验证码自动填充需要支持哪些系统和版本，如何真机验收？；rule_status：pending；source：detail：源待确认栏目提出需支持自动填充；能力要求保留，平台方案与验收待确认。

## 补充未定义事项

- id：A-2-U-01；question：地区码支持、非中国大陆手机号及正式校验契约如何定义？3-4-4展示和原始纯数字值已确认。；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原 additional_unspecified。；rule_status：pending

- id：A-2-U-02；question：协议文本、版本及同意记录如何存证？；source：kind：user_confirmation；date：2026-10-11；detail：原UE认证与课本设置参考；原登录先选书/课本分流规则已被本次用户修改覆盖。当前登录成功和已登录启动统一B，课本由首页引导选择。；superseded_routing_source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。；rule_status：pending

- id：A-2-U-03；question：手动登录是否保留，与自动提交如何防重复？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原 additional_unspecified。；rule_status：pending；recommendation：rule_status：proposed；text：共用一个请求流程，请求中禁用。

- id：A-2-U-04；question：验证码有效期、网络/发送/校验失败如何提示重试？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原 additional_unspecified。；rule_status：pending

- id：A-2-U-05；question：返回再进时号码、协议、验证码、倒计时保留多久？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：原 additional_unspecified。；rule_status：pending；recommendation：rule_status：proposed；text：预览演示保留，生产敏感信息时限待定。

- id：A-2-U-07；question：修改号码是否使验证码/倒计时失效？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-2；英语默写代码/xzx-pages/pages/A-2.html；detail：源未定义。；rule_status：pending；recommendation：rule_status：proposed；text：换号后清空验证码和该号码已发状态，避免混配。

## 实现边界

- 真实服务字段、鉴权、错误码、重试、持久化契约未提供。

- data_model 的具体字段名/类型为建议，不作为已确认 API 契约。

## 原型限制

- 无真实认证、取号、短信、网络请求、远程档案存储。

- 演示手机号、验证码、封面、版次、成功失败不是认证结果或正式教研目录。

- 本地跨页保留仅展示返回体验，不定义生产持久化。

- 完整模拟器、状态栏、手势条保留，演示控件属于宿主。

- 旧预览缓存若仍含超四位验证码将清空后重新输入；不将旧码截断后自动认证。

## 能力与接入限制

scope：本轮认证与四个首页Tab；验证码的五个额外画面为A-2同页状态预览。；prototype：无真实认证、取号、短信、网络请求、远程档案存储。；演示手机号、验证码、封面、版次、成功失败不是认证结果或正式教研目录。；本地跨页保留仅展示返回体验，不定义生产持久化。；完整模拟器、状态栏、手势条保留，演示控件属于宿主。；implementation：真实服务字段、鉴权、错误码、重试、持久化契约未提供。；data_model 的具体字段名/类型为建议，不作为已确认 API 契约。

## 预览宿主与产品 UI

手机外壳、项目导航、演示状态选择器、页面说明、页面编号与前后页导航属于预览宿主。产品实现包含屏幕内的业务 UI，状态栏与手势条由目标系统承载。原型仅操作本地示例状态，不发送真实短信，不执行真实认证；首页统计与教研目录为示例，不保存用户档案到服务端。
