# 微信登录回调
> 微信授权登录的回调页：校验授权结果并完成登录；未关联手机号时先补绑手机号。

## 1. 页面信息

- 网页地址：https://9kvr.cn/login/wechat/callback
- 所属模块：登录 · 微信登录
- 页面用途：微信授权完成后回跳到本页。页面先校验一次性授权参数，通过后向服务端换取登录态；若该微信账号尚未关联手机号，会先引导验证手机号与短信验证码完成绑定，绑定成功即完成登录并回跳到发起登录前的目标页。页面不参与搜索引擎收录。
- 适用用户：正在使用微信授权登录芊云全景的用户
- 访问条件：公开访问（微信授权回跳页面）

## 2. 功能说明

- 按处理进度展示不同状态：校验中、授权回传中、补绑手机号、失败、登录成功回跳
- 未关联手机号时引导绑定手机号并获取短信验证码（含发送倒计时）
- 提示授权票据的有效期倒计时
- 登录失败时展示原因并给出「返回登录页」入口
- 页面不参与搜索引擎收录

## 3. 业务说明

### 登录流程

微信授权完成后回跳到本页。页面会先校验本次授权的一次性参数（缺失、不匹配、过期或已被使用都会被拒绝），通过后向服务端换取登录态；成功后记录登录状态并回跳到发起登录前的目标页，未记录到来源时回到首页。

### 补绑手机号

若该微信账号尚未关联手机号，页面会先要求输入手机号并获取短信验证码完成绑定，绑定成功后立即完成登录。短信发送成功后有 60 秒倒计时才能再次获取；整套流程受授权票据有效期约束，票据超时后需要重新发起微信登录。

### 嵌入式授权回传

在微信官方组件以内嵌方式渲染回调的场景下，本页只负责把授权结果安全地回传给真正发起授权的登录窗口，不在回调页内直接换取或保存登录态，避免授权参数在错误窗口被消费。

### 安全与隐私

地址栏上的一次性授权参数在本页加载后会立即从地址中清除，降低被历史记录、来源页或截图泄露的风险；本页同时声明不参与搜索引擎收录。

### 表单字段

| 字段 | 类型 | 是否必填 | 取值来源 | 默认值 | 限制与说明 | 影响费用 |
| --- | --- | --- | --- | --- | --- | --- |
| 手机号码 | 手机号（11 位） | 必填 | 用户输入 |  | 需符合大陆手机号格式（1 开头的 11 位数字） | 未核实（视实际规则） |
| 短信验证码 | 数字验证码 | 必填 | 短信下发后用户填写 |  | 4-6 位数字；发送成功后 60 秒倒计时内不可重复获取 | 未核实（视实际规则） |

## 4. 使用说明

1. 微信授权完成后回跳到本页，页面开始校验授权信息
2. 校验通过后向服务端换取登录态
3. 若账号未关联手机号，输入手机号并获取短信验证码后提交绑定
4. 登录成功后自动回跳到发起登录前的目标页

## 5. 规则与限制

- 一次性授权参数缺失、不匹配、过期或重复使用时都会拒绝本次登录，需要重新发起微信登录
- 授权票据有时效，超时后需要重新发起微信登录
- 短信验证码发送成功后有 60 秒倒计时才能再次获取
- 本页不参与搜索引擎收录
- 登录失败不影响原有登录方式，仍可使用微信扫码或快捷码登录

## 6. 状态与异常

- 校验中：展示「正在完成微信登录」
- 授权回传中：内嵌授权场景下仅把结果回传给登录窗口
- 补绑手机号：展示手机号、验证码表单与授权票据有效期倒计时
- 成功：完成登录后回跳到目标页
- 授权参数缺失 / 不匹配 / 过期 / 重复使用时提示重新发起微信登录
- 登录未完成时展示失败原因与「返回登录页」按钮
- 网络异常时提示稍后重试
- 手机号或验证码格式不符时阻止提交并提示

## 7. 相关文档

- [用户登录](https://9kvr.cn/site/login.md)

## 8. 文档信息

- 事实来源：芊云全景官网页面核验（回调状态机与补绑手机号交互）
- 文档构建时间：2026-10-20 19:04:23
- 数据获取/快照时间：不适用（静态产品知识）
- 可信状态：已核验
