微信登录、手机号与会话续期
接入链路
uni.login 获取微信临时 code,经项目认证 API 换取 App 用户态,由 app-session.js 统一提交身份与令牌。手机号授权是后续独立动作,不能把手机号或昵称当作登录凭据。
开发入口
| 内容 | 源码入口 |
|---|---|
| 微信 code 与会话检查 | services/auth/wechat-login.js |
| 会话获取、续期与退出 | services/auth/app-session.js |
| 认证请求 | services/api/auth-api.js |
| 统一请求恢复 | bootstrap/real-openapi-client.js |
| 昵称与用户资料归一 | services/auth/app-user-identity.js |
修改规则
- 使用
ensureAppSession等既有入口,不在页面单独维护一份登录状态。 - 续期保持并发合并,并用用户、刷新凭据及 revision 防止过期任务提交到新会话。
- 认证错误与网络错误分别处理,瞬时网络故障不能直接清空有效身份。
- 主动退出标记应阻止普通浏览自动恢复完整登录;用户主动登录才按合同解除。
- 头像昵称与手机号保存分别回读,不能把微信授权成功当作业务用户资料已持久化。
必测分支
匿名进入、首次登录、拒绝手机号、昵称补充、过期续期、并发请求、主动退出、换号及旧响应回写。开发调试身份只用于受控环境,生产关闭相关调试开关,微信 Secret 不进入前端。