跳转至

web平台接入微信扫码

这 4 个接口分别负责闭环中的一个环节:

  1. GET /auth/wechat/qrcode(Web 调用)

创建一次“电脑登录会话”。

Web 打开登录页时调用,后端生成唯一 sessionId、返回二维码/小程序码,并将会话设为“等待扫码”。二维码里需要携带该 sessionId

  1. POST /auth/wechat/mini/login(小程序调用)

确认“扫描二维码的是哪个微信用户”,并判断是否需要手机号。

小程序通过 uni.login 获取微信 code,连同 scene 发给后端。后端用 code 换取 openid

  • 已关联平台账号:直接把该 sessionId 标记为登录成功,返回 LOGIN_SUCCESS
  • 未关联账号:返回 NEED_PHONE,让小程序继续请求手机号授权。

  • POST /auth/wechat/mini/phone(小程序调用)

获取手机号,完成账号关联或注册。

用户同意手机号授权后,小程序拿到 phoneCode 发给后端。后端换取手机号:

  • 手机号已有账号:关联当前微信。
  • 手机号没有账号:创建账号并关联微信。

完成后后端把对应 sessionId 标记成功,返回 SUCCESS

  1. GET /auth/wechat/status(Web 调用)

让电脑知道手机端有没有授权完成。

Web 用 sessionId 每 1~2 秒轮询:

  • WAIT:继续等。
  • SCANNED:手机已打开授权页,等待用户确认。
  • SUCCESS:返回登录 token,Web 保存后进入系统。
  • QR_EXPIRED / CANCELLED:停止轮询,提示刷新二维码或重新扫码。

评论