跳到主要内容

小程序注册架构

流程

image-20181226093428356

一、首先需要检测绑定状态是否该微信已经绑定平台会员

如果已经绑定则执行自动登录

如果未绑定会提示需要注册绑定(未在平台拥有会员)还是登录绑定(在平台已经拥有会员)

二、小程序从微信获取当前微信的账号信息,如NickName(昵称)、face(头像)、sex(性别)。

三、调用注册绑定api,进行账号绑定。

  1. unionId的获取

    缓存获取:先从缓存中获取unionId,如果成功则进行如下第2步骤,反之从数据库获取。

    数据库获取:根据uuid从数据库获取unionId。如果成功则进行如下第2步骤,反之返回前端重新发起授权。

  2. 如果是从缓存中获取的,即需要根据uuid和unionId查询到对应的数据,将此账号绑定。如果未查询到数据,则新增绑定信息。

  3. 如果unionId是从数据库获取的,只需要将此账号信息绑定到此条记录中去即可完成绑定。

    绑定成功后执行登录返回对应的token信息

    绑定失败则提示失败原因。

  4. 如果最终未获取到unionId则执行登录,跳转至首页。

注册绑定架构

image-20181225202553816

一、小程序调用wx.login获取code

二、小程序请求自动登录API(具体架构参考->小程序登录架构),注册绑定只考虑此微信号未绑定任何平台会员,需要注册会员进行绑定的情况。

三、执行注册绑定

  1. 小程序调用wx.getUserInfo获取微信用户信息。拿到当前微信用户的NickName、face等微信会员信息。

  2. 由用户发起注册,携带从微信获取到的NickName、face等信息、平台会员注册必填参数调用注册绑定api。

  3. 注册绑定Api中需要用到的unionId需要API中获取。首先从缓存中获取

    如果获取到则进行第5步绑定登录操作。

    如未获取到则进行第4步操作。

  4. 从数据库通过uuid获取unionId。

    如果获取到则进行第5步绑定登录操作。

    如未获取到则进行注册操作,不进行绑定。

  5. 注册api注册绑定后会自动执行登录操作。返回对应的token信息。

注册绑定API规划

  • api路径

    URLMethod
    {buyer-domain}/passport/mini-program/register-bind/{uuid}post
  • 参数

    企业微信截图_0f2d36c0-3239-4938-a2b4-3b539f292e5d

  • 返回值

  • {
    "access_token": "",
    "refresh_token": "",
    "result":"bind_success"
    "uid":"",
    }
  • unionId未读取到返回

    {
    "code": 133,
    "message": "授权信息失效",
    }