本文主要是介绍微信小程序 获取unionid解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
其实个人是安卓开发,无奈公司需求,所以我个人也自学了小程序,目前自己独立开发一款小程序,原本授权登录已经做好了,没想到又考虑安卓 、ios 三方登录功能,因此应用都需要同步,不得不用到unionid,这可不又给我出难题了,在网上百度的说需要后端解密encryptedData 数据,于是和后端多沟通,他说没发解密,这就难到我了。
UnionID机制说明
unionid来区分用户的唯一性,在相同微信开放平台帐号下的移动应用、网站应用、小程序、公众号,用户的unionid是唯一的。也就是说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。
OpenID机制说明
OpenId是用来区分应用的唯一性,在相同微信开放平台账号下不用的应用,其unionid相同,OpenId而不同,比如说同一个微信开放平台绑定了多个小程序应用,每个应用的OpenId是不相同。
UnionID获取途径
绑定了开发者帐号的小程序,可以通过下面 3 种途径获取 UnionID。
调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。
如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次授权。
如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。
百度的解决方法有几种:
1.微信小程序绑定微信对应的微信服务号
2.小程序必须绑定在微信开放平台上,不绑定是没有的(PS:绑定开放平台需要开发者资质认证,认证收费的奥)
解密数据的话,在上篇文章已经写过了,这边就不写了
代码如下:
可能后期需要给一下了,因为我们申请了新的小程序和服务号
有点累了,下班了
这篇关于微信小程序 获取unionid解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!