卖坚果的怪叔叔 卖坚果的怪叔叔
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 关于
首页 › 技术 › 小程序云开发实现订阅消息推送!
小程序

小程序云开发实现订阅消息推送!

坚果大叔
2021-08-05 16:02:51技术阅读 1,378

前提

遇到一个场景就是用户留言后博主对该留言进行回复后可以通过微信订阅消息的方式第一时间通知用户,并且提供直接跳转到改篇留言的页面!

小程序的订阅消息

官方描述:消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。

订阅消息推送位置:服务通知
订阅消息下发条件:用户自主订阅
订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页面

准备工作

在小程序后台申请订阅消息模板,并选择相应的通知类目和包含的字段。并记住其模板ID,这个很重要。

小程序云开发实现订阅消息推送!-卖坚果的怪叔叔

代码

本次是利用小程序的云函数来实现订阅消息的下发,这样做的好处就是免鉴权接收消息推送。

想要实现消息订阅主要涉及到微信的两个方法:

// 订阅消息
wx.requestSubscribeMessage()

// 发送消息
wx.subscribeMessage()

订阅消息

订阅消息的规则是,用户必须通过按钮主动订阅才能下发订阅消息。所以我们在用户留言进行回复确认的时候,进行授权提示。

<button type="primary" formType="submit" plain="true" bindtap="subMessage">提交留言</button>

wx.requestSubscribeMessage({
  tmplIds: [tempId], 
  // tempId就是上面后台生成的模板ID
  success: res => {
    if(res[tempId] == "accept") {
     // 'accept'表示用户同意订阅该条id对应的模板消息,
     // 'reject'表示用户拒绝订阅该条id对应的模板消
      wx.showToast({
        title: "留言成功",
        icon: "success",
        success: sub => {
          this.setData({
            textValue: "",
            show: false
          });
          this.getData();
        }
      })
    }

  }
})

实际场景的效果

小程序云开发实现订阅消息推送!-卖坚果的怪叔叔
点击允许之后,就可以通过云函数进行下发消息。如果用户不勾选下面的【总是保持以上选择,不在询问】那么每次回复的时候都会进项授权提示,因为微信规则,订阅一次才能下发一次,订阅多次可以下发多次。如果用户勾选上了,那么可以进行兼容通过wx.getSetting来查询用户是否已经有订阅状态。

wx.getSetting({
    // 获取用户订阅消息的订阅状态
    withSubscriptions: true, 
    success(res => {
        // subscriptionsSetting 返回 true则已订阅
        res.subscriptionsSetting = {
            mainSwitch: true
        }
    }),
    fail(err=> {})
});

发送消息

新建一个云函数,并进行初始化。

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.subscribeMessage.send({
      touser: event.userId,
      page: event.page,
      lang: 'zh_CN',
      data: event.data,
      templateId: event.templateId,
    })
    return result
  } catch (err) {
    return err
  }
}

注意点:

云函数中的data里面的数据name和顺序必须和模板消息里面的数据name顺序一样。否则可能造成订阅消息不生效。

// 订阅消息推送data数据

const item = {
    thing1: {
        value: this.data.liveInfo.articleTitle
    },
    name2: {
        value: this.data.liveInfo.accountName
    },
    thing3: {
        value: e.detail.value.msgInput
    },
    time4: {
        value: this.getNowTime()
    }
}

最终效果:

小程序云开发实现订阅消息推送!-卖坚果的怪叔叔

点击跳转

小程序云开发实现订阅消息推送!-卖坚果的怪叔叔

小程序 小程序·云开发
赞赏 赞(3)
本文系作者 @坚果大叔 原创发布在 卖坚果的怪叔叔。未经许可,禁止转载。
超简单!两步实现Wordpress评论微信通知~
上一篇
测试GiF
下一篇

评论已关闭

今日天气
标签
CSS (16) Filter (2) Flex (2) Git (3) html (3) JavaScript (15) Jquery (2) JS (4) linux (2) localstorage (2) mac (1) map (2) mongoDB (1) python (3) set (2) vite (2) vue (9) websocket (1) wordpress (2) 二维码 (1) 傍晚 (2) 刷新页面 (1) 字符串 (5) 对象 (3) 小程序 (6) 年终 (1) 微信 (9) 微信机器人 (5) 总结 (1) 数据类型 (3) 数组 (5) 日常问题 (4) 服务器 (1) 朝阳 (1) 正则 (3) 生活 (6) 移动端 (2) 空地 (1) 组件 (1) 节流 (1) 记录 (3) 远方 (1) 防抖 (1) 验证码 (1) 高楼 (1)
近期文章
  • 微信小程序批量提交后台审核
  • 新年快乐🎉
  • Home
  • 随便转转!
  • 2022!充满魔幻的一年!
归档
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年5月
  • 2021年4月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年3月
  • 2018年2月
  • 2017年12月
  • 2017年11月
  • 2017年9月
  • 2012年12月
  • 2002年11月
微信小程序批量提交后台审核
2023-01-29 17:56:58
114 0 1
Home
2023-01-19 13:49:05
62 0 0
2022!充满魔幻的一年!
2022-12-31 21:09:51
140 0 0
小程序wx.showToast真机不显示?
2022-11-03 17:42:55
506 0 0
3
  • 3
博主

一枚佛系前端开发,会一丢丢摄影,喜欢折腾,爱好美食。分享点前端技巧、笔记以及各种有趣的APP和资源教程♥♥

友链
Lieme
公众号
西豆 崔欣 执行上下文 卖坚果的怪叔叔 集赞助手
Copyright © 2017-2023 卖坚果的怪叔叔. Designed by nicetheme.

苏ICP备18048410号-2
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 关于
# WordPress # # CSS #
坚果大叔
225
文章
59
评论
159
喜欢