小程序注册架构
流程
一、首先需要检测绑定状态是否该微信已经绑定平台会员
如果已经绑定则执行自动登录
如果未绑定会提示需要注册绑定(未在平台拥有会员)还是登录绑定(在平台已经拥有会员)
二、小程序从微信获取当前微信的账号信息,如NickName(昵称)、face(头像)、sex(性别)。
三、调用注册绑定api,进行账号绑定。
unionId的获取
缓存获取:先从缓存中获取unionId,如果成功则进行如下第2步骤,反之从数据库获取。
数据库获取:根据uuid从数据库获取unionId。如果成功则进行如下第2步骤,反之返回前端重新发起授权。
如果是从缓存中获取的,即需要根据uuid和unionId查询到对应的数据,将此账号绑定。如果未查询到数据,则新增绑定信息。
如果unionId是从数据库获取的,只需要将此账号信息绑定到此条记录中去即可完成绑定。
绑定成功后执行登录返回对应的token信息
绑定失败则提示失败原因。
如果最终未获取到unionId则执行登录,跳转至首页。
注册绑定架构
一、小程序调用wx.login获取code
二、小程序请求自动登录API(具体架构参考->小程序登录架构),注册绑定只考虑此微信号未绑定任何平台会员,需要注册会员进行绑定的情况。
三、执行注册绑定
小程序调用wx.getUserInfo获取微信用户信息。拿到当前微信用户的NickName、face等微信会员信息。
由用户发起注册,携带从微信获取到的NickName、face等信息、平台会员注册必填参数调用注册绑定api。
注册绑定Api中需要用到的unionId需要API中获取。首先从缓存中获取
如果获取到则进行第5步绑定登录操作。
如未获取到则进行第4步操作。
从数据库通过uuid获取unionId。
如果获取到则进行第5步绑定登录操作。
如未获取到则进行注册操作,不进行绑定。
注册api注册绑定后会自动执行登录操作。返回对应的token信息。
注册绑定API规划
api路径
URL Method {buyer-domain}/passport/mini-program/register-bind/{uuid} post
参数
返回值
{
"access_token": "",
"refresh_token": "",
"result":"bind_success"
"uid":"",
}unionId未读取到返回
{
"code": 133,
"message": "授权信息失效",
}