微信登陆流程
微信多个载体(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>
-