sequenceDiagram
participant Web as 网页端
participant User as 用户
participant Mini as 小程序
participant Server as 后台服务
Web->>Server: 请求 /createLoginQRCode
Server-->>Web: 返回 loginToken + 二维码URL
User->>Web: 打开网页,看到二维码
User->>Mini: 用小程序扫码二维码
Mini->>Server: 调用 wx.login(code)
Server->>微信: code2session
微信-->>Server: 返回 openid + unionid
Mini->>Server: /scanLoginConfirm(loginToken, unionid)
Server-->>Mini: 确认成功
Web->>Server: /checkLoginStatus(loginToken) 轮询
Server-->>Web: 若未确认 → status=pending
Server-->>Web: 若已确认 → status=confirmed + user信息 + token
Web->>User: 登录成功,进入系统