uniapp微信小程序消息订阅详解

一、微信公众平台申请订阅模板

注意:订阅信息 这个事件 是 当用户 点击的时候触发 或者 是 支付成功后触发,
用户勾选 "总是保持以上选择,不再询问" 之后或长期订阅,下次订阅调用 wx.requestSubscribeMessage 不会弹窗,保持之前的选择,修改选择需要打开小程序设置进行修改。


二、代码

javascript 复制代码
//dom
<button  type='default' @click="onClick" fontColor="#ffffff">订 阅</button>


//methods
 onClick() {
	uni.getSetting({
			withSubscriptions: true,
			success(res) {
				console.log( res, '订阅信息', res.subscriptionsSetting);
				if (!res.subscriptionsSetting.mainSwitch) {
					uni.openSetting({
						success(res) {
							console.log('打开设置页', res.authSetting);
						}
					})
				} else {
					uni.requestSubscribeMessage({
						tmplIds: ['模板id', ],
						success(res) {
							console.log('requestSubscribeMessage 订阅信息', res);
							if (res['模板id'] ==
								"accept") { // 用户点击确定后
								console.log('用户订阅点击确定按钮');
								// 后端接口
							} else {
								console.log('拒绝,不会再弹出弹框 只能去设置页膝盖');
								 uni.showModal({
								 	title: '您未开启消息订阅',
								 	content: '为了给您提供更好的服务,请您授权消息订阅',
								 	success: res2 => {
								 		if (res2.confirm) {
								 			uni.openSetting({
								 				success(res) {
													console.log('打开设置页', res.authSetting);
								 				}
								 			})
								 		} else {
								 			console.log('决绝')
								 		}
								 	}
								 })

							}
						},
						fail(errMessage) {
							console.log("订阅消息 失败 ", errMessage);
						},
						complete() {
						console.log("成功 失败都执行 ", errMessage);
						}
					})
				}
			},
		})
}
相关推荐
Yanni4Night12 分钟前
Parcel 作者:如何用静态Hermes把JavaScript编译成C语言
前端·javascript·rust
遇见~未来34 分钟前
JavaScript构造函数与Class终极指南
开发语言·javascript·原型模式
头发还在的女程序员42 分钟前
小剧场短剧影视小程序源码分享,搭建自己的短剧小程序
人工智能·小程序·短剧·影视·微剧
毕设源码-邱学长1 小时前
【开题答辩全过程】以 基于VUE的打车系统的设计与实现为例,包含答辩的问题和答案
前端·javascript·vue.js
用户39051332192881 小时前
JS判断空值只知道“||”?不如来试试这个操作符
前端·javascript
wuk9982 小时前
梁非线性动力学方程MATLAB编程实现
前端·javascript·matlab
XiaoYu20022 小时前
第11章 LangChain
前端·javascript·langchain
是江迪呀3 小时前
小程序上线半年我赚了多少钱?
微信小程序·产品·创业
yyf198905253 小时前
Vue 框架相关中文文献
前端·javascript·vue.js
行者963 小时前
Flutter适配OpenHarmony:国际化i18n实现中的常见陷阱与解决方案
开发语言·javascript·flutter·harmonyos·鸿蒙