需求:

由于小程序不能直接向用户发送模板消息,所以需要用公众号向用户发送模板消息。

于是需要将小程序的openid和公众号的openid绑定在一起。提供两种思路:

方法一:

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

2.公众号方面获取unionid可以利用微信提供的 接收事件推送 的关注事件。用户关注公共号是获取用户信息,其中就会包括unionid,便可将两者绑定在一起。

优点:代码实现比较简单,思路清晰。

缺点:这种方法需要用到服务器配置,一旦启用服务器配置就不能用微信公众号平台提供的自定义菜单。(这就是我在实现了方法一后,又舍弃做了方法二的原因)

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

在小程序中使用 web-view 并配配合微信公众号提供的 网页授权 来实现:

1.在小程序中做一个web-view页面,页面中只需要写微信 网页授权的链接就行了,注意appid请自行替换。redirect_uri是我们第二步中的网页地址,需要在公众号管理平台中配置

<view><view class=""><web-view src="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx41527c1e857edbd6&redirect_uri=http://196.192.168.178:9527/wx/mp&response_type=code&scope=snsapi_base&state=123#wechat_redirect"></web-view></view>
</view>

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

2.做一个专门用来获取微信授权的网站(我这边是用做的)注意引入或安装weixin-js-sdk

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

3.编写后端通过code获取access_token再获取用户openid的方法(这里就不写了)

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

微信小程序中获取用户微信公众号授权(openid)用来发送模板消息相关推荐

  1. 微信小程序中获取用户微信运动信息

    可以通过微信接口:wx.getWeRunData 获取用户过去三十天的微信运动步数. 前提: 使用这个接口有两个前提: 1. 需先调用wx.login接口进行登录  步数信息会在用户主动进入小程序时更 ...

  2. 小程序中引导用户关注公众号

    众所周知,小程序现在越来越普遍,应市场需求,越来越多的开发者在学习小程序的开发,因为小程序刚起步,所以有很多问题还不完善,微信开放平台也在日渐完善,小程序文档也在不断优化,现在小程序中可以引导用户关注 ...

  3. 微信小程序中获取用户手机号

    注: 首先获取用户需要用户主动触发才能获取手机接口,不能由API调用 1.申请测试账号 申请成功获取appid(小程序ID),AppSecret(小程序密钥) 在project.config.json ...

  4. 【小程序】微信小程序如何获取用户微信openID?(已解决,完整代码实例)

    一.需要三个参数: 1.获取code 2.小程序AppID 3.小程序密钥AppSecret 二.代码 1.wxml代码 <view>获取Code:{{wxCode}} </view ...

  5. 【小程序】微信小程序中实现【关注公众号】弹窗

    1.效果,注意,在开发工具中并不显示公众号信息,只有在体验版和正式版中才能看到! 2.wxml代码实现 <!-- 关注公众号弹出 --> <view wx:if="{{is ...

  6. 另辟蹊径,在小程序中获取是否关注公众号

    近期处理了一个需求,具体是需要在小程序首页展示一个"去关注"公众号的按钮(如下图),并跳转到公众号去关注:这里其实比较好处理,直接用<web-view/>内嵌到公众号就 ...

  7. 微信小程序- css相比,wxss区别?小程序关联微信公众号如何确定用户的唯一性?微信小程序中的用户ID(openid和unionid)

    1 与css相比, wxss区别? 1) 响应式长度 rpx 2) 样式导入 3) 小程序不支持通配符* *{ width:100rpx; height:100rpx; } 2 小程序关联微信公众号如 ...

  8. 微信小程序之获取用户地址

    在微信小程序中获取定位信息 今天一整天基本上都在处理在微信小程序中获取准确地址,给出定位并给出所在城市的问题.经过走了半天弯路,现在总结一下所需要的步骤. 一. 先到腾讯位置服务中心获取KEY 通过小 ...

  9. 微信小程序之获取用户基本信息

    微信小程序之获取用户基本信息 一.使用Redis存储access-token package com.qfjy.project.weixin.api.accessToken;import com.qf ...

最新文章

  1. mysql or的效率_Mysql比较exists与in以及or的效率分析
  2. 第二阶段个人总结11
  3. 远程机房监控设计方案
  4. SAP UI5 global configuration interface
  5. 树的同构模板题(法1.最小表示法+法2.树哈希)
  6. java play database_Play Framework连接到数据库
  7. 微课|Python程序设计开发宝典(5.1.2节):修饰器
  8. T4生成实体,单张表和多张表
  9. ci php做记录删除,PHP CI APC 使用记录
  10. JavaScript中常用变量介绍
  11. 服务器 通知系统设计,组列表管理服务器的设计与实现
  12. VBoxGuestAdditions.iso下载
  13. 点云配准(一)— ICP方法
  14. 区块链100讲:如果连电子钱包都不懂,还谈什么区块链开发(有彩蛋)
  15. 使用FFmpeg命令对音视频进行基础的编辑
  16. P6364 1024 程序员节发橙子 ( 正序 反序遍历不降序 )
  17. word文档通配符换行_Word指定位置批量插入表格,别人花一天搞不出来,我只用了10秒...
  18. Typo3 CVE201912747 反序列化漏洞分析
  19. linux vim粘贴快捷键设置,vim粘贴模式快捷方式
  20. 视频教程-jQuery交互式前端开发(第一季):初体验/选择器/事件绑定-jQuery

热门文章

  1. 【算力网络】算力网络的发展愿景及目标
  2. 对拉格朗日乘数法的直观认识
  3. XManager5连接CentOS7
  4. 秋招在即,你准备好了吗?BAT算法工程师面试经验分享。
  5. python爬虫学习-定制请求头
  6. 解决微信图片不可引用的问题
  7. 天玑1300和骁龙778plus哪个好
  8. Redis INCR命令
  9. 广义表的存储结构--头尾链表存储表示/扩展线性链表存储表示
  10. CAD填充颜色透明颜色设置