# A-1 · 本机号一键登录

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

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

## 职责与进入条件

通过本机号码认证完成登录；提供其他手机号登录切换入口。

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

## 界面元素

- id：A-1.heading；type：text；label：手机号登录；description：沿用主标题。；rule_status：confirmed

- id：A-1.description；type：text；label：用本机号码，不用等验证码；description：说明本机号码登录方式。；rule_status：confirmed

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

- id：A-1.carrier；type：text；label：号码认证服务说明；description：源示例“中国移动提供认证服务”，供应商待确认，不固定生产文案。；rule_status：pending

- id：A-1.login；type：button；label：本机号码一键登录；description：协议未选时真正 disabled，选中才启用。；rule_status：confirmed

- id：A-1.agreement；type：checkbox；label：我已阅读并同意；description：源默认未勾选；勾选影响一键登录可用性。；rule_status：confirmed

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

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

- id：A-1.other-phone；type：button；label：用其他手机号登录；description：次级文字入口，无描边、底色或箭头，14px普通字重，44px可点击高度；仍进入A-2。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-12；detail：用其他手机号登录太明显，改为次级文字入口，覆盖此前描边大按钮的要求。

- id：A-1.feedback；type：status；label：认证反馈；description：源预留报错位；请求中和失败呈现为详细状态建议。；rule_status：proposed

## 数据与来源

- name：运营商号码认证能力；data：完整本机手机号；认证结果；账号新/老分类；contract_status：pending；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.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-1；英语默写代码/xzx-pages/pages/A-1.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-1；英语默写代码/xzx-pages/pages/A-1.html；detail：源只提供协议名称。

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

- id：phoneNumber；type：string；description：真实取号返回完整手机号，业务值11位数字；显示格式化为3-4-4。接口字段为建议。；rule_status：proposed；contract_status：pending；prototype_example：18500643030；source：kind：user_confirmation；date：2026-10-11；detail：当前修改：产品名英语默写AI版，沿用“按课本出默写单，打印就能用”；本机号码完整显示、协议不折行、其他手机号入口加强；短信号码显示3-4-4空格并提供多个状态画面；登录成功统一进入B首页，选课本改为进入首页后通过可关闭引导卡发起。发码前同意协议规则继续生效。

- id：agreementAccepted；type：boolean；description：源确认一键登录需勾协议。；rule_status：proposed；prototype_example：False

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

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

- id：authenticating；description：请求中避免重复提交。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：本次状态设计。

- id：authentication-error；description：失败反馈并允许重试/切换号码。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：失败细节原未定义。

- id：number-unavailable；description：自动降级策略未确认。；rule_status：pending；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：原待确认。

- 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：new_account；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：unavailable；label：取号失败；scope：prototype_only

## 交互 A-1-I-01：切换协议勾选

- 触发：切换协议勾选

- 条件：用户主动选择

- 反馈：更新勾选；未选禁用/已选启用一键登录

- 跳转目标：A-1

- 携带数据：协议勾选状态

- 规则确认程度：confirmed

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

- 预览能力：使用真实 checkbox 或可访问等效控件，按钮 disabled；未勾选不能触发模拟登录。

## 交互 A-1-I-02：点击本机号码一键登录

- 触发：点击本机号码一键登录

- 条件：协议已选，真实认证成功且为新账号

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

- 跳转目标：B

- 携带数据：认证结果概念；课本状态及首页引导上下文

- 规则确认程度：confirmed

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

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

## 交互 A-1-I-03：点击本机号码一键登录

- 触发：点击本机号码一键登录

- 条件：协议已选，真实认证成功且为老账号

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

- 跳转目标：B

- 携带数据：认证结果概念

- 规则确认程度：confirmed

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

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

## 交互 A-1-I-04：点击一键登录

- 触发：点击一键登录

- 条件：请求中或认证失败

- 反馈：请求中阻止重复提交，失败留本页并显示可恢复反馈

- 跳转目标：A-1

- 携带数据：

- 规则确认程度：proposed

- 来源：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：源未定义请求中和失败细节。

- 预览能力：宿主切换失败场景显示示例错误并恢复按钮，不伪造服务错误码。

## 交互 A-1-I-05：点击用其他手机号登录

- 触发：点击用其他手机号登录

- 条件：源未声明额外条件

- 反馈：进入短信验证码登录

- 跳转目标：A-2

- 携带数据：

- 规则确认程度：confirmed

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

- 预览能力：协议未选或模拟失败后均可主动切换。

## 交互 A-1-I-06：点击协议链接

- 触发：点击协议链接

- 条件：正文待提供

- 反馈：阅读对应正文，阅读返回保留策略未定

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

- 携带数据：协议类型

- 规则确认程度：pending

- 来源：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：源展示协议名称，正文与返回行为未定义。

- 预览能力：进入明确协议服务边界说明，可返回 A-1，不显示虚构法律条款。

## 交互 A-1-I-07：取号失败/双卡/无 SIM

- 触发：取号失败/双卡/无 SIM

- 条件：自动降级规则待确认

- 反馈：候选策略为转 A-2，当前不可视为已确认

- 跳转目标：A-2（待确认）

- 携带数据：

- 规则确认程度：pending

- 来源：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：原待确认：取号失败 / 双卡 / 无 SIM 时直接落到 A-2。

- 预览能力：仅说明候选降级，不把失败转换成成功。

## 返回与保留

destination：pending；rule_status：pending；preserve：源未定义系统返回与取消认证。建议往返 A-2 或协议边界保留本次勾选；生产规则需确认。；preserve_rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：additional_unspecified：返回键与取消认证。；prototype_behavior：往返 A-2/协议边界在当前预览会话保留勾选；不恢复 E-4 已退出的真实登录态。

## 验收

- id：A-1-AC-01；given：协议未选；when：点击/键盘激活一键登录；then：不执行认证或演示成功跳转。；rule_status：confirmed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.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-1-AC-02；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-1-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-1-AC-04；given：当前在本页；when：点击用其他手机号登录；then：进入 A-2。；rule_status：confirmed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.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-1-AC-05；given：预览失败场景；when：模拟登录；then：留本页、恢复按钮并可切换号码，无真实认证宣称。；rule_status：proposed；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：本次补齐失败状态。；verification_scope：prototype

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

- id：A-1-AC-10；given：390宽产品画面；when：查看协议和替代登录入口；then：协议文案整行不折行；其他手机号为无边框次级文字入口，可正常进入A-2。；rule_status：confirmed；source：kind：user_confirmation；date：2026-10-12；detail：用其他手机号登录太明显，改为次级文字入口，覆盖此前描边大按钮的要求。；verification_scope：product

## 原材料待确认

- id：A-1-P-01；question：选哪家号码认证服务，费用/到达率/平台覆盖如何？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：原待确认。；rule_status：pending

- id：A-1-P-02；question：取号失败、双卡、无 SIM 是否一律自动落 A-2？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：原待确认。；rule_status：pending

- id：A-1-P-03；question：iOS 是否补 Apple 登录，账号合并规则如何？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：原待确认：iOS 上架多半要补 Apple 登录。；rule_status：pending

- id：A-1-P-04；question：是否增加运营商认证服务条款，勾选范围如何定义？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：原协议行只有两条，源已列待确认。；rule_status：pending

## 补充未定义事项

- id：A-1-U-01；question：认证超时/取消/失败反馈及重试条件是什么？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：原 additional_unspecified。；rule_status：pending；recommendation：rule_status：proposed；text：请求中阻止重复提交，失败后保留换号入口。

- id：A-1-U-02；question：系统返回/取消认证，尤其从 E-4 进入时如何处理？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：原 additional_unspecified。；rule_status：pending

- id：A-1-U-03；question：协议存证/版本、阅读后勾选是否保留？；source：files：英语默写代码/app说明示例/login-source-specs.json#/A-1；英语默写代码/xzx-pages/pages/A-1.html；detail：源未给出。；rule_status：pending

## 实现边界

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

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

## 原型限制

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

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

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

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

## 能力与接入限制

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

## 预览宿主与产品 UI

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