首页 > 技术文章 > 微信小程序登录流程

zdping 2019-08-25 12:57 原文

微信登陆流程

微信多个载体(APP微信授权,微信公众号授权登陆),openId是不一致的,但是unionId是一致的

所以在走流程时,

  • 先判断unionId在数据库中存在不存在

    • 存在,拿unionId去数据库换token,获取用户信息,更新openId,---首页
    • 不存在,在启动页,让用户点击授权登陆,获取用户信息,再进行手机号授权
      • 微信授权手机号 ---首页
      • 登陆注册手机号 ---首页

  • 代码方面:

    • 进入启动页

      wx.login();//获取code,code只能获取一次
      
    • code传给后端,换取sessionKey,openId,unionId

    • 点击微信授权按钮,获取用户信息
      getUserInfo会获取用户信息,bindgetuserinfo会弹出框,让用户点击授权,里面的参数也会有用户信息

      <button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">微信授权登录</button>
      
    • 点击微信手机号授权
      getPhoneNumber会获取加密过后的手机号,传给后端,获取解密后的手机号

      <button form-type="submit" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微信授权获取手机号</button>
      

推荐阅读