你可以把你的公众号和小程序都绑定在开放平台上,打通 openid 和 unionid ,你现在就有个三个 id ,一个是公众号 openid ,一个是小程序 openid ,一个是 unionid 。 原来的公众号用户如果通过小程序登录,识别不到公众号账户下的资产是正常的,因为他们没有关联上。 你可以在小程序上嵌入一个 webview ,将公众号登录页面放在里面,通过公众号登录拿到公众号的 openid ,而小程序的 openid 和 unionid 在小程序里获取,这样就把三个 id 串起来了。 说白了也就是小程序的用户登录逻辑是通过 webview 嵌入的公众号页面实现的。后期如果发现用户二次打开的时候已经做过 id 打通,也可以直接做无感登录。
@laoertongzhi 官方文档我确实看过了,这个接口有很多用户的 union id 都获取不到,不知道是不是因为 #18 说的用户没有绑定银行卡的原因(感觉这个原因的话不太可能导致这么多用户出问题,已经让客服那边帮忙联系一部分用户核实了)还是#17 说的必须授权 snsapi 的原因(感觉更有可能是这个) @yiqiao
静默登录拿不到 unionid 。 你这个情况可以直接使用小程序嵌入 webview ,使用静默登录,然后通过小程序里面的 webview 的跳转到登录成功页面将登录后的参数发送给小程序作为储存即可。 放弃小程序的登录接口。
@drymonfidelia 理论上这个方法你不用 unionId 也可以,就是拿到公众号的 openId 查询是否有老用户,有就直接登录,没有就用两个 openId 一起注册,相当于两个 openId 做唯一标识。。
小程序已获取到 小程序 OpenId + UnionId. 前提下 小程序里面套个网页做公众号静默授权, 此时就有 公众号 OpenId + UnionId. 在此时 UnionId 肯定是一致的, 公众号 OpenId 就能补全 UnionId 了并关联上小程序 OpenId. 仅限微信, 支付宝不支持小程序做网页授权. 现在你们数据已经乱套了 十分头痛的~