说明:官方文档(https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html)很详细,在此简单记录下

需求:虽说是一次性订阅,但前台可以通过bindtop点击触发微信订阅api收集用用户点击订阅次数。方便后台可以发更多的消息

第一步,定义全局模板ID 和 收集方法

// 统一模板ID
export const COMPLATEMESSAGE = 'agFxPZurLwE5CYrFTGTWcgXuknS06sVWfVdUdQaDhcF' export function onSubscribe(templateIds, e){
return new Promise((resolve, reject) => {
wx.requestSubscribeMessage({
tmplIds: [templateIds],
success(res) {
console.log('获取订阅消息权限',res)
// 申请订阅成功
if (res.errMsg === 'requestSubscribeMessage:ok') {
resolve(true)
}
},
fail (err){
reject(false)
console.log(err)
}
});
})
}

第二步:页面点击收集

import { execteGet,onSubscribe, COMPLATEMESSAGE, } from '@/utils/require'

goDetail: async function(e){
// 页面有跳转做点击同步,防止用户未允许页面跳走
await onSubscribe(COMPLATEMESSAGE)
    wx.navigateBack({
delta: 1,
fail(ex){
//对于跳转到带有底部导航栏页面的要用switchTab
wx.switchTab({
url: '/pages/group/groupage/main',
})
}
}) }
changeState: async function(e){
// 页面无跳转点击做异步,requestSubscribeMessage收集方法有一秒延时体验不好
onSubscribe(COMPLATEMESSAGE)
}

requestSubscribeMessage方法使用时最好处理下兼容,不然弹框没有默认允许勾,一直弹。或者微信开放平台设置基础版本 > 2.9.2

最新文章

  1. mssql数据库添加,修改,删除字段
  2. java版本区别
  3. Xamarin for Visual Studio 3.11.666 稳定版 破解补丁 Version 3
  4. TCP/IP协议原理与应用笔记10:TCP/IP协议族
  5. Shell脚本中单引号(‘)和双引号(“)的使用区别[转载]
  6. js检测数据类型的方法你都掌握了几个?
  7. 使用Nginx实现Tomcat集群负载均衡
  8. 32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用
  9. Python 浅谈注释的重要性
  10. linux 安装wordpress 无故往外发送大量垃圾邮件
  11. IOS学习笔记25—HTTP操作之ASIHTTPRequest(一)
  12. Effective C++ ——设计与声明
  13. Yii 1.1 请求报400错误
  14. Design Principles and Design Patterns
  15. 【算法】LeetCode算法题-Count And Say
  16. Linux 内存清理
  17. php编程 之 php基础三
  18. 第八章 让Bootstrap轮播插件carousel支持左右滑动手势的三种方法
  19. Yarn 入门
  20. 【转】SSH服务详解

热门文章

  1. htop资源管理器
  2. 前端学习(二十一)初识h5(笔记)
  3. Android 6.0 - 动态权限管理的解决方案(转)
  4. 获取本机IP,本机名称
  5. 使用cordova,监听安卓机物理返回按键,实现退出程序的功能
  6. js手机滚屏效果
  7. 使用PHP curl模拟浏览器抓取网站信息
  8. wampServer2.2 You don't have permission to access /phpmyadmin/ on this server.
  9. appium无法定位连接的真机元素
  10. yang文件语法格式