Files
luo b2a76adc9a
All checks were successful
构建并部署前端到测试环境 / deploy (push) Successful in 55s
fix: some
2026-10-13 11:25:03 +08:00

3.3 KiB
Raw Blame History

ADDED Requirements

Requirement: 后台新登录密码统一校验

后台既有设置新登录密码的表单 SHALL 按用户最新确认使用专用统一校验:长度 8~12 位,仅允许 ASCII 英文字母和数字,必须同时包含大写字母、小写字母和数字。特殊符号、空白、中文、emoji 和其他非英文字母数字字符 MUST 拒绝;用户确认 MUST 优先于原对接说明的四类字符规则。

Scenario: 有效新密码

  • WHEN 用户在后台本人改密、账号创建、店铺初始账号、企业创建或企业改密入口输入 Abc12345
  • THEN 新密码校验 MUST 通过
  • AND 新密码/确认密码输入限制及说明 MUST 为 8~12 位,仅英文字母和数字,且大写、小写和数字三类均必需
  • AND 需要确认密码的表单 MUST 验证其与新密码一致

Scenario: 无效新密码

  • WHEN 用户输入 7 位、13 位、缺少大写/小写/数字任一类的密码,或包含特殊符号、空白、中文、emoji 等非法字符的密码
  • THEN 前端 MUST 阻止提交并展示具体规则提示
  • AND MUST NOT 静默 trim 密码后当作合法值提交

Scenario: 字符类别齐全但含特殊符号

  • WHEN 用户输入 Abc1234!,长度符合且已包含大写、小写和数字
  • THEN 前端 MUST 因 ! 是禁止的特殊符号拒绝该密码
  • AND MUST 提示只允许英文字母和数字,不能按原四类字符规则放行

Scenario: 修改账号未设置新密码

  • WHEN 既有账号修改操作未提供可选 password
  • THEN 页面 MUST NOT 因缺少密码阻止其他字段修改
  • AND MUST NOT 提交空密码覆盖原值
  • AND 本批次 MUST NOT 仅为接口清单补建当前没有的账号密码编辑入口

Requirement: 后台密码接口字段与旧密码兼容

后台密码服务 SHALL 保持各接口规定的请求字段;本人改密和账号独立改密的新密码使用 new_password,账号创建/可选修改及企业创建/改密使用 password,店铺初始密码使用 init_password。后端字段级错误 MUST 以既有 msg 或提供的 message 展示,不替换为笼统提示,不记录密码。

Scenario: 独立修改账号密码

  • WHEN 既有服务调用 PUT /api/admin/accounts/{id}/password
  • THEN 请求体 MUST 按本批次说明使用 new_password,而不是当前旧封装的 password
  • AND 本批次 MUST NOT 将其他账号接口的 password 改名

Scenario: 使用旧密码登录和本人改密

  • WHEN 用户使用仍被后端接受的旧密码登录或填写本人改密 old_password
  • THEN 前端 MUST NOT 对这些旧密码输入套用新的 8~12 位/三类/禁止特殊符号限制
  • AND 本人改密成功后的清理表单、清理登录态和返回登录页行为 MUST 保留

Scenario: 非登录密码与 C 端保持不变

  • WHEN 实施本批次密码适配
  • THEN 操作密码、WiFi 密码和通用校验器其他调用行为 MUST 保持不变
  • AND 本仓库公开扫码注册页面和所有 /api/c/v1 服务 MUST 不修改

Scenario: 展示后端字段级原因

  • WHEN 密码相关请求返回包含具体校验原因的 msg 或 message
  • THEN 页面 MUST 展示该原因且不重复弹错
  • AND 请求、日志和错误反馈 MUST NOT 输出输入的密码值