您现在的位置是:首页 >技术杂谈 >uniapp 微信小程序订阅(一次性订阅消息)网站首页技术杂谈
uniapp 微信小程序订阅(一次性订阅消息)
                简介uniapp 微信小程序订阅(一次性订阅消息)            
            首先我们需要了解微信小程序的一些基本的,才能知道我们要做什么:
-  
微信小程序消息订阅只有两种形式可以召唤出来:
1、用户手动点击按钮
2、支付回调唤起 -  
一次调用最多可订阅3条消息
 -  
小程序弹出后,可点击的情况
1、单纯点击取消/确认键
2、勾选了总是保持以上选择
3、勾选了拒绝,不再询问 -  
一次性订阅发送之后,就无效的了,需要再次让用户重新点击同意
 
1、uniapp调用微信小程序 文档
 注意:在此之前勾选了总是保持以上选择,点击按钮的时候调用此接口,能成功调用,但是不会把框弹出来,我们此刻需要根据任务需求来看是弹出框提示,还是静默回调不吭声
 uni.requestSubscribeMessage({
      tmplIds: ids,
      success(res) {
     	 //消息订阅调起成功,返回值'accept'、'reject'、'ban'分别代表用户对此条订阅是同意、拒绝、后台禁用
      },
      fail(err) {
      	 //消息订阅调起失败
      },
      complete() {
        // 无论确定还是取消,只要点击按钮后都会执行
      },
    })
 
2、那么执行上面那个方法的前提,是需要我们判断后台是否封禁了,如果封禁状态则引导用户去开启,如果是非封禁状态则直接调用微信消息订阅即可
   uni.getSetting({
      withSubscriptions: true,
      success(alwaysRes) {
        if (!alwaysRes.subscriptionsSetting.mainSwitch) {
        	//后台封禁了
        	//引导用户打开权限
        	uni.showModal({
      		  title: '是否重新授权消息订阅功能',
      		  success(res) {
        	    if (res.confirm) {
          		  uni.openSetting({
                    success(res) {
                      if (res.subscriptionsSetting) {
                        Toast('开启权限成功')
                      }
                    },
                   fail() {
                     Toast('开启权限失败')
                   },
                 })
                } else if (res.cancel) {
                  Toast('拒绝开启开启权限')
                }
             },
          })
        } else {
        	//后台未封禁
        	//alwaysRes.subscriptionsSetting.itemSettings != null 是检测订阅消息中是否有始终保持不再通知的选项
        }
      },
    })
                风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。
        
    
        
    
            




U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结