Files
core/.workbuddy/memory/2026-04-07.md
赵忠林 3549e687f6 feat(login): 实现扫码登录绑定手机号后的用户同步逻辑
- 后端QrLoginServiceImpl新增nextAction字段支持绑定手机号和跳转操作
- 状态检查接口支持绑定手机号和跳转状态,响应字段增加redirectUrl和successMessage
- 移除新用户注册时立即同步用户到websopy的逻辑,避免手机号未绑定时缓存无效
- 绑定手机号成功后重新加载数据库用户并同步到websopy,确保手机号完整数据同步
- WxOfficialController中注释和逻辑调整,明确绑定手机号前不进行同步操作
- 补充文档中扫码登录绑定手机号和用户同步相关流程及API接口说明
2026-04-07 02:03:59 +08:00

1.8 KiB
Raw Blame History

2026-04-07 工作记录

微信扫码登录问题修复

  1. 修复了UserSyncService中tenant_id字段名问题从tenantId改为tenant_id
  2. 同时发送两种格式的tenant_id字段确保兼容性
  3. 修改了WxOfficialController在同步前从数据库重新加载用户对象
  4. 添加了详细的调试日志便于问题排查

待解决问题

  1. websopy侧app_user_cache同步失败tenant_id为null
  2. 扫码成功后需跳转到强制绑定手机号页面
  3. 注册成功后应跳转到控制台/console

websopy-pc前端修改需求分析

  1. 状态检查逻辑更新需处理新的nextAction字段bind_phone, redirect, login等
  2. 新增绑定手机号页面:用于新用户绑定手机号流程
  3. 页面跳转逻辑:登录成功/绑定成功后跳转到/console
  4. API调用更新:适应新的响应字段格式

后端修改完成

  1. QrLoginStatusResponse新增字段
    • nextAction: 下一步操作指示
    • redirectUrl: 跳转URL当nextAction为redirect时
    • successMessage: 成功消息
  2. QrLoginServiceImpl逻辑更新
    • 用户没有手机号时nextAction设为bind_phone
    • 用户有手机号且登录成功时nextAction设为redirectredirectUrl设为/console

扫码登录用户同步时机修改 (01:58)

修改内容

  1. WxOfficialController.java - 移除新用户注册时立即同步的代码

    • processWxUser() 方法中,新用户创建后不再立即同步到 websopy
    • findOrCreateUserForOauth() 方法中同样处理
  2. QrLoginServiceImpl.java - 在绑定手机号成功后同步

    • 新增 UserSyncService 注入
    • 在 bindPhone() 方法中,绑定手机号成功后从数据库重新加载用户并同步

目的

确保用户数据同步到 websopy 时,手机号字段已有值,避免无效的缓存数据。