# 用户账号绑定
同一用户在多端应用的不同登录方式对应不同的账号,如微信、手机号和苹果账号等。通过账号绑定,
- 开发者可以识别到不同账号对应相同的用户。
- 开发者可以整合不同账号体系的能力,如手机号登录也可以使用云开发。
# 绑定时序
sequenceDiagram
participant client as 多端应用
participant wx server as 多端服务器
client->>client:wx.xxxLogin登录账号A,获取 code
client->>client:开发者自定义绑定入口,用户触发绑定账号B
client->>wx server:wx.miniapp.bindXXX,请求绑定账号B
alt
note right of client: 账号B不存在
wx server->>wx server:绑定账号A和账号B
wx server->>client:绑定成功
else
note right of client: 账号B存在
wx server->>client:绑定失败
end
时序说明
用户登录账号A(如微信),然后通过开发者自定义的绑定入口,触发调用 wx.miniapp.bindXXX 绑定账号B(如手机号),后续账号A和账号B就可以关联到同一用户。wx.miniapp.bindXXX 表示不同的账号绑定方式,wx.miniapp.bindPhone、wx.miniapp.bindWeixin和wx.miniapp.bindApple等。
开发者可以调用 wx.miniapp.checkBindInfo 检查当前用户是否已经绑定某种账号,没有再提供绑定入口。
如果账号B存在,说明账号B已经绑定、或者账号A和账号B已经对应两个不同用户,则绑定操作失败。开发者可以根据自身业务引导用户进行如下三种操作之一:
放弃绑定账号B。
先调用服务端API unbindXXX 解绑已有账号B,再进行绑定。unbindXXX 表示不同的账号解绑方式,unbindPhone、unbindWeixin和unbindApple等。
先调用服务端API unregisterUser 注销已有账号B,再进行绑定。