openid是同一用户同一应用唯一;而手销unionid是同一用户不同应用唯一。
很显然,如果要拿到用户的唯一id,只能用unionid。
因为unionid是用户的旅神私密信息,所以需要走登录入口。
uni-app框架对这块做了很好的封拆薯亏装,直接调用即可。不过api有点乱,手册介绍的实例是用云函数的方式获取,但云函数的相关配置比较繁琐,我们可以绕过不用。
微埋余信小程序button apihttps://developers.weixin.qq.com/miniprogram/dev/component/button.html
微信小程序 社区 unionid总结
https://developers.weixin.qq.com/community/develop/doc/000c2424654c40bd9c960e71e5b009
【情况1】若当前小程序未关联微信开放平台,则没有unionId
解决方案:登纤嫌录 微信开放平台,绑定小程序。
【情况2】已经关联微信开放平台的小程序,但
(1)即没有关注过公众号,
(2)也没有登录过公众号,
(3)更没有使用微信登录的方式登录过app
则此时,微信接口服务端获取不到unionId
解决方案:通毁液手过小程序端的获取用户信息e.detail.rawData 解析到unionId 再传给服务端
记录一下小程序关联服务号的消息推送功能。
准备工源灶作:
1、获取小程序的appid与appsecret(小程序后台获取)
2、获取服务号的appid与appsecret(服务号后台获取)
3、小程序与服务号绑定在同一个微信开放平台
注意:小程序、服务号、微信开放平台都要认证!!!都要认证!!!都要认证!!!
接下来进入正题。
第一步:获取服务号的access_token
直接通过官方给的接口获取。这里有两个参数,都可以直接获取到
第二步:获取已关注服务号的所有用户的openid
还是通过官方提供的网址获取openid,这里需要一个参数access_token,已从上一步获取到了
第三步:获取已关注用户的用户信息
这一步可获取用户的详细信息,包括昵称、头像、地理位置、unionid等。根据官方网址需要两个参数access_token与漏裂大openid通过上面两部均已取得。这里后台可以生成一张表用于返竖存储这些数据。
第四步:小程序登录时获取用户的unionid
(1)用户登录小程序时,通过wx.login()获取code
(2)通过微信官方网址获取unionid,需要的参数为code、appid、appsecret
第五步:服务号的模板消息推送
(1)当服务号与小程序绑定在同一个开放平台时,他们的unionid是一样的,所以我们可以通过unionid这个中间量来进行数据的查找
(2)通过第四步获取的unionid,我们可以查找到当前登录小程序的用户他的服务号的openid。
(3)需要的两个参数都获取到了,我们就可以推送消息模板啦,接下来按照官方的教程 *** 作就行了。
(4)如果想要一次推送给多人可以把接收人的openid存到一个数组中,然后加个循环就行了。
总结:用户必须关注服务号,否则不发收到推送消息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)