关于在未关注公众号情况下获取UnionID的解决方法?
发布于 6 年前 作者 houyong 5806 次浏览 来自 问答

目前项目的做法是:  app.js 中 通过 wx.login + code2Session方法获取 UnionID,获取到就登录成功,获取不到 ,通过 wx.getUserInfo(目前都是要做成 button的那个形式)方法获取,用户授权可以登录注册成功;

问题: 在未关注公众号的情况下,注册成功了, 第二次打开小程序的时候,仍然需要授权(因为默认是通过 code2Session获取的,此时获取不到unionID),这样就需要每次都授权登录,想问的问题是:有什么好的办法,解决这个每次都需要授权登录的问题(注:让每个用户都主动关注公众号不太现实)?谢谢大佬们

3 回复

getUserInfo里拿encryptedData

后台去请求也能拿到unionid

授权后的以后都是静默授权 能达到你的效果

我们的逻辑是:

1、app.globalData.unionId = app.globalData.unionId || wx.getStorageSync(‘unionId’)

2、没有则wx.getUserInfo直到获得授权;

3、云函数获得unionId,缓存

4、没有则wx.login,wx.getUserInfo,将3个参数传入后台获得unionId,缓存。

回到顶部