unionid
同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。
openid
同一个应用(App、公众号、小程序)的同一个用户有唯一的openid
小程序下的运用
- 使用
wx.login
得到code,之后让后台请求微信服务器,获得的信息包括- openid: 用户唯一标识
- session_key: 用来解密微信提供的加密数据
- unionid: 可能有,也可能没有
- 用上一步获得的数据进行登录。由于我的公众号与实际应用使用了不同的用户库,所以即使带了unionid,也不一定已经在应用用户库注册过
- 若用户不存在,则进入注册流程
- 首先通过wx.getUserInfo获取加密的用户信息,然后通过wx.getPhoneNumber来获取加密后的手机号码,之后统一发到后台解密并完成注册。