Files
platforms/docs/操作日志_用户端APP_设置与登录密码_20260908.md
czl231 3ef33b531d 已完成用户APP首期功能开发
交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
2026-09-13 00:57:32 +08:00

39 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 设置与登录密码开发日志
操作时间2026-09-08。类型扩展与修复。影响模块图31设置、登录密码、个人中心。
## 行为与实现
个人中心设置从不可用提示改为`/settings`支持深链登录回跳。按最新图31组织账号、消息、设备、通用、协议分组增加`/settings/password`当前密码、新密码和再次确认必须校验通过才提交失败保留输入只有服务端明确确认changed=true后清空表单并退出本机会话。
版本读取当前安装包/Web构建元数据不使用设计稿的1.6.0。缓存大小来自Flutter可恢复图片缓存清理二次确认后刷新数值不清空令牌、报修草稿或文件。协议沿用后台已发布内容和真实版本资料读取失败不阻断清缓存和退出。图31的手机号与提示在窄屏大字体上下排列避免末位数字断行所有深链均提供返回。
后端保留`PUT /heqi/client/v1/user/auth/password`字段契约更新条件增加旧密码散列版本避免并发改密覆盖新值该更新关闭SQL参数日志以保护密码散列。错误密码、并发旧版本不会产生成功响应。
## 核心文件
- `apps/user_app/lib/ui/features/settings/settings_page.dart`SettingsPage分组、独立附属加载、缓存与退出确认。
- `apps/user_app/lib/ui/features/settings/login_password_page.dart`LoginPasswordPage密码内存草稿、UTF-8长度边界、二次确认、错误与成功退出。
- `apps/user_app/lib/data/services/app_settings_service.dart`:版本与图片缓存平台适配;新增`package_info_plus 10.2.1`依赖。
- `apps/user_app/lib/data/repositories/client_repository.dart`changeLoginPassword校验响应和会话世代不接受缺少成功标记的响应。
- `apps/user_app/lib/app/router.dart``ui/features/profile/profile_page.dart`:设置及改密路由和入口。
- `apps/user_app/lib/ui/features/auth/login_support.dart`:协议阅读支持注入当前仓储,保持登录页调用兼容。
- `backend/api/internal/logic/client/user/auth.go:179`ChangePassword200行增加条件更新随后确认影响行数接口参数保持兼容。
- 前端新增`settings_page_test.dart``change_login_password_test.dart`,扩展`router_test.dart``tool/a1_visual_test.dart`;后端新增`change_password_test.go`及显式开启的`change_password_remote_test.go`
## 验证
Go全量测试、vet、API构建通过。Flutter全量110项测试及analyze通过图31共8组320/360/390/430宽度及1.0/1.3字号布局检查通过实际查看390及320放大截图后修复手机号断行和返回入口。
远程回滚测试显式设置`HEQI_REMOTE_PASSWORD_TEST=1`执行;仅在持锁事务内临时设置授权测试账户密码夹具,验证错误旧密码、正确改密和旧密码失效,整体回滚后比对原散列一致。未发送验证码、未改写远程真实密码、无数据结构迁移;普通测试默认跳过远程用例。
浏览器390宽实测错误旧密码被拒绝且保留表单和会话图片缓存6.0MB→0.0MB退出确认后回到登录页。协议接口无已发布协议确认显示真实空态。运行时曾出现版本读取失败改为Web显式页面目录并用`--pwa-strategy=none`构建本地预览、消除旧Service Worker缓存影响后浏览器已真实读取`1.0.0 (1)`与构建version.json一致。不能把第一轮对插件路径的推断单独当作已证实根因版本成功以最后实际页面为证据。Web和Android调试包构建通过原生版本读取仍待真机确认。
## 未完成与维护
图31仍未全量完成实名认证、支付密码设置/重置、换手机号、设备登录撤销、通知投递偏好、原生权限入口、隐私偏好和注销审核尚待接入。未绘制假生效开关。协议与隐私当前共用已发布协议列表,后台缺少明确的细分类契约;未发布时显示真实空态。安全用气指南尚缺独立内容类型与后台承接。
当前改密只退出本机会话,不能宣称其他设备令牌已撤销;设备会话管理需后续统一补齐。网络中断可能无法确认改密是否生效,现有接口不提供请求号查询;不把重试失败声称为密码未变更。缓存统计仅为图片内存缓存,不代表系统或浏览器全部占用。
运行前端使用现有18571预览API12426连接已有远程PostgreSQL/Redis。全量计数现为16张部分实现、42张未完成对应页面、0张严格全功能与1:1验收通过。