微信扫码登录时序图
PC 展示二维码、用户扫码授权、后端换 openid 并签发会话的完整调用顺序。
作者:松柏
微信扫码登录时序图把 ticket、扫码、回调、换 openid、签发 Token 按时间排开,专门给前后端对齐「谁先等谁、二维码过期怎么办」。

Prompt 模板
画微信扫码登录时序图:用户 → 网站前端 → 网站后端 → 微信开放平台,包含生成二维码、用户扫码、授权回调、获取用户信息、创建会话
适用场景
- PC 站要接微信开放平台扫码登录
- 联调前确认前端轮询与后端回调谁先完成
- 安全评审要核对未绑定账号与 ticket 过期分支
关键节点
- 用户(微信 App + PC)
- 两个端:PC 看码,手机扫码确认。图上应是两个参与者,不要合成「用户」一条生命线。
- 网站前端
- 向后端要二维码,然后轮询登录状态。漏画轮询,PC 就不知道什么时候跳首页。
- 网站后端
- 向微信要 ticket、收回调、查绑定、签发业务 Token。openid 只留在后端,不要画给前端。
- 微信开放平台
- 发 ticket、推扫码事件、用 code 换用户信息。箭头上写清接口,避免「调微信」三个字。
- 用户数据库
- 按 openid 查是否已绑定。未绑定要画「跳转绑定/注册」再签发 Token。
画图提示
- 参与者从左到右:PC、前端、后端、微信、数据库,箭头多为短跳
- 同步请求画返回;扫码成功是微信推到后端,再用轮询或推送通知 PC
- 单独标「二维码过期 / 用户拒绝 / 未绑定」三条,不要塞进主成功路径
常见问题
这是流程图还是时序图?+
必须用时序图。流程图讲步骤,讲不清 ticket 和回调谁先到达。技能页见 /skills/sequence-diagram,业务步骤版见 /guides/login-flowchart。
未绑定微信账号怎么画?+
后端拿到 openid 后画菱形「是否已绑定」:已绑定直接签发;未绑定走绑定页,完成后再签发。不要和「扫码失败」画成同一个分支。
和 JWT 架构图怎么配合?+
本图只画到「签发会话」。Token 存哪、谁校验,另开 /guides/jwt-arch 或 /examples/jwt-architecture。