uniapp微信小程序订阅消息

//订阅消息
		    scribeMsg() {
				var _this = this
				// 获取用户的当前设置,判断是否点击了“总是保持以上,不在询问”
				uni.getSetting({
					withSubscriptions: true, //是否获取用户订阅消息的订阅状态,默认false不返回
					success(res) {
						if (_this.showOpenSettingDialog) {
							uni.requestSubscribeMessage({
								tmplIds: _this.tmplIds,
								success(res) {
									if (res[_this.tmplIds[0]] == "accept") {
										_this.showOpenSettingDialog = true;
										// uni.setStorageSync('showOpenSettingDialog', true);
									} else {
										uni.showToast({
											title: "您拒绝订阅消息授权,无法接受通知",
											icon: "none",
											duration: 2000
										});
										_this.showOpenSettingDialog = false;
									}
								},
								fail: (res) => {
									uni.showModal({
										title: '温馨提示',
										content: "检测到您没有开启订阅消息的权限,是否去设置?",
										success: function(modal) {
											if (modal.confirm) { // 点击肯定
												uni.openSetting({
													withSubscriptions: true
												});
												_this.showOpenSettingDialog = true;
											} else {
												uni.showToast({
													title: "您已拒绝订阅消息授权,无法接受通知",
													icon: "none",
													duration: 2000
												});
												_this.showOpenSettingDialog =
													false;
											}
										}
									})
								}
							})
						} else {
							if (res.subscriptionsSetting[_this.tmplIds[0]] ==
								"reject") { //用户点击了“总是保持以上,不再询问”
								uni.showModal({
									title: '温馨提示',
									content: "检测到您没有开启订阅消息的权限,是否去设置?",
									success: function(modal) {
										if (modal.confirm) { // 点击肯定
											uni.openSetting({
												withSubscriptions: true
											});
											_this.showOpenSettingDialog = true;
											uni.setStorageSync('showOpenSettingDialog', true);
										} else {
											uni.showToast({
												title: "您拒绝了订阅消息授权,无法接受通知",
												icon: "none",
												duration: 2000
											});
											_this.showOpenSettingDialog = false;
										}
									}
								})
							} else { // 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
								uni.requestSubscribeMessage({
									tmplIds: _this.tmplIds,
									success(res) {
										if (res[_this.tmplIds[0]] == "accept") {
											_this.showOpenSettingDialog = true;
											uni.setStorageSync('showOpenSettingDialog', true);
										} else {
											uni.showToast({
												title: "您拒绝了订阅消息授权,无法接受通知",
												icon: "none",
												duration: 2000
											});
											_this.showOpenSettingDialog = false;
										}
									},
									fail: (res) => {
										uni.showModal({
											title: '温馨提示',
											content: "检测到您没有开启订阅消息的权限,是否去设置?",
											success: function(modal) {
												if (modal.confirm) { // 点击肯定
													uni.openSetting({
														withSubscriptions: true
													});
													_this.showOpenSettingDialog =
														true;
													uni.setStorageSync(
														'showOpenSettingDialog',
														true);

												} else {
													uni.showToast({
														title: "您已拒绝订阅消息授权,无法接受通知",
														icon: "none"
													});
													_this.showOpenSettingDialog =
														false;
												}
											}
										})
									}
								})
							}
						}

					}
				})
			},

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值