公众号及小程序说明
为了识别用户身份,每个用户都会生成一个安全的
冷知识:公众号包括服务号和订阅号。我们经常开发服务号
同一微信用户在小程序和公众号上拥有不同的账号
机制说明
微信机制说明:
如果开发者拥有多个移动应用、网站应用、公众号(包括小程序),则可以区分用户的唯一性,因为只要同一个微信开放平台账号下的移动应用、网站应用、公众号(包括小程序),用户的是唯一的。 也就是说,同一个用户在同一个微信开放平台下,不同的应用程序是一样的。
简而言之,就是用来说明多个应用下用户身份的一致性。 相比之下,由于每个用户在同一个应用程序下都是唯一的,因此也可以用来标记用户的身份,但仅限于同一个应用程序中。 对于不同的应用小程序后端和云开发,每个用户的ID是不同的。 要标识不同应用之间用户的唯一性,只能使用它。 我们举个例子来说明一下,例如:
小耿的开发者号下有公众号A和小程序B。 对于访问公众号A和小程序B的用户小龙来说,有一个和(!=),它在公众号A的应用中是唯一的,可以说明小龙的身份; 在小程序B中是独一无二的,也能说明小龙的身份。 假设我们现在要判断公众号A的用户小龙和小程序B的用户小龙是否是同一个用户小龙,我们可以确定吗? 显然,不。 这时用户就可以解决这个问题,即用来判断用户在不同应用下的唯一性。
如何获得?

公众号获取
参考文档:(建议放到后台处理)
小程序获取
1、需要在微信小程序中调用登录开放接口wx.()获取用户登录凭证代码。
wx.()接口说明:
2、向服务器发送请求,同时发送代码。
3. 接下来,调用 auth. 服务器端的接口
接口说明:
4.接口返回

使用权
公众号获取
用户可以直接通过
小程序获取
微信官方给出的方法:
开发者账号绑定的小程序可以通过以下方式获取。
1、开发者账号下是否存在相同主题的公众号,且用户已关注该公众号。 开发者可以直接通过wx获取用户。 + 未经用户重新授权。 (以前是调用接口wx.,或者通过获取:授权登录来获取解密数据。2021年4月13日之后不再支持该方法。相关文档:) 2、如果开发者下存在相同的主体账户公众号或移动应用,且用户已授权登录该公众号或移动应用。 开发者也可以直接通过wx获取用户。 + 未经用户重新授权。 3、用户在小程序中完成支付后(暂不支持小游戏),开发者可以直接通过接口获取用户的账号,无需用户授权。 注:该接口仅在用户支付完成后5分钟内有效,开发者应妥善处理。 4、小程序调用云功能时,如果开发者账号下有同一主体的公众号,且用户已关注该公众号,则可以通过 获取。 在云功能中。 5、小程序调用云功能时,如果开发者账号下有相同主体的公众号或移动应用,且用户已授权登录该公众号或移动应用,也可以获得通过 。 在云功能中。
项目中采取以下方法获取第一种方法示例:
微信小程序中调用wx.()获取code,将code传给后端,后端直接调用接口:自己&=key&=${code}&=

得到并且,
onLoad: function (options) { this.wxLogin() }, wxLogin () { wx.login({ success: (res) => { //用户的code let userCode = rest.code console.log('wx.login==>',res) // 该流程放到后端处理=== // https://api.weixin.qq.com 不是合法域名,正式环境无法访问 ============= wx.request({ // 自行补上自己的 APPID 和 SECRET url:`https://api.weixin.qq.com/sns/jscode2session?appid=自己的appid&secret=密钥&js_code=${userCode}&grant_type=authorization_code`, success: res => { // 获取到用户的 openid console.log("用户的openid:" + res.data.openid); console.log("用户的unionid:" + res.data.unionid); console.log("用户的session_key:" + res.session_key); } }); } }) }
Tips:获取需要将微信开放平台与小程序绑定,否则无法获取
找到并
微信公众平台->开发->开发管理->开发设置
授权。
比较简单,大家可以自行查看链接
参考文章:
:
: