当前位置: 首页 > news >正文

微信小游戏订阅功能

订阅步骤

  1. 主动拉起订阅,使用接口wx.requestSubscribeSystemMessage(Object object)
  2. 如果用户拒绝订阅,下次点击订阅后打开设置页,在设置页回来后通过接口wx.getSetting(Object object)获取用户是否在设置页已经打开了订阅开关
public Subscribe(cb?: Function) {if (!this._sdk) { return; }if (this._Subscribed === 'accept') {Log.log("wx Subscribe 已订阅:", this._Subscribed);cb && cb(1);return;}let request = () => {this._sdk!.requestSubscribeSystemMessage({msgTypeList: ['SYS_MSG_TYPE_WHATS_NEW'],success: (res:any) => {this._Subscribed = res['SYS_MSG_TYPE_WHATS_NEW'];if (this._Subscribed === 'accept') {Log.log("wx Subscribe 订阅成功:", this._Subscribed);cb && cb(0);} else {Log.log("wx Subscribe 订阅失败:", this._Subscribed);cb && cb(-1);}},fail: (res) => {Log.log("wx Subscribe 订阅失败:", res);cb && cb(-1);}})}let openSetting = () => {this._sdk!.openSetting({withSubscriptions: true,success:()=>{this._waitSubscribe = true;},fail: (res) => {cb && cb(-1);},});}if (!this._Subscribed || this._Subscribed.length == 0) {request();} else {openSetting();}
}public onShow(callback?: Function) {if (!this._sdk) {return;}this._sdk!.onShow((res: WechatMinigame.OnShowListenerResult) => {if (this._waitSubscribe) {this._waitSubscribe = false;this.checkSubscribe(true);}});
}
private checkSubscribe(bNeedEvent : boolean) {if (!this._sdk) {return;}if (this._Subscribed === 'accept') {return;}this._sdk.getSetting({withSubscriptions: true,success: (res) => {if (res.subscriptionsSetting && res.subscriptionsSetting.itemSettings && res.subscriptionsSetting.itemSettings.SYS_MSG_TYPE_WHATS_NEW) {this._Subscribed = res.subscriptionsSetting.itemSettings.SYS_MSG_TYPE_WHATS_NEW;Log.log("wx Subscribe 订阅状态:", this._Subscribed);if (bNeedEvent && this._Subscribed === 'accept') {//TO DO SOMTHING}}},fail: (res) => {Log.log("wx getSetting fail:", res);}});
}
http://www.dtcms.com/a/351935.html

相关文章:

  • 【SQL】深入理解MySQL存储过程:MySQL流程控制语句详解
  • SQL server 触发器的使用
  • PostgreSQL诊断系列(4/6):表空间与膨胀分析——解决“越用越大”的存储难题
  • woocommerce后台一次搜索多个ID订单的实现方法
  • 两周年创作纪念,忆笑傲江湖岁月
  • 探寻跨语言统一真理及其对NLP的未来启示
  • 项目管理软件与 Excel:哪个适合您的团队?
  • 超越MySQL:TDengine的时序数据处理革新与实践指南
  • [新启航]新启航激光频率梳 “光量子透视”:2μm 精度破除遮挡,完成 130mm 深孔 3D 建模
  • 在线提取维基百科Wikipedia文章页面及离线批处理Wikipedia XML Dump文件
  • 抽签占卜抖音快手微信小程序看广告流量主开源
  • 6.6 Element UI 加载指示器
  • 机器学习每日一题000-矩阵和向量的乘法python实现
  • Linux SSH 基于密钥交换的自动登录原理简介及配置说明
  • 数据结构第7章 查找(竟成)
  • 在 OpenLayers 中实现自定义右键菜单:基于 vue3-context-menu 的完整指南
  • 河南河北到底以哪条河为界?是黄河还是漳河呢?
  • 你真的了解操作系统吗?
  • 低代码开发实践:快速构建企业采购审批流程的技术方案
  • 无线网络中的Duration字段计算:原理、机制与实现
  • php内存缓存插件yac的安装配置--平替apcu,多进程共享内存
  • 均胜电子上半年毛利率持续提升,汽车智能化与机器人业务多点突破
  • sed流编辑:从ed到现代文本处理的进化
  • 第二篇:MySQL初始化配置与性能优化
  • 汽车零部件软件迭代开发指南
  • Spring Boot -Mybatis的使用和基础
  • 数字孪生:工厂优化的下一个前沿领域
  • GIS开源库汇总
  • Linux笔记10——shell编程基础-4
  • Web安全开发指导规范文档V1.0