获取小程序信息 在微信小程序中获取用户的微信公众号授权(openid),发送模板消息

要求:

由于小程序无法直接向用户发送模板消息,因此需要通过公众号向用户发送模板消息。

因此,需要将小程序的 openid 和公众号的 openID 绑定在一起。提供了两个想法:

方法 1:

1. 微信小程序和公众号都绑定了微信开放平台,这样当小程序登录获取用户信息时,可以获取到微信用户的唯一 ID(UnionID)。

2. 在公众号方面,可以使用微信提供的关注事件来接收事件推送。用户关注公众号获取用户的信息获取小程序信息,其中会包含 unionid,两者可以绑定在一起。

优点:代码实现相对简单,思路清晰。

缺点:这种方式需要服务器配置,一旦开启服务器配置获取小程序信息,就无法使用微信公众平台提供的自定义菜单。(这就是为什么我在实现方法 1 后放弃了方法 2)。

方法二:(主要介绍方法二的实现方法和代码)。

使用微信公众号提供的 web 授权在小程序中使用 web-view 实现:

1. 在小程序中制作一个网页查看页面,只需要在页面中写上微信网页授权的链接,请自行更换 appid。redirect_uri是第二步的网址,需要在公众号管理平台进行配置


  
    
  

(这里是微信公众号测试平台的配置方法)。

2、专门做一个网站来获取微信授权(我这里用),注意介绍或者安装 weixin-js-sdk


  
import {getMpUserInfo} from "@/api/login"; import wx from 'weixin-js-sdk' export default { name: "login", data() { return { } }, created() { //请求后端接口获取公众号openid getMpUserInfo(this.$route.query.code).then(res => { //跳转回小程序的登录页面并将公众号openid带过去 wx.miniProgram.redirectTo({url: "/pages/auth/login/login?mpOpenid="+res.data.data}) }) } }

3. 为后端编写一个方法,通过代码获取access_token然后获取用户的 openid(这里就不写了)。

完成以上步骤后,微信小程序会获取用户公众号的 OpenID 只需将公众号的 OpenID 和小程序的 OpenID 发送到后台,就可以将两者绑定在一起,这样微信小程序就可以通过公众号向用户发送模板消息。

© 版权声明
THE END
喜欢就支持一下吧
点赞96赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容