收藏
回答

快被小程序的unionid机制搞疯了

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug unionid机制 微信iOS客户端 6.7.1 2.2.0

先说一下前提:

  同一主体开发了公众号+多个小程序组合,为了避免在多个小程序之间重复注册,使用了unionid机制进行会员数据关联。


在直接调用wx.getUserInfo的时候一切正常,只是默认要弹出请求授权窗口,拒绝授权的使用openSetting再次请求授权


好了,后来说wx.getUserInfo将要作废,建议使用button按钮获取userInfo信息授权。于是我们把默认的wx.getUserInfo改成了默认wx.login,那么问题来了,wx.login根据unionid机制,部分会返回unionid,部分用户不返回unionid(用户仅操作当前小程序并未关注或者操作过同主体下其他小程序)

https://developers.weixin.qq.com/miniprogram/dev/api/unionID.html


然后我们要再判断如果wx.login接口没有返回unionid字段,跳转到一个单独的授权页面,点击<button open-type="getUserInfo" 的按钮授权获取用户信息。



然后我们再根据获取的unionid字段匹配数据库会员资料,未注册再次跳转到单独的注册页面,进行手机号码验证注册


问题1:wx.login接口返回 unionid规则复杂,难以理解

Why?为什么要有这么奇葩的规则?同主体小程序绑定到了开放平台,进行了认证。为什么要这么奇怪的规则,增加接口复杂性。经常会误解为都会返回unionid字段,一般开发用的测试号由于都操作过同主体其他小程序都会返回unionid


问题2:点击<button open-type="getUserInfo" 按钮回调,e.detail.userInfo 已经包含了用户昵称、头像、地区、性别等信息,唯独不返回openid,unionid字段,需要用e.detail.iv  + code  去服务器解密获取。难道openid,unionid字段比用户昵称、头像等信息更隐私吗?为何要如此大费周章才能给openid,unionid字段



问题3:wx.getUserInfo作废能给具体时间吗?开发工具、体验版都已经弹窗不建议用了,但是正式版又可以使用。开发天天要被问“我看到被人家的xxx能用弹窗授权噢”,每天都要解释,开发到底是要用呢还是不用呢?




最后一次编辑于  2018-08-03
回答关注问题邀请回答
收藏

23 个回答

  • 刘万权
    刘万权
    2018-08-03

    unionid这个问题应该是这个用户没有关注公众号才获取不到,如果关注了公众号或者取关公众号,应该都可以获取到。

    2018-08-03
    有用
    回复 2
    • Bob
      Bob
      2018-08-03

      是的,所以无意中增加了获取unionid的复杂度,wx.login后还要判断是否有unionid,没有跳转getUserInfo页面获取

      2018-08-03
      回复
    • 刘万权
      刘万权
      2018-08-06

      哈哈  不知道当初是怎么设计的

      2018-08-06
      回复
  • 星光
    星光
    2018-08-03

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

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

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

    获取unionid,在开放平台认证关联后,必须是上面3种办法获取

    2018-08-03
    有用
    回复 3
    • Bob
      Bob
      2018-08-03

      以上是3种能获取到unionid的条件,实际中有一部分用户是只操作过小程序,wx.login接口不返回unionid字段

      2018-08-03
      回复
    • 星光
      星光
      2018-08-06回复Bob

      前提是:在开放平台认证关联

      2018-08-06
      回复
    • Bob
      Bob
      2018-08-06回复星光

      嗯。关联了也不一定都返回,还要是关注过公众号或者其他小程序授权过

      2018-08-06
      回复
  • 寻
    2018-08-03

    真的是烦哦

    2018-08-03
    有用
    回复

正在加载...

登录 后发表内容