微信小程序 服务通知之订阅消息授权公共方法

news/2024/11/7 20:49:18/

1,创建个js 文件 subscribeMessage.js

//  订阅消息通知授权方法
export const subscribeMessage = (val)=> {//需要订阅的消息模板,在微信公众平台手动配置获取模板IDlet message = val; // 模板id//如果总是拒绝(subscriptionsSetting,2.10.1库才支持)if(versionCompare('2.10.1')){wx.getSetting({withSubscriptions: true,//是否同时获取用户订阅消息的订阅状态,默认不获取success: (res)=> {console.log(res)if (res.subscriptionsSetting && res.subscriptionsSetting.itemSettings &&res.subscriptionsSetting.itemSettings[message] == "reject"){//打开设置去设置openConfirm('检测到您没打开推送权限,是否去设置打开?');}else if(res.subscriptionsSetting && res.subscriptionsSetting.itemSettings &&res.subscriptionsSetting.itemSettings[message] == "accept") { // 已有授权过console.log('已有订阅授权过')} else {wx.requestSubscribeMessage({tmplIds: [message],success: (res)=> {if (res[message] == 'accept'){//用户允许}},fail: (res)=> { console.info(res) },})}}})}else if(versionCompare('2.4.4')){wx.requestSubscribeMessage({tmplIds: [message],success: (res)=> {if (res[message] == 'accept'){//用户允许}},fail: (res)=> { console.info(res) },})}//打开设置function openConfirm(message) {wx.showModal({content: message,confirmText: "确认",cancelText: "取消",success: (res) => {//点击“确认”时打开设置页面if (res.confirm) {wx.openSetting({success: (res) => {console.log(res.authSetting)},fail: (error) => {console.log(error)}})} else {console.log('用户点击取消')}}});}//基础库版本比较function versionCompare(v) {const version = wx.getSystemInfoSync().SDKVersionif (compareVersion(version, v) >= 0) {return true} else {return false}}function compareVersion (v1, v2) {v1 = v1.split('.')v2 = v2.split('.')var len = Math.max(v1.length, v2.length)while (v1.length < len) {v1.push('0')}while (v2.length < len) {v2.push('0')}for (var i = 0; i < len; i++) {var num1 = parseInt(v1[i])var num2 = parseInt(v2[i])if (num1 > num2) {return 1} else if (num1 < num2) {return -1}}return 0}
}

2, 页面点击事件里面使用

import {subscribeMessage} from "../../../utils/subscribeMessage.js"; // 订阅 公共方法data: {subscribeMessage: subscribeMessage // 订阅消息授权},toWhere(e) {this.data.subscribeMessage('xxxx'); // 订阅授权方法 入参是模板id}

http://www.ppmy.cn/news/764533.html

相关文章

Java后台+微信小程序实现推送 “服务通知”

微信小程序java后台实现&#xff0c;小程序推送“服务通知”给用户 成功步骤&#xff1a; 1.注册微信小程序app&#xff0c;然后登陆微信公众平台开通“消息推送”&#xff0c;配置url、token等参数 2.平台——模板消息——我的模板 申请模板&#xff0c;获取模板id、配置的字…

jenkins配置企业微信机器人通知,自定义通知内容

1.企业微信的配置 1.1 进入企业微信群 创建一个群 -> 右击群标签&#xff0c;添加群机器人 1.2 填写机器人信息 创建机器人&#xff0c;填写机器人信息 1.3 复制Hook地址 复制WebHook地址&#xff0c;此处的Webhook将用于Jenkins当中的参数配置 2.Jenkins的配置 2.1 安装插…

uniapp微信小程序订阅消息发送服务通知--超详细

uniapp微信小程序订阅消息发送服务通知 由于公司需求&#xff0c;刚学完的小程序的我&#xff0c;要求开发一个直播通知的微信小程序&#xff0c;学了vue的我&#xff0c;选择还是使用uniapp开发&#xff0c;wx原生语法学完已经快忘了。在利用uniapp写代码的过程中&#xff0c…

微信服务通知消息找回_微信好友删除了怎么找回?掌握小妙招,恢复好友不是梦?_...

2020年11月03日 14:05 作者&#xff1a;黄页 编辑&#xff1a;黄页 ​微信好友删除了怎么找回?随着现在微信使用的越来越频繁,导致手机通讯录的功能已经退化,可以说现在一个人可能会没有对方的手机号,但是一定不会没有对方的微信号。但是随之而来的问题就是:一旦手滑,误删除了…

php微信支付结果通知接收,PHP接收微信支付结果通知 notify

/** * 微信支付 通知 * * param Request $request */ public function notify(Request $request) { // 接收微信推送的数据 $data file_get_contents(php://input); // 将接收的数据写入日志文件 $path app()->storagePath(wxPay/ . date(Ym)); if (!file_exists($path)) …

php微信退款结果通知,微信支付退款结果通知解密

微信支付退款结果通知解密步骤如下&#xff1a; 第一步&#xff0c;对商户密钥key进行MD5加密&#xff0c;得到32位小写加密串StringA key设置路径&#xff1a;微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置 第二步&#xff0c;使用StringA作为ke…

微信消息通知总结

微信消息通知总结 文章目录 微信消息通知总结一 简介1.1 消息分类1.2 微信主动推送1.3 系统手动下发 二 具体实现步骤2.1 微信主动推送2.1.1 跟随推荐2.1.2 支付即会员 2.2 系统主动发送2.2.1 公众号主动发送2.2.2 小程序主动发送 三 规范四 支付后展示 一 简介 ​ 最近做了一…

Zabbix对接企业微信通知

检查Zabbix服务器的python环境&#xff0c;默认安装系统会自动安装python python -V #检查python版本 安装pip环境&#xff0c;以便下载python库 yum install python-pip -y 部署脚本所需的python库 yum install python-simplejson -y pip install requests -y 在已经安装Za…