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

于是需要将小程序的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. 微信小程序获取公众号code以及openId

    微信小程序判断用户是否关注公众号-简要流程 版权 原文链接:树先生https://blog.csdn.net/weixin_39601000/article/details/105288342 没有需 ...

  2. 小程序和公众号openID绑定

    通过小程序登录获取小程序openID <button hidden="{{is_login}}" class='bottom' type='primary' open-typ ...

  3. java获取openid_JAVA获取微信小程序openid和获取公众号openid,以及通过openid获取用户信息...

    https://www.cnblogs.com/lxwt/p/10154540.html?tdsourcetag=s_pcqq_aiomsg 一,首先说明下这个微信的openid 为了识别用户,每个用 ...

  4. 微信小程序下获取公众号openId

    微信小程序下获取公众号openId 一.为什么我们需要在小程序下面获取公众号的openId呢? 微信公众号和微信小程序我们一般都会开发,有一种场景我们经常会遇到,公众号的消息推送以较成熟,我们希望把小 ...

  5. 另劈捷径实现微信小程序与公众号的OpenID建立关联

    实现多个小程序和公众号的用户关联 1.微信公众平台官方文档 2.准备工作 3.应用场景说明 4.实现步骤 a.获取微信小程序openId (用户唯一标识) b.借助web-view获取到用户公众号的O ...

  6. 企业微信获取用户信息响应40029(微信小程序与公众号出现类似问题应该是同样的原因)

    企业微信获取用户信息响应40029 在对接企业微信的时候需要通过code去获取userId,但是会返回40029的error码,经过测试与验证原因是访问地址 https://open.weixin.q ...

  7. 微信小程序和公众号相关联,获取同一个unionid

    将小程序和公众号绑定在一个微信开放平台的账号下面即可将公众号与小程序相关联 注:绑定小程序或者公众号的账号密码不是appkey和APPsecret,是微信公众平台的登录账号和密码,切记

  8. 浅析微信支付:微信支付简单介绍(小程序、公众号、App、H5)

    本文是[浅析微信支付]系列文章的第二篇,主要讲解一下普通商户接入的支付方式以及其中的不同之处. 上篇文章讲了本系列的大纲,没有看过的朋友们可以看一下. 浅析微信支付:前篇大纲 微信支付是集成在微信客户 ...

  9. 微信小程序获取unionid与openid

    获取unionid需要先在微信开放平台绑定小程序,否则无法获取 UnionID机制说明  unionid来区分用户的唯一性,在相同微信开放平台帐号下的移动应用.网站应用.小程序.公众号,用户的unio ...

最新文章

  1. 等差数列末项_等差数列末项(第n项)公式
  2. java list三种遍历方法性能比較
  3. 初识用.NET Remoting来开发分布式应用 (转载)
  4. 如何在ASP.NET Core中编写自定义日志记录提供程序
  5. features its own
  6. 现代分类方法在医学诊断中的应用——基于R的实现
  7. 【BZOJ-1090】字符串折叠 区间DP + Hash
  8. 梦幻西游qq表情包YR
  9. c3p0连接池配置连接不上mysql_数据库连接池之c3p0的配置 + 问题解决方案
  10. html展开图片,Html 显示图片的三种方式
  11. python中列表中字符串按数字排列
  12. 药品大数据公司都有哪些?
  13. php-hyperf 使用Saber报 HTTP -4 Unknown: Linux Code 11: Resource temporarily unavailable
  14. 如何正确对用户密码进行加密?转自https://blog.csdn.net/zhouyan8603/article/details/80473083...
  15. Redis集群——去中心化模式
  16. 区块链系统开发介绍模块
  17. oracle nvl和nvl2的区别
  18. [收藏]POSIX标准
  19. div失去焦点事件onblur()不触发解决方法
  20. Python学习教程:正态你还不会吗?这期的Python教程你肯定能学会

热门文章

  1. 理解spring父子容器
  2. 父子组件通信的方式(Day1)
  3. 单机版kafka安装
  4. 最长公共子序列(LCS)
  5. 八十年代 人们在玩什么游戏~你都玩过吗?
  6. pandas 批量读取excel_怎样使用Pandas批量拆分与合并Excel文件?
  7. 如何修复 WordPress 定制开发中登录重定向循环?
  8. 杭州联通主流套餐推荐
  9. 【PowerBI】各种常用度量值函数以及创建日历表
  10. 为什么竞价广告的计费价格是竞价排名第2的价格而非竞价排名第1的价格呢?