评论

教大家用20行js代码,开发好小程序订阅消息

教大家用20行js代码,开发好小程序订阅消息

微信小程序官方决定在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);
};
最后一次编辑于  2020-01-09  
点赞 4
收藏
评论

4 个评论

  • 顾涛
    顾涛
    2020-01-13

    牛逼啊

    2020-01-13
    赞同 1
    回复
  • 2020-01-21

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


    2020-01-21
    赞同
    回复
  • 进去吧你
    进去吧你
    2020-01-11

    审核能不能过都不一定

    2020-01-11
    赞同
    回复 1
    • 张明明
      张明明
      2020-01-13
      可以通过的呀
      2020-01-13
      回复
  • yuan
    yuan
    2020-01-11

    流氓啊

    2020-01-11
    赞同
    回复 1
    • 张明明
      张明明
      2020-01-13
      是微信先流氓的,who怕who
      2020-01-13
      回复
登录 后发表内容