微信小程序订阅消息(一次性订阅消息)

1、准备工作

  • 登录微信公众平台–>订阅消息–>在公共模板库中选中一个模版–>将模版id复制,前后端都需要。
    在这里插入图片描述
  • 点击详情–>查看详细内容模版 复制给后端
    在这里插入图片描述

2、相关api的使用

  • 前端使用:wx.requestSubscribeMessage
    在这里插入图片描述
    wx.openSetting
    在这里插入图片描述
    wx.getSetting
    在这里插入图片描述

  • 后端使用
    POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
    在这里插入图片描述

3、前端具体代码实现(不考虑通知消息开关关闭的情况下)

        wx.requestSubscribeMessage({tmplIds:['此处为模版ID'], // 订阅的模板消息 IDsuccess:(res) => {console.log(res, '订阅res')// 处理用户授权结果if (res['此处为模版ID'] === 'accept' ) {// 用户同意接收订阅消息  -- 点击右侧允许按钮wx.showToast({title: '已通知',icon: 'success',duration: 2000});} else {// 用户拒绝接收订阅消息  -- 点击左侧拒绝按钮wx.showToast({title: '通知失败',icon: 'none',duration: 2000});}},fail: (err) => {console.error('订阅失败', err)}});

4、前端具体代码实现(考虑通知消息开关关闭的情况)

以下包含了一点点业务代码,可自行去除。
了解 wx.getSetting和 wx.openSetting的具体作用,以及返回各参数表示什么含义后。

  verifyFun() {var _this = this// var deviceId = wx.getStorageSync('openid');if (this.data.state != null && this.data.deviceId !='') {//wx.getSetting({withSubscriptions:true,success (res) {console.log(res,'get中的res')if(res.subscriptionsSetting.mainSwitch ){// 执行订阅通知 调用弹窗接口if( res.subscriptionsSetting.itemSettings == undefined || ( res.subscriptionsSetting.itemSettings && res.subscriptionsSetting.itemSettings['模版id'] == 'accept') ){wx.requestSubscribeMessage({tmplIds:['模版id'], // 订阅的模板消息1 ID success:(res) => {console.log(res, '订阅res')// 处理用户授权结果if (res['模版id'] === 'accept' ) {// 用户同意接收订阅消息  -- 点击右侧允许按钮wx.showToast({title: '已通知',icon: 'success',duration: 2000});// 请求开启弹窗wx.showLoading({title: '开启中',})verify({deviceId: _this.data.deviceId}).then((res) => {console.log(res, '点击弹窗开启')wx.hideLoading()_this.setData({circleContent: '弹窗已开启'})setTimeout(() => {_this.setData({circleContent: '开启弹窗',});}, 5000)})} else {// 用户拒绝接收订阅消息  -- 点击左侧拒绝按钮wx.showToast({title: '通知失败',icon: 'none',duration: 2000});}},fail: (err) => {console.error('订阅失败', err)}});}else{wx.openSetting({withSubscriptions:true,success (res) {console.log(res,' wx.openSetting(的res')}})}}else{// 调起客户端小程序设置界面 提示用户开启通知wx.openSetting({withSubscriptions:true,success (res) {console.log(res,' wx.openSetting(的res')}})}}})}else {wx.showToast({title: '请先扫码绑定设备',icon: 'none'})wx.switchTab({url: '/pages/scanCode/scanCode'})}},

/*
1、总开关关闭 调wx.openSetting 到设置页面
2、总开关打开,留言开关 关闭 用户点击拒绝 未通知 再次点击 会弹订阅弹框(不勾选 总是保持以上选择开关)
3、总开关打开,留言开关 打开 用户点击拒绝 未通知 再次点击 会弹订阅弹窗(不勾选 总是保持以上选择开关)
4、总开关打开,留言开关 关闭 用户点击拒绝 未通知 再次点击 会跳到通知设置页面,用户手动将留言通知勾选成接受(勾选 总是保持以上选择开关)再次点击 通知成功,但页面不会出现订阅弹框(正常)
5、总开关打开,留言开关 打开 用户点击拒绝 未通知 再次点击 会跳到通知设置页面,用户手动将留言通知勾选成接受(勾选 总是保持以上选择开关)再次点击 通知成功,但页面不会出现订阅弹框(正常)
*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gateway新一代网关

Gateway新一代网关 1、概述 ​ Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关; ​ 但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关SpringCloud Gateway替代Zuul。 ​ 官网&…

Rust构建高性能爬虫程序

一、概述 大数据时代得开启,数据分析的重要性日益增加,网页爬虫在信息收集、数据分析等领域发挥着重要作用。Rust,以其卓越的性能和内存安全性著称,非常适合构建高性能和高效率的爬虫程序。本文将详细介绍如何使用 Rust 构建高性…

ubuntu部署wireguard服务端,ubuntu部署wireguard客户端

docker部署方式 docker run -d \--namewg-easy \-e WG_HOST6.6.6.6服务端IP \-e PASSWORD123abc登陆管理密码 \-e WG_DEFAULT_ADDRESS10.0.8.x客户端 IP 地址范围 \-e WG_DEFAULT_DNS1.1.1.1配置dns \-e WG_ALLOWED_IPS10.0.8.0/24 \-e WG_PERSISTENT_KEEPALIVE25 \-v ~/.wg-e…

uniapp、vue2.6、H5,利用腾讯TRTC,快速跑通1v1视频功能

多人视频聊天室搭建,官网已有相关demo和案例,需要快速搭建多人聊天室直接进入以下网站: 实时音视频 Web & H5 (Vue2/Vue3)-视频通话(含 UI)-文档中心-腾讯云说明:https://cloud.tencent.com/document/…

24计算机考研调剂 | 温州大学

温州大学招收有计算机基础调剂生 考研调剂招生信息 各位2024年考研同学你们好:温州大学化学与材料工程学院 丁益宏 课题组招收学生 【招收专业】 学硕:化学、材料科学与工程 专硕:资源与环境(环境新材料方向)、材料化…

北斗短报文+4G应急广播系统:全面预警灾害信息 构建安全美好乡村

建设社会主义新农村是确保小康社会宏伟目标如期实现的必然要求,是构建和谐社会的重要内容。针对现代农业发展的要求,通过完善专业化监测预报技术,提高精细化的灾害监测预警能力,建设广覆盖的预警信息发布网络,建设有效…

Mybatis查询列表中的坑

前言 从一个Bug入手,看一个或许被很多人忽略的Mybatis使用中的大坑。 中间是排查思路。如果不想看排查过程,可以直接从[真正的解决方案]开始看。 Bug描述 JavaWeb项目中,使用Mybatis查询pg数据库。 在查询一个列表数据的时候,发…

dataGridView 绑定List 显示内容不刷新

绑定后,原list值变动,显示内容会刷新 绑定后,list新添加的值时不会显示到界面,需要重新绑定list 微软的Bug 参考代码 public class Student{public string Name { get; set; }}List<Student> list new List<Student>();private void Form2_Load(object sender,…

练习 9 Web [SUCTF 2019]CheckIn (未拿到flag)

上传图片格式的木马文件&#xff1a; 返回 <? in contents!,存在PHP代码检测 上传非图片格式文件&#xff1a; 返回 不允许非image 修改木马PHP代码规避检测 <? ?> 改为 < script language“php”>< /script ><?php eval($_POST[shell]);?>…

JAVA实现压力测试

在Java中实现压力测试通常涉及到使用多线程来模拟并发操作。以下是一个简单的例子&#xff0c;使用Java的ExecutorService和Callable来执行并发的任务&#xff0c;进行简单的压力测试。 package useful; import java.time.LocalDateTime; import java.util.Calendar; import j…

PyTorch 深度学习(GPT 重译)(四)

第二部分&#xff1a;从现实世界的图像中学习&#xff1a;肺癌的早期检测 第 2 部分的结构与第 1 部分不同&#xff1b;它几乎是一本书中的一本书。我们将以几章的篇幅深入探讨一个单一用例&#xff0c;从第 1 部分学到的基本构建模块开始&#xff0c;构建一个比我们迄今为止看…

C#关键字 sealed、unsafe、virtual、volatile

sealed 应用于某个类时&#xff0c;sealed 修饰符可阻止其他类继承自该类。 在下面的示例中&#xff0c;类 B 继承自类 A&#xff0c;但没有类可以继承自类 B。 class A {} sealed class B : A {}还可以对替代基类中的 虚方法 或 属性的方法 或 属性 使用 sealed 修饰符。 这…

酷炫的粒子动态表白HTML源码

源码介绍 酷炫的粒子动态表白HTML源码&#xff0c;自己自定义文字&#xff0c;动态组合文字&#xff0c;进行表白&#xff0c;喜欢的朋友可以下载使用&#xff0c;很不错的表白HTML代码 下载地址 酷炫的粒子动态表白HTML源码

2024蓝桥杯每日一题(Flood Fill)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;扫雷 试题二&#xff1a;动态网络 试题三&#xff1a;走迷宫 试题四&#xff1a;画图 试题一&#xff1a;扫雷 【题目描述】 扫雷是一种计算机游戏&#xff0c;在 2020 世纪 8080 年代…

【论文阅读】通过组件对齐评估和改进 text-to-SQL 的组合泛化

Measuring and Improving Compositional Generalization in Text-to-SQL via Component Alignment NAACL 2022| CCF B Abstract 在 text-to-SQL 任务中&#xff0c;正如在许多 NLP 中一样&#xff0c;组合泛化是一个重大挑战&#xff1a;神经网络在训练和测试分布不同的情况…

2024 Python3.10 系统入门+进阶(二):Python编程环境搭建

目录 一、Windows安装Python1.1 下载并安装 Python1.2 测试安装是否成功 二、Linux系统安装Python(新手可以跳过)2.1 基于RockyLinux系统安装Python(编译安装)2.2 基于Ubuntu系统安装Python(编译安装) 三、如何运行Python程序&#xff1f;3.1 Python 交互式编程3.2 编写Python源…

GB28181 —— 5、C++编写GB28181设备端,完成将USB摄像头视频实时转发至GB28181服务并可播放(附源码)

被测试的USB摄像头 效果 源码说明 主要功能模拟设备端&#xff0c;完成注册、注销、心跳等&#xff0c;同时当服务端下发指令播放视频时 设备端实时读取USB摄像头视频并通过OpenCV处理后实时转ps格式后封包rtp进行推送给服务端播放。 源码 /****remark: pes头的封装,里面的具…

开发环境配置本地hosts修改域名

一、找到hosts文件的位置&#xff1a; 方法一&#xff1a;windows系统下&#xff0c;直接 WinR 键输入&#xff1a; C:\WINDOWS\system32\drivers\etc 如图所示&#xff1a;输入完后点击确认 方法二&#xff1a;直接按照路径 C:\WINDOWS\system32\drivers\etc 去找 如图所示…

前端安全之XSS与CSRF

前端安全 XSS XSS(Cross-Site-Scripting)&#xff0c;跨站脚本攻击&#xff0c;因为缩写和 CSS 重叠&#xff0c;被别人抢先了&#xff0c;所以只能叫做 XSS。 攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。若受害者运行这些恶意代码&#xff0c;攻击者就可以突破网…

Opencv | 图像基础知识

目录 一. 图像基础知识1. 颜色空间1.1 RGB颜色空间1.2 HSV颜色空间1.3 CMY(K)颜色空间 (了解) 2. 颜色图2.1 RGB三通道彩色图2.1.1 RGB图片数据格式 2.2 单通道灰度图 一. 图像基础知识 1. 颜色空间 1.1 RGB颜色空间 加法混色&#xff0c;彩色显示器 3通道&#xff1a;Red通道…