一、报错信息

“errMsg”:“requestSubscribeMessage:fail can only be invoked by user TAP gesture.”

二、在tabBar点击事件onTabItemTap里调用

除非是选择了总是保持以上选择才不会每次点击都调出订阅弹窗,否则,每次切换tabbar都会唤起

onTabItemTap () { // 它和onLoad同等级this.subscribeMessage()
},
// 写个方法
/*通过缓存一个上次唤起时间戳,来保持多久之内弹出一次,此例子是保持每天最多弹出一次
*/
subscribeMessage () {let lastTime = uni.getStorageSync('lastSbuscribeShowTime')let duration = (Date.now() - lastTime) > 3600 * 1000 * 24 * 1 // 一天内最多弹出一次if (!lastTime || (lastTime && duration)) {uni.getSetting({withSubscriptions: true,success: (res) => {if (res.subscriptionsSetting.mainSwitch) {if (!!res.subscriptionsSetting.itemSettings) {// 这里是用户选择了总是保持以上选择} else {uni.requestSubscribeMessage({tmplIds: ['xxxxxx', 'xxxxxxx', 'xxxx'],success (res) {let lastTime = Date.now()uni.setStorageSync('lastSbuscribeShowTime', lastTime)},fail(err) {console.log('订阅失败', err)}})}}}})}
}

正常点击触发

需求:只要用户没有选择最下面的’总是保持以上选择’或者用户没有把多个的全部订阅,每次触发都弹出

subscribeMessage (callback) {let isShow = uni.getStorageSync('isShowSubscript')console.log('isShow', isShow)if (isShow || isShow === '') {const tmplIds = ['xxxx', '-xxxx', 'xxxxxx']uni.getSetting({withSubscriptions: true,success: (res) => {console.log('getSetting的res', res)if (res.subscriptionsSetting.mainSwitch) {if (!!res.subscriptionsSetting.itemSettings) {// 这里是用户选择了总是保持以上选择uni.setStorageSync('isShowSubscript', false)} else {uni.requestSubscribeMessage({tmplIds,success (res) {let isShowSubscript = !tmplIds.every(item => res[item] === 'accept')uni.setStorageSync('isShowSubscript', isShowSubscript)callback && callback()},fail(err) {console.log('订阅失败', err)}})}}}})} else {callback && callback()}
}

用法

clickBtn () {this.subscribeMessage (() => {// 在这里写订阅弹窗点击过后该干嘛干嘛的代码})
}

微信小程序订阅消息报错,by user TAP gesture (适用于tabBar页面)相关推荐

  1. 微信小程序订阅消息失败

    微信小程序订阅消息失败 之前测试微信小程序订阅消息都是正常的,并且支持开发工具的调试,但是同样的方法换到另一个页面通过表单提交触发就没有效果.调试之后发现报错信息,errMsg: "requ ...

  2. 化繁为简,我用”知晓推送”开发微信小程序订阅消息

    知晓云在2019年十月份左右就上线了微信小程序订阅消息这个服务,后来迭代升级,又相继提供了相应的sdk插件,然而这之前,我却没有很认真,花精力去使用这些服务,刚好国庆几天假,我就熬了两个通宵,将这个小 ...

  3. 微信小程序订阅消息定时发送消息

    微信小程序订阅消息定时发送消息 本人专注使用云开发,实现一个前端可以做后端以及整个项目的部署与上线. 如果觉得我讲的好就可以给我点个赞.也可以加我微信了解详情. 1.我们先要了解什么是订阅消息 而现在 ...

  4. 使用Java实现微信小程序订阅消息

    首先到微信小程序的官网,选择合适自己的订阅消息模板. 寻找到适合自己的模板之后,记住模板ID,点开详情,记住每个字段id 微信小程序订阅消息官网文档介绍地址:小程序订阅消息 | 微信开放文档 (qq. ...

  5. 【Node.js】实现微信小程序订阅消息推送功能

    实战项目名称:实现微信小程序订阅消息通知 文章目录 一.实战步骤 1. 登录微信小程序管理端,添加订阅消息模板 2. 定义好需要发送的消息 3.获取小程序的access_token 4. 发起请求,向 ...

  6. 微信小程序 订阅消息授权

    wx.requestSubscribeMessage({tmplIds: ['9SgmLcxEfKMfS48xRYqBap3n3o8tFYGcg1RY5_mswCA', 'LUxUBwDrB3OTZB ...

  7. [微信小程序开发] 用wx.navigateTo方法跳转到tabBar中被定义了的页面将无法跳转

    [微信小程序开发] 用wx.navigateTo方法跳转到tabBar中被定义了的页面将无法跳转 举例: main.js中: tabBar中 定义了页面"pages/test/main&qu ...

  8. html打开微信搜索页,微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)...

    上效果图: 一:搜索框功能实现 1.在首页做一个搜索框的样式并实现跳转到搜索页面 搜索 .search{ width: 80%; } .search_arr { border: 1px solid # ...

  9. 微信小程序订阅信息之Java实现详解

    在微信小程序中进行了某种操作后,推送消息告知用户的操作结果.或者微信端办公流程提交给下一个人审批后,得到审批通过或是驳回修改的命令 - 使用场景具体如下图,可用在签到.提醒.通知.警告.催办等方面: ...

  10. Spring Boot 实现微信小程序订阅模板消息

    导语   有很多场景下,需要要对接微信小程序的开发,在使用的过程中,会出现各种各样的问题,本人总结了关于如何调用微信小程序模板订阅消息的相关实现总结如下 微信订阅消息官网   首先要求系统,在不同的场 ...

最新文章

  1. 正则表达式 – 语法
  2. iOS多线程开发之GCD(基础篇)
  3. python 技术篇-pythoncom.PumpMessag()关闭、杀死它的进程,pythoncom.PumpMessag()运行卡住解决办法
  4. 为什么单例模式需要double check
  5. Java Web项目,Android和微信小程序的初始页面配置
  6. 数据可视化【五】 Scatter Plot
  7. nuxt中必须要知道的一点 关于 nuxt-link 和 a 标签的区别
  8. 最简单的方法实现小程序按钮跳转到指定界面
  9. 〖Python〗-- 函数闭包的理解
  10. 备战2022年5月软考高项 —— 信息系统项目管理师
  11. Linux 的shell脚本的分享,运用了多个不同的方法,实现使用脚本批量巡检服务器,非常有借鉴作用...
  12. 基恩士PLC④--MAIN程序实例笔记
  13. Mysql主从切换自动_keepalived实现对mysql主从复制的主备自动切换
  14. dns劫持 dns污染 http劫持
  15. 调用新浪接口查询IP地址
  16. css3学习以及移动端开发基本概念的思考
  17. 如何设计游戏中的道具功能(二)
  18. 企查查app sign算法破解(完结)
  19. BUUCTF-PWN刷题记录25(IO file attack)
  20. G1D17-研究方向rce45-49不快乐就去敲敲代码

热门文章

  1. 大家应该如何选择短线交易?
  2. 整数补码加减法运算法则
  3. Python 离散小波变换(DWT) pywt库
  4. gc java_java内存管理以及GC
  5. 联想拯救者u盘安装linux系统,联想拯救者Y7000 U盘装系统win8教程
  6. bzoj5442: [Ceoi2018]Global warming
  7. Android进阶之路 - keyStore、jks签名证书相互转换
  8. 高级PHP工程师所应该具备的一些技能
  9. 写给那些常年战痘的痘友们~~~
  10. CryEngine Plugin 创建