qubiaobiao 4e84257ed8 fix(auth): 密码框反自动填充兜底 —— 进入「设置密码」步骤必须为空
测试人员反馈:激活流程进入「设置密码」步骤时,密码框内已出现 123456(用户未做任何输入)。

取证结论 —— 前端源码不存在任何向密码框写值的赋值点:
  - step3Form.password 初值为空,密码框只有 v-model、无 :value 绑定
  - 全站唯一 .password = 赋值点是 Login.vue 的清空逻辑
  - git log -S "123456" -- Activate.vue 显示该字面量历史上仅出现一次,
    且是 d16c261 新增的 placeholder 文案,从无任何版本把它当默认值
  => 残留只能来自浏览器密码管理器自动填充(测试账号默认口令恰为 123456,
     浏览器保存后会在同源同类表单上回填)

治法(行为级保证,不依赖成因判定):
  - 新增 utils/passwordField.js:purgeAutofilledPasswords()
    仅在表单模型为空时才清 DOM 密码框并同步 v-model,绝不覆盖用户真实输入
  - Activate.vue / ForgotPassword.vue 对称改造:
    1) placeholder 去掉 123456,弱口令示例移到独立 .pwd-tip 提示行
    2) 新增 enterStep3():清空密码字段 -> 进第三步 -> DOM 挂载后再兜底清一次
    3) 第三步 el-form 增加 autocomplete="off"

验证:
  - TDZ 静态门禁 verify_frontend_tdz.mjs PASS
  - deploy/build-frontend.sh EXIT=0(入口 assets/index-DwFQsYjy.js)
  - 部署后线上核验:入口 hash 与本地一致、关键 chunk 全 200、
    旧 chunk 全部保留(新旧共存,无缓存期 404)、gzip_static 命中预压缩产物、
    线上 Activate chunk md5 与本地构建逐字节一致
2026-10-08 11:10:54 +08:00
2026-08-17 12:25:42 +08:00
2026-08-17 12:25:42 +08:00
Description
No description provided
1.6 MiB
Languages
Vue 77.3%
JavaScript 20.9%
CSS 1.5%
HTML 0.3%