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