微信小程序开发如何选择获取unionid方案

在微信小程序开发过程中,我们通常有获取用户unionid的需求。首先,何为unionid? 对于这个问题,举个例子,在微信授权的各个登陆应用中,能区分用户唯一的标识就是微信授权用户的unionid。这一点有点类似于用户的微信号,是唯一的。

对于如何获取用户的unionid 官方文档给了四种方式(当前时间2018/12/03):

UnionID获取途径
绑定了开发者帐号的小程序,可以通过下面 4 种途径获取 UnionID。

1)调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。

2)如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次授权。

3)如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。

4)小程序端调用云函数时,当满足 UnionID 获取条件时可在云函数中通过 cloud.getWXContext 获取 UnionID

这四种方案区别在什么地方呢?博主根据切身的开发经验,四种方案大致可以用2点作为区分:1)是否需要关注小程序主体的微信公众号;2)是否有微信授权登陆过的应用。

方案一

此授权方法仅需要用户进行授权,即可通过解密的方式获取到用户的unionid信息。用户无需关注微信公众号,无需进行应用的授权登陆。

方案二&方案三

此授权方法,用户需要关注微信公众号或者授权登陆应用,这样会增大获取用户unionid的操作步骤。

方案四

此方法等于白瞎  满足获取条件就可以通过前三种获取 ==

个人在做微信小程序过程中,比较推荐使用第一种方式进行。因为第一种方式,降低了获取用户的成本。具体怎么获取用户的unionid 博主会在后续文档中进行更新。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值