- 应用场景
小程序A(某业务)通过业务流程,赠送小程序B(通用商城)可用的优惠券,其中两个小程序都是使用自动登录,即openid作为唯一身份。通过同一微信开放平台进行关联后,可获取到开放平台id(unionid)。
- 配置背景
小程序A、小程序B、公众号C已关联同一微信开放平台。
- 填坑中
一般情况下,小程序端调用wx.login,传回code再通过服务端登录接口auth.code2Session,即可取到铭文的用户数据包,官方的文档截图如下。
注意看红色框圈中,【在满足 UnionID 下发条件的情况下会返回】
这个情况是什么情况,具体没有提到,所以我在这里填坑了(大雾)
一直使用服务端登录接口获取不到后,查阅资料后找到线索。
配置背景有问题,以往没问题的项目,微信开放平台内只有小程序,里面不存在公众号。
这种没有下发的情况,一说是
同一个微信开放平台下的相同主体的App、公众号、小程序,如果用户已经关注公众号,或者曾经登录过App或公众号,则用户打开小程序时,开发者可以直接通过wx.login获取到该用户UnionID,无须用户再次授权。
来自关联了微信开放平台的小程序,某些情况无法获取到unionId
尝试使用wx.getUserInfo,传回敏感数据到后端解密,这样只要绑定了微信开放平台,必定是有unionid的,撒花完结。
本文由 ben 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Sep 27, 2019 at 09:46 am