微信小程序中获取用户微信公众号授权(openid)用来发送模板消息
需求:
由于小程序不能直接向用户发送模板消息,所以需要用公众号向用户发送模板消息。
于是需要将小程序的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)用来发送模板消息相关推荐
- 微信小程序中获取用户微信运动信息
可以通过微信接口:wx.getWeRunData 获取用户过去三十天的微信运动步数. 前提: 使用这个接口有两个前提: 1. 需先调用wx.login接口进行登录 步数信息会在用户主动进入小程序时更 ...
- 小程序中引导用户关注公众号
众所周知,小程序现在越来越普遍,应市场需求,越来越多的开发者在学习小程序的开发,因为小程序刚起步,所以有很多问题还不完善,微信开放平台也在日渐完善,小程序文档也在不断优化,现在小程序中可以引导用户关注 ...
- 微信小程序中获取用户手机号
注: 首先获取用户需要用户主动触发才能获取手机接口,不能由API调用 1.申请测试账号 申请成功获取appid(小程序ID),AppSecret(小程序密钥) 在project.config.json ...
- 【小程序】微信小程序如何获取用户微信openID?(已解决,完整代码实例)
一.需要三个参数: 1.获取code 2.小程序AppID 3.小程序密钥AppSecret 二.代码 1.wxml代码 <view>获取Code:{{wxCode}} </view ...
- 【小程序】微信小程序中实现【关注公众号】弹窗
1.效果,注意,在开发工具中并不显示公众号信息,只有在体验版和正式版中才能看到! 2.wxml代码实现 <!-- 关注公众号弹出 --> <view wx:if="{{is ...
- 另辟蹊径,在小程序中获取是否关注公众号
近期处理了一个需求,具体是需要在小程序首页展示一个"去关注"公众号的按钮(如下图),并跳转到公众号去关注:这里其实比较好处理,直接用<web-view/>内嵌到公众号就 ...
- 微信小程序- css相比,wxss区别?小程序关联微信公众号如何确定用户的唯一性?微信小程序中的用户ID(openid和unionid)
1 与css相比, wxss区别? 1) 响应式长度 rpx 2) 样式导入 3) 小程序不支持通配符* *{ width:100rpx; height:100rpx; } 2 小程序关联微信公众号如 ...
- 微信小程序之获取用户地址
在微信小程序中获取定位信息 今天一整天基本上都在处理在微信小程序中获取准确地址,给出定位并给出所在城市的问题.经过走了半天弯路,现在总结一下所需要的步骤. 一. 先到腾讯位置服务中心获取KEY 通过小 ...
- 微信小程序之获取用户基本信息
微信小程序之获取用户基本信息 一.使用Redis存储access-token package com.qfjy.project.weixin.api.accessToken;import com.qf ...
最新文章
- mysql or的效率_Mysql比较exists与in以及or的效率分析
- 第二阶段个人总结11
- 远程机房监控设计方案
- SAP UI5 global configuration interface
- 树的同构模板题(法1.最小表示法+法2.树哈希)
- java play database_Play Framework连接到数据库
- 微课|Python程序设计开发宝典(5.1.2节):修饰器
- T4生成实体,单张表和多张表
- ci php做记录删除,PHP CI APC 使用记录
- JavaScript中常用变量介绍
- 服务器 通知系统设计,组列表管理服务器的设计与实现
- VBoxGuestAdditions.iso下载
- 点云配准(一)— ICP方法
- 区块链100讲:如果连电子钱包都不懂,还谈什么区块链开发(有彩蛋)
- 使用FFmpeg命令对音视频进行基础的编辑
- P6364 1024 程序员节发橙子 ( 正序 反序遍历不降序 )
- word文档通配符换行_Word指定位置批量插入表格,别人花一天搞不出来,我只用了10秒...
- Typo3 CVE201912747 反序列化漏洞分析
- linux vim粘贴快捷键设置,vim粘贴模式快捷方式
- 视频教程-jQuery交互式前端开发(第一季):初体验/选择器/事件绑定-jQuery