- 后端QrLoginServiceImpl新增nextAction字段支持绑定手机号和跳转操作 - 状态检查接口支持绑定手机号和跳转状态,响应字段增加redirectUrl和successMessage - 移除新用户注册时立即同步用户到websopy的逻辑,避免手机号未绑定时缓存无效 - 绑定手机号成功后重新加载数据库用户并同步到websopy,确保手机号完整数据同步 - WxOfficialController中注释和逻辑调整,明确绑定手机号前不进行同步操作 - 补充文档中扫码登录绑定手机号和用户同步相关流程及API接口说明
1.8 KiB
1.8 KiB
2026-04-07 工作记录
微信扫码登录问题修复
- 修复了UserSyncService中tenant_id字段名问题(从tenantId改为tenant_id)
- 同时发送两种格式的tenant_id字段确保兼容性
- 修改了WxOfficialController,在同步前从数据库重新加载用户对象
- 添加了详细的调试日志便于问题排查
待解决问题
- websopy侧app_user_cache同步失败(tenant_id为null)
- 扫码成功后需跳转到强制绑定手机号页面
- 注册成功后应跳转到控制台/console
websopy-pc前端修改需求分析
- 状态检查逻辑更新:需处理新的nextAction字段(bind_phone, redirect, login等)
- 新增绑定手机号页面:用于新用户绑定手机号流程
- 页面跳转逻辑:登录成功/绑定成功后跳转到/console
- API调用更新:适应新的响应字段格式
后端修改完成
- QrLoginStatusResponse新增字段:
- nextAction: 下一步操作指示
- redirectUrl: 跳转URL(当nextAction为redirect时)
- successMessage: 成功消息
- QrLoginServiceImpl逻辑更新:
- 用户没有手机号时,nextAction设为bind_phone
- 用户有手机号且登录成功时,nextAction设为redirect,redirectUrl设为/console
扫码登录用户同步时机修改 (01:58)
修改内容
-
WxOfficialController.java - 移除新用户注册时立即同步的代码
- processWxUser() 方法中,新用户创建后不再立即同步到 websopy
- findOrCreateUserForOauth() 方法中同样处理
-
QrLoginServiceImpl.java - 在绑定手机号成功后同步
- 新增 UserSyncService 注入
- 在 bindPhone() 方法中,绑定手机号成功后从数据库重新加载用户并同步
目的
确保用户数据同步到 websopy 时,手机号字段已有值,避免无效的缓存数据。