各有一个微信小程序和微信公众号,。 现在微信小程序和微信公众号PC端扫码都可以正常使用,但因为它们两个产生的OPENID不一样,所以同一个微信注册时候会产生两个账号,于是发现不能用openid 来作为用户的标识,而应该用 unionid 作为用户标识。
但现在在微信小程序登录端,要用code 换取 用户的openid和unionid,代码如下
const url = `https://api.weixin.qq.com/sns/jscode2session?appid=${process.env.WEIXIN_MINI_PROGRAM_APPID}&secret=${process.env.WEIXIN_MINI_PROGRAM_SECRET}&js_code=${code}&grant_type=authorization_code`;
const response = await fetch(url);
const test_data = await response.json();
但是服务器给我的结果只有session_key和openid,没有任何的unionid
{session_key: 'bvvYQtOnfsga9gj8RdcTDg==', openid: 'o8H4a7Te8_70UDYXCK8HaTl34c0Y'}
我检查了公众号的配置,发现微信公众号和小程序已经关联到一起,所以不是没有关联的问题,但是为什么没有unionid 就不清楚,请高手帮我看看
需将小程序和公众号绑定到同一个开放平台账户下
unionId是微信开放平台的概念,即微信用户在微信开放平台的身份标识
只有绑定微信开放平台才会有的
要绑定到开放平台才会返回unionid