zoukankan      html  css  js  c++  java
  • 小程序 订阅消息 wx.requestSubscribeMessage()

    前端通过wx.requestSubscribeMessage(Object object)调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。用户勾选订阅面板中“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过wx.getSetting接口可以获取用户对相关模板消息的订阅状态。

    订阅消息:

     
    export default{ data() { return { subscribeMes: true, } } } methods:{ talkOrAsk() { const that = this; if (compareVersion(global.globalData.SDKVersion, "2.8.2") >= 0) { wx.requestSubscribeMessage({ tmplIds: ["tml8xm_ZUAVzUgepzU-2zyyy2DXkfZnwS04OcMbVNm4"],//需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息 // 消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置 success(res) { // 接口调用成功的回调函数 console.log(res,'compareVersion') if ( res["tml8xm_ZUAVzUgepzU-2zyyy2DXkfZnwS04OcMbVNm4"] == "accept" // Object res [TEMPLATE_ID]是动态的键,即模板id,值包括'accept'、'reject'、'ban'。 // 'accept'表示用户同意订阅该条id对应的模板消息,'reject'表示用户拒绝订阅该条id对应的模板消息,'ban'表示已被后台封禁。 ) { if (that.subscribeMes) { wx.showToast({ title: "订阅成功!", duration: 1500, icon: "success", success(data) { that.subscribeMes = false; } }); } mpvue.navigateTo({ url: `/pages/chat/main` }); } else { mpvue.navigateTo({ url: `/pages/chat/main` }); } }, fail(res) { // 接口调用失败的回调函数 if (res.errCode === 20004) { wx.showModal({ title: "温馨提示", content: "您已拒绝授权,将无法在微信中收到回复通知!", showCancel: false, success: res => { if (res.confirm) { mpvue.navigateTo({ url: `/pages/chat/main` }); } } }); } } }); } else { wx.showModal({ title: "温馨提示", content: "您的微信版本过低,将无法在微信中收到回复通知!", showCancel: false, success: res => { if (res.confirm) { mpvue.navigateTo({ url: `/pages/chat/main` }); } } }); } }, }
     

    兼容问题:

    版本号兼容(wx.getSystemInfo / wx.getSystemInfoSync 可以获取当前小程序运行的基本库的版本号  SDKVersion),

     
    function compareVersion(v1, v2) { v1 = v1.split('.') v2 = v2.split('.') const len = Math.max(v1.length, v2.length) while (v1.length < len) { v1.push('0') } while (v2.length < len) { v2.push('0') } for (let i = 0; i < len; i++) { const num1 = parseInt(v1[i]) const num2 = parseInt(v2[i]) if (num1 > num2) { return 1 } else if (num1 < num2) { return -1 } } return 0 }
     
     
     
  • 相关阅读:
    echarts —— 重叠图
    echarts —— tooltip 鼠标悬浮显示提示框属性
    Vue.prototype详解
    解决 vue 使用 element 时报错ERROR in ./node_modules/element-ui/lib/theme-chalk/fonts/element-icons.ttf
    基于Vue实现拖拽效果及阻止拖拽
    vue使用sass报Modele build failed: TypeError: this.getResolve is not a function at Object.loader...
    在vue中引用echarts导致Cannot read property getAttribute of null ?
    element ui的照片墙 默认显示照片
    前端imageBuffer设置图片src(后端返回二进制流图片)
    elementUI使用实录
  • 原文地址:https://www.cnblogs.com/onesea/p/15002573.html
Copyright © 2011-2022 走看看