教大家用20行js代码,开发好小程序订阅消息
发布于 4 年前 作者 qbai 2230 次浏览 来自 分享

微信小程序官方决定在2020-1-10全面线下小程序模板消息,要去替换为订阅消息。那对开发者而言,又要一个一个地方去修改代码兼容…

所以我替大家写了段代码,来快速解决问题。复制下面这段代码到app.js文件最上面即可解决问题。代码的主要功能是在每一个tap类型的点击事件中触发订阅弹窗,这样用户点几次界面,你就可以发几次消息。这也是让发送次数最大化,不可能比这个次数还多了。

预期结果是:用户点几次弹窗,就会注意到有一个不再提醒按钮,一旦选了它,那你就可以随便发订阅消息了!

// 记录原Page方法
const originPage = Page;
// 重写Page方法
Page = (page) => {
  Object.keys(page).forEach(function(key){
    if(key !== 'data'){
      let originMethod = page[key];
      page[key] = function () {
        let e = arguments[0];
        //给所有的点击事件增加订阅消息弹窗
        if(!!e && !!e.type &&  e.type === 'tap'){
          wx.requestSubscribeMessage({
            tmplIds: ['3E66jPXafsnikZoQR5uk0OUzIUVASZE5scyAu5YCHPI'], ////////这里替换为自己的模板ID/////
            success (res) {
              // console.log(res)
            },
            fail (res) {
              // console.log('订阅消息失败',res)
            }
          })
        }
        return originMethod.call(this,...arguments)
      }
    }
  });
  return originPage(page);
};
4 回复

审核能不能过都不一定

第一次使用小程序的用户 点一次弹一次 体验会很不好吧

回到顶部