U8 产品原型站功能原型演示与产品需求文档 · 供开发与决策快速浏览

U8 Chat 2.0 · 登录密码(密码登录 / 设置密码 / 忘记密码)产品需求文档(PRD)

资料与设置 23588 字 02_PRD-密码登录.md 更新于 2026-09-23
← 返回功能演示列表
项目内容
文档版本v1.0(2026-09-22)· 新增功能:给账号加一条可选的、后设置的登录密码
功能模块① 登录页(新增「密码登录」入口)② 我的 → 隐私和安全 → 登录密码
适用端iOS / Android(同一个 App,一套规则)。Web / Desktop 本期不做,原因见第九章
演示页同目录 index.html(18 屏可点击:A 登录与注册 5 屏 · B 设置与修改密码 6 屏 · C 忘记密码 5 屏 · D 通知与总览 2 屏)。它的作用=给 UI 设计的「流程 + 入口」清单;版式细节以 UI 为准(见决策 23)
设计稿Figma 6dsI4eKdAoZr4RP0uILIBq(U8 Chat 2.0)· PAGE「iOS端」:SECTION「登录注册」1092:61746(1 个画板「登录」1092:66063)与 SECTION「我的-隐私和安全」803:143913(5 个画板,入口页 802:128996)。⚠️ 登录画板的主体是实机截图的位图,矢量部分只有右上角新增的「网络诊断」入口 —— 所以本次做法是:已有画板 1:1 照做(一句文案都不自造),只新增「密码登录」入口与「登录密码」行;设计稿没画的页面在交付物里逐屏标注「设计稿未画 · 文案本次自拟」。⚠️ 这份设计图=「目标状态」(我们要做成这样),但它不全 —— 有一部分功能是以前的 UI 同事做的,图纸不在其中,所以「设计图里没有 ≠ 这个页面没做过」;哪些页面已经开发完成,一律由产品确认(2026-09-23 产品澄清)
参照产品Telegram(Password / Two-Step Verification 的形态)—— 但明确不采用它的 2FA,理由见第三章
一句话需求账号体系不变(手机号首次登录即注册);新增后设置的登录密码,设置后可用「手机号 + 密码」登录;忘记密码走短信验证码重置;本期不额外做两步验证(2FA)

本 PRD 做了什么:这个功能的界面工作量不大(登录页多一个入口、设置里多一行),真正要写清的是三件事 —— ① 密码与验证码是什么关系(两条平行的登录方式,不是两步验证);② 忘记密码怎么自救(本期没有客服);③ 密码的规则、错误次数、锁定,以及重置后的设备处置。分别落在第三、七、八章。 与既有交付物的关系:验证码参数(5 位 / 5 分钟 / 30s 重发 / 错误 5 次锁 24 小时)与「修改手机号」统一;系统通知由官方账号「U8 Chat」承载、验证码走哪条通道、新设备登录通知全部沿用「设备管理」6.9.1,本 PRD 不重新定义。 演示页怎么用:index.html 共 18 屏,左栏可按「核心路径(P0)/ 规则与状态(P1)」筛屏;手机屏上的虚线框就是可点的地方,鼠标悬停会显示它跳到哪一屏。 本次范围(2026-09-23 产品明确):只做 密码登录 + 忘记密码;密码登录的前提=手机号已注册登录、且用户自己设置过密码(没有默认密码)。已经开发完成的页面(登录验证码页、手机号位数校验弹窗)不再画;与本次无关的元素(网络诊断入口、国家编码能否点等)既不做标注也不做解释(开发有疑问产品会自己解答)。演示页说明栏只写本次新增的内容。 演示版与设计稿的关系(2026-09-23 产品澄清,重要):本演示与 PRD 都是「UI 设计之前的输入」 —— 作用是告诉 UI「这个功能有哪些流程、有哪些页面、从哪儿进」,并给出每个页面的规则与文案建议。已有的 Figma 画板(登录页、我的-隐私和安全)照做;还没画的页面由本演示给出建议稿。最终视觉以 UI 设计为准,因此按钮摆放、间距一类版式细节不作为评审与验收项。


一、背景与目标

1.1 背景

U8 Chat 的账号体系里手机号就是账号:注册、登录、加好友、找回都围绕它。原本唯一的登录方式是「手机号 + 验证码」,并且新用户手机首次登录即完成注册 —— 没有独立的注册流程,用户在这一步看不到「注册」两个字。这套逻辑本次保持不变。

本次新增的是一条平行的登录方式:登录密码。

  • 定位:手机不在身边 / 收不到验证码时的备用入口;常用设备上更快的登录路径;服务端侧多一道不依赖短信通道的凭证。
  • 形态:密码是后设置的、可选的(产品原话:「密码是后设置的」)—— 不强制、不弹窗打断,入口放在「我的 → 隐私和安全 → 登录密码」,由用户在已登录状态下自己设。

1.2 现状问题(本次要解决的)

#问题后果
1只有验证码一条路短信收不到就登不进来:境外卡、短信被拦截、运营商故障、换机未同步、手机不在身边。账号下有活跃设备时,验证码还只发到已登录设备的会话里,手机不在身边同样拿不到
2密码是「后设置」的,却没有入口没有地方设置、也没有地方能看出「我到底设过没有」
3忘记密码无路可走本期没有客服功能;只做密码登录不做找回,忘记密码的用户会永久失联
4密码与验证码的关系没有定义会不会变成 Telegram 那样的两步验证?要不要每次登录输两个凭证?不定义就会被各端各做一套

1.3 目标

业务目标

  • 在不改变账号体系、不增加注册流程的前提下,把「收不到验证码就登不进来」这个单点问题补掉。
  • 为后续的风控与账号安全能力留下挂钩点:密码 + 设备 + 通知三条线索。

用户目标

  • 想设密码的人能找到地方设置,并且明确知道「设了之后验证码登录依然可用」;
  • 忘记密码的人能自己救回来(本期靠短信验证码);
  • 输错密码的人知道还能试几次、什么时候能再试、还有哪条路能走。

1.4 成功指标(上线首月,目标值需先取基线再锁定)

指标目标
密码设置率(已登录用户中设置过登录密码的占比)≥ 20%
密码登录成功率(进入密码登录页 → 登录成功)≥ 85%
忘记密码流程完成率(进入「忘记密码」→ 重置成功)≥ 60%
与密码相关的用户反馈 / 工单目标 0(本期无客服,只能靠文案与自助页兜住)

二、范围

2.1 本期做

  • 登录页新增「密码登录」入口 + 密码登录页(含密码错误 / 次数超限锁定 / 该号未设置密码三种结果)
  • 「我的 → 隐私和安全」新增「登录密码」行,含设置 / 修改 / 关闭
  • 忘记密码:短信验证码 → 设置新密码 → 用新密码登录
  • 「没收到验证码?」自助排查页(无客服口径)
  • 系统通知沿用官方账号「U8 Chat」:新用户首次登录 / 登录验证码 / 新设备登录(密码登录也发)
  • 密码规则校验、密码错误次数与锁定

2.2 本期不做(明确划出)

不做的事原因
登录 / 注册的验证码页已开发完成,本次不重复设计(演示里也不再画)—— 见决策 24
两步验证(2FA)已决策不做,完整论证见第三章
邮箱 / 好友辅助找回账号体系只有手机号,没有邮箱;没有可用的好友关系链做辅助验证
密码提示(hint)、密保问题没有找回通道配套,做了也救不回人;反而给撞库者提供线索
账号申诉与人工找回(需客服)本期没有客服功能。这是下一期的第一优先级(见 3.5)
强制设置密码 / 首次登录弹窗引导设置密码定位是可选的备用入口,强制会挡住只想用验证码的绝大多数用户
密码有效期 / 定期强制改密没有客服兜底时,任何「到期必须改」的规则都会制造失联用户
生物识别(Face ID / 指纹)解锁应用属「应用锁」,随全局排期
资金密码 / 支付密码的任何改动与登录密码是两套东西,归属资产模块(设备管理亦已决策不做资金密码二次验证)
Web / Desktop 的密码登录见第九章
深色模式、大字号无障碍适配随全局一起排期

三、核心决策:做了密码登录,为什么不再单独做两步验证(2FA)★

这一章正面回答产品提出的问题:「有了密码登录,是不是就可以不做两步验证了?」 结论:可以不做的,本期也建议不做。 下面按「概念 → 能力 → 代价 → 兜底 → 触发条件」说清。

3.1 先把三个容易混的东西分开

概念是什么U8 里对应什么
登录方式进入账号的一道门。多道门之间是「选一道走」① 验证码登录 ② 密码登录 ③ 扫码登录(②为本期新增)
两步验证(2FA)同一次登录里要求两种不同因子(知识 + 持有)= 「一道门上加两道锁」本期不做。Telegram 的 Two-Step Verification 就是它:验证码之后还要再输密码
敏感操作二次验证登录之后做高危操作时再确认一次身份已有:换绑手机号先验旧号;本 PRD 新增:改密码 / 关密码要验当前密码;设备管理已决策不做资金密码 / Face ID

关键区别:密码登录与验证码登录是两条平行的路(二选一),不是同一条路上的两道关卡。所以「做了密码登录」不等于「已经做了两步验证」—— 两者解决的不是同一个问题。但正因为密码提供了第二条独立的进门路径,2FA 的必要性反而下降(见 3.3、3.4)。

3.2 2FA 能防什么

2FA 的收益只有一条:当第一个因子泄露时,攻击者仍然需要第二个因子。

攻击场景2FA 有没有用
密码被撞库 / 泄露,攻击者拿密码登录有用(还差一条验证码)
验证码被截获(短信劫持、诱导转发、木马读短信)有用(还差密码)—— 前提是攻击者不知道密码
手机被偷但已解锁、App 处于已登录状态没用(攻击者直接就是"已登录"状态)
用户被诱导,自己把验证码念给了骗子没用(登录是在用户自己的设备上完成的)

而 U8 的现实是:主登录方式就是验证码。攻击者要进门,通常得先控制手机号(补卡 / 换绑)或控制一台已登录设备 —— 这两件事 2FA 都拦不住。真正拦得住、且事后能止损的是「登录通知 + 远程注销」(见 3.4)。另外,验证码作为第二因子,本身并不比密码更"硬":短信可以被劫持,而手机号还可能被补卡。

3.3 2FA 的代价(本期尤其不该做的理由)

代价具体到 U8
忘记密码 = 永久失联2FA 意味着密码成为登录的必经凭证。本期没有客服、没有申诉、没有账号找回(修改手机号 PRD 也明确本期不开免验证口子)—— 忘记那个密码的用户没有任何路可以走。这是最硬的一条反对理由:在找回通道上线之前,不该引入"用户可能忘掉、且无法找回"的必填凭证
抵消「备用入口」的价值密码的定位是「手机不在身边时用」。若密码登录仍要求验证码,那么手机不在身边时这条路同样走不通 —— 功能白做
登录变重每台设备、每次登录都要过两道。对绝大多数只是换手机的用户,这是纯粹的摩擦
支持成本本期没有客服,任何"卡在登录"的用户都无处求助,只能卸载

3.4 U8 已有的兜底(覆盖面比 2FA 更广)

兜底作用归属
新设备登录通知每一次新的登录(验证码 / 密码 / 扫码)都给其它在线端发一条通知,事后可发现设备管理 6.9.1(本期沿用;密码登录也发)
设备管理里远程注销发现异常后一键掐断任意设备的会话设备管理(已有交付物)
扫码登录 + 手机端确认电脑上登录必须由手机端确认,等于给桌面端加了一道"持有手机"的因子设备管理 6.8
密码错误锁定提高密码被暴力破解的成本本 PRD 8.2
敏感操作二次验证换绑手机号先验旧号;改密码 / 关密码验当前密码修改手机号交付物 + 本 PRD

一句话:U8 的安全投入放在「登录之后」(可见、可止损),而不是「登录那一刻」(不可见、一旦忘记就锁死)。在只有手机号一个账号体系、且没有客服的阶段,这是更划算的一侧。

同时要点明:「二次验证」这个需求并不等于 2FA。产品希望的那种"关键操作再确认一次"的能力,已经通过上表最后一行被满足了,只是它不叫两步验证。

3.5 什么情况下应该回头做 2FA(触发条件,写下来备查)

出现以下任意一条,重新评估:

  1. 客服 / 账号申诉通道上线(忘记密码能被人工救回)—— 这是最前置的条件;
  2. 数据上出现「密码被撞库后成功登录」的真实案例;
  3. 密码登录成为主要登录方式(占比 > 50%);
  4. 监管或合规要求。

如果将来做,建议形态是「可选开启」的 2FA:默认关闭,用户主动开启;开启时要求绑定手机号并生成一组恢复码(Recovery Code),并明确告知「忘记密码只能靠恢复码或人工核验」。不要做成默认强制。


四、名词定义

名词定义
登录密码用户自选的、用于登录的密码。与资金密码 / 支付密码无关,两者互不影响
验证码登录手机号 + 验证码。5 位数字 / 5 分钟有效。账号下有活跃设备时,验证码改走官方账号会话(不走短信)
密码登录手机号 + 登录密码。不发验证码,不受「验证码只发已登录设备」的限制
首次登录即注册手机号在库里不存在时,验证码验证通过即创建账号并登录,用户无感知、页面上不出现「注册」
官方账号 U8 Chat承载系统通知的官方会话(带认证标识、可聊天),三条消息见 7.7
重置票据忘记密码流程中,验证码校验通过后签发的一次性凭证(10 分钟有效,用后作废)
活跃设备账号下当前有效(未注销、未过期)的登录会话

五、用户与场景

场景描述走哪条路关键诉求
A · 换新手机(短信收得到)新设备登录验证码登录保持现状,别变复杂
B · 手机不在身边在别的设备上要登录密码登录只要密码就能进
C · 想给账号加一道锁已登录,去设置密码设置登录密码(B1→B2)知道设了之后还能用验证码
D · 忘了密码密码登录这条路走不通忘记密码(C1→C4)用手机号能救回来
E · 密码可能泄露怀疑被别人知道改密码(B4)/ 重置(C1)改完能把设备踢掉
F · 手机号也停用了任何验证码都收不到⚠️ 无路可走本期只能自助提示(C5),下一期账号找回

六、功能总览

                        ┌───────────────────────────────────────────────┐
                        │  登录页(A1)                                  │
                        │  手机号 + 验证码        ← 默认(原样保留)      │
                        │  「密码登录」            ← 本次新增             │
                        └───────┬──────────────────────┬────────────────┘
                                │                      │
                    验证码路(原样保留)          密码路(本次新增)
                                │                      │
              ┌─────────────────▼──────────┐  ┌────────▼────────────────────┐
              │ 验证码页:已开发完成        │  │ 密码登录页(A3)             │
              │ · 没有账号 → 自动注册+登录   │  │ · 密码错   → A4(还剩几次)  │
              │ · 有账号   → 直接登录        │  │ · 错太多   → A5(锁 15 分钟)│
              │                             │  │ · 没设过   → A6(回验证码)  │
              │ (不在本次演示范围)        │  │ · 忘记密码 → C1              │
              └─────────────────────────────┘  └─────────────────────────────┘
                                               └─────────────────────────────┘

   已登录侧(B)                          忘记密码(C)
   ┌───────────────────────────────┐     ┌────────────────────────────────────┐
   │ 我的 → 隐私和安全(B1)        │     │ 忘记密码(C1)                     │
   │ 「登录密码」= 未设置 / 已设置  │     │   → 短信验证码(C2)                │
   │  ├ 设置(B2 → B3)             │     │   → 设置新密码(C3)                │
   │  ├ 修改(B4 → B5)             │     │   → 重置成功(C4)                  │
   │  └ 关闭(B6)                  │     │   → 其它设备上的登录全部失效        │
   └───────────────────────────────┘     │ 收不到短信 → 自助排查(C5)        │
                                          └────────────────────────────────────┘

   共用兜底(D):官方账号 U8 Chat 的新设备登录通知(D1)· 设备管理里远程注销 · 扫码登录

6.1 页面清单

屏名称说明优先级
A1登录页 · 验证码登录(默认)底部新增「密码登录」入口P0
A3登录页 · 用密码登录本次核心新增页P0
A4密码错误(弹窗)给出剩余次数P0
A5错误次数过多 · 暂时锁定(弹窗)15 分钟,验证码登录不受影响P1
A6该账号还没有设置登录密码(弹窗)直接回验证码登录P1
B1我的 → 隐私和安全「登录密码」入口P0
B2设置登录密码双输入 + 规则说明P0
B3设置成功(弹窗)说明忘记可用短信重置P0
B4修改登录密码验当前密码 + 关闭入口P0
B5修改成功(弹窗)明确「其它设备不被踢」P0
B6关闭登录密码(确认弹窗)两按钮P1
C1忘记密码 · 发送验证码号码只展示 + 中间四位脱敏P0
C2输入验证码短信(重置)复用同一套验证码页P0
C3设置新密码规则与 B2 逐字一致P0
C4重置成功(弹窗)其它设备登录失效P0
C5没收到验证码?(自助排查)两条自查 + 无客服口径的标注P1
D1官方账号 U8 Chat三条系统通知P0
D2登录方式总览流程梳理(也是 2FA 结论的图示)P0

七、需求详述

7.1 登录页与「首次登录即注册」#A1(P0)

入口:App 启动后未登录 → 直接落在登录页。这一页的默认方式不变,仍是验证码登录。

元素内容规则
标题手机号登录照 Figma 画板「登录」1092:66063
副标题未注册的用户,验证后将自动注册账号并登录照画板;「首次登录即注册」就落在这句话里
右上角网络诊断画板已有,本次不改
国家 / 地区行🇨🇳 中国可以切换,且是已经开发好的功能 —— 本次不画、不标注(2026-09-23 产品确认)
号码行11 位数字;空时显示占位 000 0000 0000位数不对在点「继续」时就地拦(与既有登录页一致,不在本次演示);不发码、不消耗次数
主按钮继续空输入时置灰(照画板),输入 11 位后变紫
底部○ 登录即代表同意用户协议和隐私政策照画板
★ 本次新增密码登录(放在同意条款行下方居中,进 A3)画板之外唯一的新增

验证码登录 = 首次登录即注册(本次不变)

登录验证码页(输入 5 位验证码那一屏)已经开发完成,本演示与 UI 都不再重复画(2026-09-23 产品确认);下面这段讲的是服务端判定,仍然成立。

用户输入手机号 → 点「继续」→ 发验证码
   → 输入验证码 → 服务端校验
       ├─ 手机号在库里不存在 → 创建账号 → 登录成功 → 该设备收到「新用户首次登录」欢迎消息
       └─ 手机号已存在       → 直接登录
规则说明
触发条件验证码校验通过,且该手机号没有账号
用户可见的差异没有。页面上不出现「注册」,也不出现「欢迎注册」
需要用户额外填的信息没有。昵称、头像等资料一律后续在「我的 → 编辑资料」补
新用户第一台设备的验证码通道短信(账号下没有活跃设备)
登录成功后的可见证据官方账号会话里的「新用户首次登录」欢迎消息(见 7.7)

⚠️ 不要为了"密码功能"在登录页加「注册」按钮或「密码登录 / 注册」两个 Tab —— 那会把一个无感的自动注册变成用户要做的选择题。

按设计稿还原(2026-09-23 拿到画板后):登录页 1:1 照 Figma 画板「登录」(1092:66063)—— 标题「手机号登录」· 副标题「未注册的用户,验证后将自动注册账号并登录」· 国家行「🇨🇳 中国」· 号码行 +86 + 占位 000 0000 0000(带下拉尖角)· 灰色「继续」· 底部「○ 登录即代表同意用户协议和隐私政策」· 右上角「网络诊断」,逐字逐项照画板。按钮空输入时置灰(画板画的就是这个状态),输入 11 位号码后变紫。

★ 本次唯一的新增:同意条款行下方一行居中的紫色「密码登录」入口(走进 A3)。画板上既有元素的位置与文案一处未动。(入口放在哪儿是建议,最终由 UI 定。)

7.2 密码登录 #A3 #A4 #A5 #A6(P0)

入口:登录页底部「密码登录」(A1 → A3)。唯一入口,不在别处再放。

⚠️ 不支持「默认密码」:系统不提供任何默认密码,也不允许"没设置过密码就直接用密码登录"。密码只能由用户自己设置(B1 → B2);没设过密码时,点「登录」一律走 A6(提示用验证码登录)。这是本功能的硬前提(2026-09-23 产品明确)。

元素内容规则
标题手机号登录与登录页同一标题
副标题输入手机号与密码建议文案,最终以 UI 为准
国家行 / 号码行🇨🇳 中国 · +86 + 11 位号码与登录页一致
密码行掩码圆点 + 右侧「显示」可切明文自查
主按钮登录空输入置灰,输入后变紫
底部条款行○ 登录即代表同意用户协议和隐私政策与登录页一致
★ 底部两排链接上排「忘记密码?」 → C1 / 下排「验证码登录」 → A1忘记密码是密码登录唯一的自救口,不能藏进设置;两排而不是一行,避免误点

点「登录」的结果分支

#条件表现屏
1手机号 + 密码正确直接登录成功(与验证码登录完全一致);所有其它在线端收到「新设备登录」通知D1
2手机号存在、密码错误iOS 弹窗「密码错误,请重新输入(还可以尝试 4 次)」→ 点「好」保留手机号、清空密码A4
3错误次数达到阈值iOS 弹窗「密码错误次数过多,请 15 分钟后再试。你也可以用验证码登录。」A5
4手机号存在,但从未设置过密码iOS 弹窗「这个账号还没有设置登录密码,请用验证码登录。」→ 点「好」回 A1 且带入手机号A6
5手机号位数不对iOS 弹窗给出提示,不发请求(与既有登录页一致,不在本次演示)—
6手机号不存在⚠️ 与 A6 同一提示「这个账号还没有设置登录密码」—— 不泄露"该号码未注册"A6

规则

  • 不发验证码:密码登录与验证码通道无关,因此不受「验证码只发已登录设备」的限制 —— 这正是它作为备用入口的价值。
  • 新设备上直接放行(已拍板):不要求第二因素,风险由「新设备登录通知 + 设备管理远程注销」承担。
  • 不做「记住密码 / 记住我」勾选框(2026-09-22 已拍板):登录态默认记住(与验证码登录一致);要退出走「我的 → 退出登录」。
  • 不改动登录页的默认方式:默认永远是验证码登录。
  • 密码字段不做长度预校验:位数/规则只在服务端判定,客户端只负责拦截"空密码"。

7.3 设置登录密码 #B1 #B2 #B3(P0)

入口路径:我的 → 隐私和安全 → 登录密码。入口页 1:1 照 Figma 画板「我的-隐私和安全」(802:128996):卡片一 = 已拉黑的用户(2)/ 锁定码&Face ID(关闭)/ 登录密码(本次新增) / 资金密码(已设置)/ 密保问题(未设置);卡片二 = 手机号(不允许任何人);卡片三 = 注销账号(红字)。

★ 本次唯一的新增:在「锁定码&Face ID」与「资金密码」之间插入一行「登录密码」(绿色钥匙图标),值两态 未设置 / 已设置;其余每一行都是画板原样。(行放在哪儿是建议,最终由 UI 定。)

元素内容规则
行右侧值未设置(灰)/ 已设置未设置 → 进 B2;已设置 → 进 B4
卡片说明登录密码用于收不到验证码时登录账号,也可以在常用设备上快速登录。设置后验证码登录依然可用。「设置后仍可用验证码」这句必须留
本页不放的行两步验证 / 密码提示 / 密保问题 / 邮箱不做就不画(见 2.2、第三章)
占位行应用锁(未启用)、设备分别是全局排期与他人已交付功能,点了给提示、不跳屏

B2 设置页

元素内容
标题 / 说明设置登录密码 / 设置后,你可以用「手机号 + 密码」登录 U8 Chat。密码只保存在服务器,我们不会以任何方式向你索要。
输入密码 + 确认密码(双输入)。默认隐藏(掩码),右侧眼睛图标可切明文
规则文案6–18 位,至少包含字母和数字;不能与手机号相同
按钮完成(不做置灰,点了再校验)
失败反馈iOS 弹窗:不符合规则 / 两次输入不一致(文案见第十章)

B3 成功弹窗:紫圆 ✓ +「登录密码已设置」+「现在可以用手机号 + 密码登录 U8 Chat。忘记密码时可以通过短信验证码进行重置。」+「完成」→ 回 B1(该行值变「已设置」)。

  • 设置密码不产生新登录,因此不发「新设备登录」通知。
  • 设置成功后不发账号安全通知(2026-09-22 已拍板):设置密码没有产生新登录,通知会变成噪音。

7.4 修改登录密码 #B4 #B5(P0)

元素内容规则
输入当前密码 + 新密码 + 确认新密码。默认隐藏(掩码),右侧眼睛图标可切明文必须先验当前密码 —— 手机在别人手里且未锁屏时,这是唯一挡得住的一道
当前密码错误iOS 弹窗「当前密码不正确」不计入 A4 / A5 的登录错误计数(那套只针对登录)
新密码规则与 B2 逐字一致同一规则在两处写法不同是最容易被当 bug 上报的问题
后果说明修改后所有会话(含本机)全部退出,需要用新密码重新登录比换绑更严:改密码是敏感操作,全清最安全;与 C4 重置密码的口径一致
按钮完成
底部红色「关闭登录密码」→ B6密码可选项必须可关

B5 成功弹窗:紫圆 ✓ +「登录密码已更改」+「为保护账号安全,其它设备上的登录已全部退出。请用新密码重新登录。」+「去登录」→ A3(密码登录页)。

  • 本机也被登出,所以唯一出口是把用户送回登录页,而不是回「隐私和安全」。

7.5 关闭登录密码 #B6(P1)

项规则
入口修改密码页(B4)底部的红色「关闭登录密码」
形式iOS 两按钮确认弹窗:取消 | 关闭
文案关闭后将只能用验证码登录,确定要关闭登录密码吗?
前置校验必须同时校验当前密码(用 B4 已输入的那一次),否则拿到手机的人可以一键把密码关掉
关闭后服务端清掉密码 → 回 B1(行值变「未设置」)→ 结果弹窗「登录密码已关闭」
通知不发「新设备登录」通知(没有产生新登录);不发短信通知(2026-09-22 已拍板)
影响其它设备上的登录不受影响(关密码不等于登出)

7.6 忘记密码 #C1 #C2 #C3 #C4 #C5(P0)

入口:密码登录页的「忘记密码?」(A3)。唯一入口 —— 登不进来的人进不去设置页。

A3 忘记密码? → C1 发送验证码(号码只读)
   → C2 输入验证码短信(5 位 / 5 分钟)
       → 校验通过 → 签发一次性重置票据(10 分钟)
           → C3 设置新密码(双输入)
               → C4 重置成功(其它设备登录全部失效)→ 去登录(回 A3)
       → 收不到短信 → C5 自助排查 → 重新发送(回 C2)
屏关键规则
C1号码只展示、不可改(从 A3 带过来,中间四位脱敏)—— 不做成输入框;点「发送验证码」走短信(这条流程不依赖活跃设备)。本页不放「没收到验证码?」 —— 那时还没发码,那颗链接属于 C2
C2与换绑、登录同一套验证码页(气泡 + 号码 + 5 方框 + 浮动键盘 + 30s 重发),号码同样中间四位脱敏;多一行「← 没收到验证码?」
C3新密码 + 确认新密码,规则与 B2 逐字一致;不允许返回改手机号(票据与号码绑定,返回即作废)
C4紫圆 ✓ +「登录密码已重置」+「请用新密码登录。为保护账号安全,其它设备上的登录已全部失效。」+「去登录」→ A3
C5两条自查(信号与短信拦截 / 号码是否填对)—— 原「等 60 秒后重发」已删(用户会主动重发,不必教);按钮「知道了」回到 C2。号码停用 / 丢失怎么办不作为用户文案 —— 页面上只留一条标注(给开发 / UI 看),文字放在演示页右侧说明栏

规则

  • 只走短信:忘记密码的用户可能没有任何活跃设备,因此这条流程不能把验证码发到官方账号会话(与登录、换绑的通道规则不同,这是有意为之)。
  • 不泄露号码是否注册:该号码不存在时,同样提示「验证码已发送」。
  • 重置票据:10 分钟有效、一次有效;过期或复用 → 「本次操作已超时,请重新验证手机号」。
  • 重置后注销该账号其它所有设备(2026-09-22 已拍板):重置密码通常意味着用户怀疑账号出了问题,保留其它会话等于把风险留着。(换绑手机号采用「不强制下线」,因为那是正常使用中的用户 —— 两处口径不同是有意的。)
  • 被下线的设备不推送,下次打开 App 时提示「登录已失效,请重新登录」。
  • 不做冷却规则(如"重置后 N 小时内不能再改"):没有客服,误伤没法救。

7.7 系统通知与安全兜底 #D1(P0)

承载方式沿用「设备管理」6.9.1,不重新定义:官方账号「U8 Chat」,带认证标识、像用户一样出现在会话列表、可聊天,状态显示「客服」。

#消息触发发给谁
①新用户首次登录(欢迎 + 立规矩)新注册用户登录第一台设备该设备自己
②登录验证码新设备用「手机号 + 验证码」登录时已登录的活跃设备(无活跃设备时走短信)
③新设备登录账号产生一次新的登录(会话) —— 含密码登录、扫码登录;同一台设备退出后重新登录也算所有其它在线端

本次新增带来的变化

  • 密码登录不发验证码:不产生 ②;登录成功时产生 ③。
  • 「③ 新设备登录」的文案里,兜底出口只有「我的 → 设备」终止会话(不含「修改登录密码」,也不含「联系客服」—— 2026-09-23 拍板)。
  • 三处验证码场景(登录 / 换绑 / 忘记密码)的短信文案统一,且都不出现「联系客服」。
场景验证码通道
登录(新用户第一台设备 / 账号下无活跃设备)短信
登录(账号下有活跃设备)官方账号 U8 Chat 会话(留「改用短信」兜底)
换绑手机号(验旧号 / 验新号)短信
忘记密码短信(本期没有"改用官方账号会话"的分支,因为用户可能没有任何活跃设备)

八、规则与边界

8.1 密码规则

项规则说明
长度6–18 位
字符至少包含字母和数字,允许符号不要求大小写混合 + 特殊字符:这类规则会挡住普通人,本期靠锁定与登录通知承担安全
禁止不能与手机号相同客户端与服务端都校
保存只存哈希(服务端);客户端不落盘明文只在设置/登录的请求体里出现
显示默认掩码,可切明文
强度条不做对「8 位以上 + 字母数字」这条规则没有增量信息
密码提示 hint不做见 2.2

8.2 密码错误与锁定

项规则
计数维度按手机号累计(不是按设备)。换设备不清零,否则等于没锁
连续错误连续 5 次 → 锁定 15 分钟
再次触发解锁后再连续错 5 次 → 锁定 24 小时
锁定期内即使密码正确也不放行;但验证码登录始终可用
记录清零一次成功登录后计数清零
提示弹窗必须同时给时长与出路(「你也可以用验证码登录」)
申诉本期不做(没有客服),到期自动解锁
通知锁定/解锁都不发通知

与换绑的差异:换绑是「错误 5 次/小时 → 锁 24 小时」。密码登录是高频入口,误伤成本更高,所以起跳更短(15 分钟);24 小时档留给"反复触发"。

8.3 验证码参数(全站统一,与「修改手机号」一致)

项值
位数5 位数字(方框 5 个)
有效期5 分钟
重发冷却30 秒(界面显示「30s后再试」,归零后变「重新发送验证码」)
错误上限5 次 / 小时
超限后果锁定 24 小时,到期自动解锁;本期不做申诉
提交方式输满 5 位自动提交(无确认按钮)

2026-09-22 已拍板:验证码位数全站统一 5 位(登录 / 换绑 / 忘记密码共用同一套验证码服务,见 决策 20)。任何一处要改位数,三处必须同时改。

8.4 状态对照表(一屏看全)

场景判定用户看到屏是否计数是否通知
密码正确校验通过直接进会话列表—清零给其它端发「新设备登录」
密码错误(未超限)校验失败iOS 弹窗 + 剩余次数A4+1否
密码错误(超限)达阈值iOS 弹窗 + 锁定时长A5开始锁定否
锁定期内尝试服务端拒同 A5A5不累计否
该号未设置密码账号无密码iOS 弹窗 + 回验证码登录A6不计数否
手机号不存在账号不存在同 A6 文案A6不计数否
手机号位数不对客户端校验iOS 弹窗—不计数否
设置密码成功校验通过结果弹窗B3—否(已拍板不发)
修改密码成功校验通过结果弹窗B5—所有会话(含本机)退出 → 回登录页
关闭密码成功校验通过结果弹窗——否(已拍板不发)
重置密码成功校验通过结果弹窗C4—其它端登录失效
重置票据过期超 10 分钟弹窗「本次操作已超时」——否

8.5 多端并发与中断

同一账号允许在多端同时保持登录(2026-09-22 已拍板,沿用现状);密码变更不强制登出其它端(见 7.4)。

场景处理
两台设备同时改密码先提交者生效;后提交者按"当前密码不正确"处理(它的当前密码已失效)。不引入"改密码进行中"的锁
重置密码进行中,另一台设备改密码重置流程以重置票据为准;重置成功后,另一台设备的登录会失效(8.6 / C4)
设置密码时 App 被杀无副作用(设置是单次提交);重进 B1 看到「未设置」
重置流程中途返回票据作废,需从 C1 重新开始
密码登录过程中网络中断Toast「网络解析失败,请切换网络后重试」(沿用客户端现有文案);不计入错误次数

8.6 与扫码登录、设备管理的关系

关系规则
扫码登录不变。扫码登录不经过登录页,也不需要密码;它产生「新设备登录」通知
设备管理不变。密码登录成功后,新设备会出现在设备列表里;发现异常可在设备管理里注销
换绑手机号不要求输入登录密码(换绑靠"验旧号验证码",见修改手机号交付物)。换绑成功后,密码保留不变,登录手机号也跟着变。2026-09-22 已拍板:不在换绑成功页加「登录密码不变」的提示(换绑交付物本次不改)
注销登录与密码无关;退出登录后再次登录仍需凭证(验证码或密码)
资金密码两套东西,互不影响

8.7 号码与账号边界

场景规则
手机号被换绑后旧号旧号 + 旧密码不能登录(账号已跟随新号);旧号能否重新注册为新账号 → 见「修改手机号」待确认项(建议冷却 30 天)
同一手机号在不同端一套密码,全局生效;密码变更后立即生效(下一次登录用新密码)
密码设置前的历史设备不受影响,不会被强制登出

九、跨端行为

端本期
iOS / Android做。同一套规则、同一套文案、同一套锁定策略(服务端统一判定)
Web / Desktop本期不做密码登录

Web / Desktop 为什么不做

  1. Web / Desktop 的登录已经被扫码登录覆盖(设备管理 6.8:电脑端出二维码 → 手机端确认授权),用户不会因为"Web 上没有密码登录"而登不进来;
  2. Web 上的密码输入与「扫码 + 手机端确认」是两套安全模型,混在一起会出现「电脑上输密码就直接进,不需要手机确认」的绕过路径 —— 这会削弱设备管理刚建立的那道确认;
  3. Web 端的登录页是另一套实现(不在本次的原型与设计范围内),不做更干净。

跨端一致性要求(给研发):验证码参数、密码错误计数与锁定、错误码语义必须由服务端统一,各端只负责展示。任何一端自行放宽校验,都会让另外两端的锁定失效。


十、文案(可直接落地)

A · 登录与注册

屏位置文案
A1说明输入手机号,我们会发送一条含验证码的短信。还没有账号的手机号将自动注册。
A1标题 / 副标题 / 条款行 / 新增链接手机号登录 / 未注册的用户,验证后将自动注册账号并登录 / ○ 登录即代表同意用户协议和隐私政策 / 密码登录(本次新增)
A3标题 / 副标题手机号登录 / 输入手机号与密码(建议文案)
A3密码行 / 按钮 / 两排链接眼睛图标 / 登录 / 上排「忘记密码?」· 下排「验证码登录」
A4弹窗密码错误,请重新输入(还可以尝试 4 次) /「好」
A5弹窗密码错误次数过多,请 15 分钟后再试。你也可以用验证码登录。 /「好」
A6弹窗这个账号还没有设置登录密码,请用验证码登录。 /「好」

B · 设置与修改密码

屏位置文案
B1行登录密码 → 未设置 / 已设置
B1卡片说明登录密码用于收不到验证码时登录账号,也可以在常用设备上快速登录。设置后验证码登录依然可用。
B2标题 / 说明设置登录密码 / 设置后,你可以用「手机号 + 密码」登录 U8 Chat。密码只保存在服务器,我们不会以任何方式向你索要。
B2输入 / 规则 / 按钮密码 + 确认密码(默认隐藏,右侧眼睛图标切明文) / 6–18 位,至少包含字母和数字;不能与手机号相同。 / 完成
B2弹窗(规则不符)密码需为 6–18 位,且至少包含字母和数字 /「好」
B2弹窗(两次不一致)两次输入的密码不一致,请重新输入 /「好」
B3弹窗登录密码已设置 / 现在可以用手机号 + 密码登录 U8 Chat。忘记密码时可以通过短信验证码进行重置。 / 完成
B4标题 / 说明修改登录密码 / 先输入当前密码,再设置新密码。
B4后果修改后其它设备上的登录会全部退出,你自己也要用新密码重新登录。
B4弹窗(当前密码错)当前密码不正确,请重新输入 /「好」
B4底部关闭登录密码(红色)
B5弹窗登录密码已更改 / 为保护账号安全,其它设备上的登录已全部退出。请用新密码重新登录。 / 去登录
B6弹窗关闭后将只能用验证码登录,确定要关闭登录密码吗? / 取消 | 关闭
B6结果弹窗登录密码已关闭 / 完成

C · 忘记密码

屏位置文案
C1标题 / 说明忘记密码 / 我们将发送验证码到你的登录手机号。(已精简,原来两句)
C1号码(居中展示)/ 按钮+86 183 **** 8215 / 发送验证码
C2标题输入验证码短信
C3标题 / 说明 / 输入设置新密码 / 验证通过。请设置新的登录密码,之后用新密码登录 U8 Chat。 / 新密码 + 确认新密码(默认隐藏)
C4弹窗登录密码已重置 / 请用新密码登录。为保护账号安全,其它设备上的登录已全部失效。 / 去登录
C5标题 / 说明没收到验证码? / 按顺序检查这两点,多数情况是短信被拦截了。
C5两条自查1 看手机有没有信号,并检查短信拦截、垃圾短信箱;2 核对你填的号码是不是 +86 183 8215**(登录手机号本身,中间四位脱敏)。
C5标注(不面向用户)如果这个手机号已经停用或丢失,收不到短信就没办法重置密码。账号找回(申诉 + 人工核验)正在开发中,请留意后续版本更新。
C5按钮知道了(回 C2 验证码页,不触发重发)

通用(沿用客户端现有文案,不新造)

场景文案
网络异常网络解析失败,请切换网络后重试(Toast)
服务端错误服务器内部错误(Toast)
重置票据过期本次操作已超时,请重新验证手机号 /「好」
多端并发重置这个账号正在另一台设备上重置密码,请稍后再试 /「好」
风控限制账号暂时被限制,请稍后重试(文案里不出现「联系客服」)

十一、接口与埋点

11.1 接口

#接口入参出参与关键错误
1发送验证码phone + scene(login / rebind_old / rebind_new / reset_pwd)成功即返回;EXCEED_LIMIT(超频)、LOCKED(锁定中)
2验证码登录 / 注册phone + code成功返回 token + is_new_user(客户端不展示,仅用于埋点与决定是否发欢迎消息)
3密码登录phone + password成功返回 token;错误:PASSWORD_WRONG(带 remain_try)、PASSWORD_LOCKED(带 unlock_at)、NO_PASSWORD_SET、PHONE_NOT_FOUND(客户端与 NO_PASSWORD_SET 同表现)
4设置密码登录态 + new_password + confirm成功;错误:PASSWORD_WEAK / SAME_AS_PHONE
5修改密码登录态 + current_password + new_password成功;错误:PASSWORD_WRONG(不计入登录锁定)
6关闭密码登录态 + current_password成功
7重置-发码phone与 #1 的 reset_pwd 同源;无论号码是否注册都返回成功
8重置-校验phone + code成功返回 reset_token(10 分钟、一次有效);错误:CODE_WRONG / CODE_EXPIRED
9重置-提交reset_token + new_password + request_id幂等(request_id 去重,防重复提交);成功后注销该账号其它所有会话

两条硬约束(给研发)

  • 重置-提交接口的号码必须从 reset_token 取,客户端不得传号码(否则可越权改任意账号的密码);
  • 「设置密码 / 修改密码 / 关闭密码」接口必须校验当前密码或登录态 + 二次校验,不得只认登录态(否则拿到已解锁手机即可改密码)。

11.2 埋点

事件触发关键字段
login_page_view打开登录页default_tab=code
login_switch_password点「密码登录」
login_switch_code点「用验证码登录」
password_login_submit点「登录」result(success / wrong / locked / no_password / phone_invalid)
password_setting_clickB1 点「登录密码」行current_state(unset / set)
password_set_success设置成功
password_change_success修改成功
password_disable_confirm确认关闭
forgot_password_start点「忘记密码?」
forgot_password_reset_success重置成功duration_ms
no_code_help_view打开 C5
password_rule_rejected规则校验失败reason(weak / mismatch / same_as_phone)

十二、验收标准

  1. 未登录打开 App 落在登录页,默认仍是验证码登录;底部有「密码登录」入口。
  2. 新用户手机号首次登录即注册:号码不存在时,验证码验证通过后直接登录成功,页面上不出现「注册」字样,且该设备收到官方账号的「新用户首次登录」消息。
  3. 已设置过密码的账号:手机号 + 正确密码 → 直接登录成功;其它在线端收到「新设备登录」通知。
  4. 密码错误时给 iOS 弹窗,文案含剩余次数;点「好」后手机号保留、密码清空。
  5. 连续错 5 次锁定 15 分钟;锁定期内即使密码正确也不放行;验证码登录始终可用。
  6. 从未设置过密码的账号走密码登录 → 弹窗「这个账号还没有设置登录密码,请用验证码登录」,点「好」回登录页并带入手机号。
  7. 手机号不存在的提示与 #6 完全一致(不泄露号码是否注册)。
  8. 「我的 → 隐私和安全 → 登录密码」行的值随之正确变化:未设置 / 已设置。
  9. 设置密码:双输入一致且符合规则才能成功;成功后弹窗明确「忘记密码时可以通过短信验证码进行重置」,返回后行值变「已设置」。
  10. 修改密码:必须输对当前密码;当前密码错误走独立文案,不计入登录错误次数。改成功后所有会话(含本机)退出,弹窗「去登录」把用户送回登录页;另:设置 / 修改 / 重置三处的密码输入框默认隐藏(掩码),右侧眼睛图标可切明文。
  11. 关闭密码:必须校验当前密码;确认弹窗为「取消 | 关闭」两按钮;关闭后行值回到「未设置」,且其它设备不被登出。
  12. 忘记密码:号码只读;走短信验证码(即使该账号有活跃设备);校验通过后才能设置新密码。
  13. 重置成功:该账号其它所有设备上的登录失效;被下线的设备下次打开提示「登录已失效,请重新登录」。
  14. 重置票据:10 分钟有效、一次有效;过期或复用给「本次操作已超时,请重新验证手机号」。
  15. 「没收到验证码?」页存在,三条自查 + 停用/丢失的说明齐全,全站文案不出现「联系客服」。
  16. 密码相关的所有弹窗、按钮在浅色背景下白字可读(对比度 ≥ 3.4)。
  17. 演示页 index.html 的 18 屏全部可点、无死链;筛选「核心路径 / 规则与状态」计数正确。

十三、决策与待确认

13.1 已决策(产品已拍板,开发可直接依此执行)

编号决策
决策 1密码后设置、不强制、不做首次登录弹窗引导;入口在「我的 → 隐私和安全 → 登录密码」
决策 2保留「新用户手机首次登录即注册」,登录页不出现「注册」按钮
决策 3密码登录与验证码登录是两条平行的登录方式(二选一),不叠加
决策 4本期不做两步验证(2FA),理由与未来触发条件见第三章
决策 5在新设备上用密码登录直接放行,不要求第二因素;风险由「新设备登录通知 + 设备管理远程注销」承担
决策 6忘记密码只走短信验证码(不依赖活跃设备)
决策 7验证码参数与「修改手机号」统一:5 位 / 5 分钟 / 30s 重发 / 错误 5 次锁 24 小时
决策 8系统通知沿用官方账号「U8 Chat」;密码登录也发「新设备登录」通知
决策 9本期没有客服:全站文案不出现「联系客服」,自助路径由 C5 承担
决策 10版式与零件复用「修改手机号」已定稿口径(iOS 系统弹窗、二级页圆形返回、验证码页版式)
决策 11重置登录密码后,注销该账号其它所有设备(2026-09-22 拍板)。被下线的设备不推送,下次打开提示「登录已失效,请重新登录」
决策 12登录密码规则=6–18 位,且至少包含字母和数字;不能与手机号相同(不要求大小写混合与特殊字符)(2026-09-22 拍板)
决策 13密码错误阈值=连续 5 次错 → 锁 15 分钟;解锁后再连续 5 次 → 锁 24 小时;锁定期内验证码登录不受影响(2026-09-22 拍板)
决策 14换绑手机号成功后不加「登录密码不变」的提示(2026-09-22 拍板,换绑交付物不改)
决策 15修改 / 关闭登录密码时必须校验当前密码;关闭密码不发通知(2026-09-22 拍板,按建议)
决策 16设置登录密码成功后不发账号安全通知(2026-09-22 拍板,按建议)
决策 17重置密码时不校验新密码是否与旧密码相同(允许相同)(2026-09-22 拍板,按建议)
决策 18密码登录页不做「记住密码 / 记住我」;登录态默认记住,退出走「我的 → 退出登录」(2026-09-22 拍板,按建议)
决策 19允许同一账号在多端同时保持登录(沿用现状);密码变更不强制登出其它端(2026-09-22 拍板)
决策 20验证码位数全站统一 5 位(登录 / 换绑 / 忘记密码)。「修改手机号」PRD 里「验证码位数与登录统一」这一待确认项据此闭环(2026-09-22 拍板)
决策 21登录页 1:1 照 Figma 画板「登录」1092:66063,只在同意条款行下方新增一行「密码登录」入口;画板上既有元素与文案一处不动(2026-09-23 拍板)
决策 22「我的-隐私和安全」1:1 照 Figma 画板 802:128996,只在「锁定码&Face ID」与「资金密码」之间新增「登录密码」行;其余行原样(2026-09-23 拍板)
决策 25本功能只做「密码登录 + 忘记密码」:密码登录前提=手机号已注册登录 且用户自己设置过密码,没有默认密码,没设过一律走 A6;已开发完成的页面(登录验证码页、手机号位数校验)不再画;与本次无关的元素(网络诊断、国家编码能否点…)不做标注也不解释(2026-09-23 拍板)
决策 27修改登录密码成功后,注销该账号所有会话(含本机) —— 用户需用新密码重新登录;成功弹窗的按钮是「去登录」→ A3(2026-09-23 拍板,口径与 C4 重置密码一致)
决策 28设置 / 修改 / 重置密码的输入框默认隐藏(掩码),右侧眼睛图标可切明文(2026-09-23 拍板)
决策 30设计图=目标状态,但不全(部分功能由以前的 UI 同事做过、图纸不在其中)—— 「设计图里没有」不等于「没做过 / 不存在」;哪些页面已开发完成一律由产品确认(2026-09-23 拍板)
决策 29登录页的「国家/地区可以切换」,但那是已经开发好的功能 —— 本次演示不画、不标注(2026-09-23 产品确认)
决策 26演示页说明栏只写本次新增的内容:不解释既有功能、不解释与本次无关的元素(2026-09-23 拍板)
决策 24登录验证码页已开发完成,本次演示与 UI 都不再画它;「新用户手机首次登录即注册」的逻辑不变,写在登录页副标题里(2026-09-23 拍板)
决策 23本演示与 PRD 是「UI 设计之前的输入」:以「有哪些流程、哪些页面、从哪儿进」为准;已有画板 1:1 照做,未画的页面给建议稿;最终视觉以 UI 为准,按钮摆放等版式细节不作为评审与验收项(2026-09-23 拍板)

13.2 待确认(不阻塞开发)

(2026-09-23 补充) 登录页的「国家/地区」可以切换(产品已确认,是已开发好的功能)—— 本次不画;早期本 PRD 曾擅自写成「固定 +86、不可点」,已撤。 版式类问题不再列在这里 —— 入口摆哪儿、按钮放哪,本演示给建议、最终以 UI 设计为准(见决策 23)。下表只剩流程与内容类的 2 条。

#问题建议
①客服 / 账号申诉上线后,C5 是否补「账号找回」入口?建议补,并把 C5 作为下一期账号找回的接入点
②设计稿未画的页面(A3、B2–B6、C1–C5)的文案由本演示建议(例:A3 副标题「输入手机号与密码」);版式由 UI 定、不需要回填建议文案照本演示执行;要改文案直接提,改动很小

十四、与其它交付物的关系 / 相对现状改了什么

14.1 与其它交付物的边界

交付物本次是否改动说明
设备管理不改验证码通道规则、新设备登录通知、官方账号「U8 Chat」全部沿用;密码登录已在其口径里("含扫码、密码登录")
修改手机号不改验证码页版式与参数、iOS 弹窗、圆形返回被本次复用;换绑流程本身不动
文件夹 / 表情回复不改与登录无关
底部 Tab 口径不改本次的「隐私和安全」是二级页,不涉及 Tab

14.2 相对现状改了什么

  1. 登录页多一个入口:「密码登录」(默认仍是验证码登录)。
  2. 新增密码登录页及其三种结果(密码错 / 锁定 / 未设过密码)。
  3. 「我的 → 隐私和安全」多一行「登录密码」(未设置 / 已设置),含设置、修改、关闭三条路径。
  4. 新增忘记密码流程(短信验证码 → 设置新密码 → 重置后其它设备失效)。
  5. 新增自助排查页「没收到验证码?」(因为本期没有客服)。
  6. 安全兜底补一句:新设备登录通知 / 换绑后的安全提示里,出口从"改密码"变为可落地的「我的 → 隐私和安全 → 登录密码」。
  7. 明确不做:两步验证(2FA)、邮箱找回、密码提示、账号申诉(第三章 + 2.2)。

14.3 相对设计稿改了什么

画板本 PRD 的改动
登录 1092:66063只新增一处:同意条款行下方一行居中的紫色「密码登录」入口。其余(标题「手机号登录」、副标题、国家行、号码行、灰色「继续」、同意条款行、右上角「网络诊断」)逐字照画板
我的-隐私和安全 802:128996只新增一处:在「锁定码&Face ID」与「资金密码」之间插入「登录密码」行(绿色钥匙图标,值「未设置」)。其余 6 行 + 「注销账号」照画板
设计稿未画A3 密码登录页、B2–B6 设置 / 修改 / 关闭密码、C1–C5 忘记密码、A4–A6 错误弹窗 —— 版式沿用登录页与换绑的零件,文案由本演示建议(供 UI 参考)。按决策 23,这些页面只要「流程 + 入口 + 规则」对了就达到目的,视觉以 UI 为准

14.4 设计图里有哪些相关画板(2026-09-23)

产品给的 UI 设计稿是 Figma 文件 「U8 Chat」umRiEY84pJQmfomeNkbjOf · PAGE「iOS端」1:218 —— 与「修改手机号」用的「U8 Chat 2.0」6dsI4eKdAoZr4RP0uILIBq 不是同一个文件。逐屏核对结果:

我们建议的屏这份设计图里有没有位置 / 说明(⚠️ 图纸不全,「没有」不代表没做过)
A1 登录页✅ 已有iOS 2.0 画布里的「登录」8673:84289 —— 与本 PRD 用的底图是同一张(截图位图 + 右上角「网络诊断」)
A2 登录验证码页✅ 已开发完成产品 2026-09-23 明确:这一页已经开发完了,本演示与 UI 都不再画。UI 稿里另有 iOS 旧画布的两屏「登录-输入验证码」4884:65979 / 4947:66162(旧版:紫色「‹ 返回」文字 + 右下「重新获取 / 23s 后再试」+「← 修改手机号」),仅供参考
B1 我的-隐私和安全✅ 已有iOS 2.0 里的「我的-隐私和安全」6659:102208(与 14.3 用的 802:128996 是同一设计)
A3 密码登录页❌ 还没有全文件搜不到任何「密码登录 / 用密码登录」画板
B2–B6 设置 / 修改 / 关闭登录密码❌ 还没有只有资金密码的同名画板(首次设置 / 重置 / 修改资金密码,共 9 屏),而那是 6 位圆点 + 数字键盘的形态,与「6–18 位含字母」的文本密码不同
C1–C5 忘记密码❌ 还没有无任何「忘记密码 / 重置登录密码」画板
A4–A6 错误弹窗❌ 还没有—

结论:这份设计图里没有「登录密码」相关的任何画板。但如信息表所说,设计图不全(老 UI 同事做的功能不在里面),所以不能据此断定"UI 没做过这套流程" —— 已开发完成的部分由产品确认(例:登录验证码页就是产品确认已开发完、本次不画的)。本演示与 PRD 的价值是:给 UI 一份「要画哪些页面、从哪儿进、每页什么规则」的清单。已有设计的两个页面我们按它 1:1 还原并在其上各加一处入口;其余 18 屏是建议稿,UI 出图后以 UI 为准(决策 23)。

顺带核到的其它画布内容(不在本次范围,仅供参考):我的-更改手机号 11 屏(=「修改手机号」交付物)、资金密码 系列 9 屏、web端扫码登录后-移动端接收到「登录确认」、被注销设备端-退出登录、以及首页 / 资产 / 群聊等大量既有画板。


十五、附录:演示页索引(index.html,18 屏)

屏名称分组优先级对应本文
A1登录页 · 验证码登录(默认)A · 登录与注册P07.1
A3登录页 · 用密码登录A · 登录与注册P07.2
A4密码错误(弹窗)A · 登录与注册P17.2
A5错误次数过多 · 暂时锁定(弹窗)A · 登录与注册P18.2
A6该账号还没有设置登录密码(弹窗)A · 登录与注册P17.2
B1我的 → 隐私和安全(登录密码入口)B · 设置与修改密码P07.3
B2设置登录密码B · 设置与修改密码P07.3
B3设置成功(弹窗)B · 设置与修改密码P07.3
B4修改登录密码B · 设置与修改密码P07.4
B5修改成功(弹窗)B · 设置与修改密码P07.4
B6关闭登录密码(确认弹窗)B · 设置与修改密码P17.5
C1忘记密码 · 发送验证码C · 忘记密码P07.6
C2输入验证码短信(重置密码)C · 忘记密码P07.6
C3设置新密码C · 忘记密码P07.6
C4重置成功(弹窗)C · 忘记密码P07.6
C5没收到验证码?(自助排查)C · 忘记密码P17.6
D1官方账号 U8 Chat(三条消息)D · 通知与总览P07.7
D2登录方式总览(三条路 + 兜底)D · 通知与总览P0第三章 / 第六章

主流程演示顺序:A1(点「继续」后是已开发完成的验证码页,不进演示)· A1 → A3 → A4 / A5 / A6(密码登录的三种结果)· A3 → C1 → C2 → C3 → C4(忘记密码)· B1 → B2 → B3 / B4 → B5 / B6(设置与修改)。