评论

云开发如何实现小程序的服务通知

云开发,小程序,订阅消息,服务通知

实现条件

  • 在小程序的 订阅消息 模块配置模板
  • wx.requestSubscribeMessage 小程序需要用户授权开启订阅消息
  • 云函数接口请求数据时根据指定模板推送消息 cloud.openapi.subscribeMessage.send

配置订阅消息

  • 模板id用于授权和推送消息
  • {{thing19.DATA}} 用于配置数据 {thing19:{value:xx}}

授权开启订阅消息

// app.js 订阅授权 
requestSubscribeMessage() {
    return new Promise((resolve, reject) => {
      const tmplIds = ['你的模板id']
      wx.requestSubscribeMessage({
        tmplIds,
        success(res) => {
          console.log(res);
          if (res[tmplIds] === 'accept') {
            resolve()
          } else {
            reject()
          }
        },
        fail() => {
          reject()
        }
      })
    })
  }


// 是否允许订阅消息通知
await app.requestSubscribeMessage()


云函数推送消息

  • 新建一个 subscribeMessage 订阅消息模板文件

//封装方法
const cloud = require('wx-server-sdk');
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
});
// 发送订阅消息模板 - 交易
exports.deal = async (event, context) => {
  return new Promise(async (resolve, reject) => {
    try {
      const data = event.data || {}
      await cloud.openapi.subscribeMessage.send({
        touser: event._openid, //用户的_openid
        templateId: '你的模板id',
        page: '查看小程序需要跳转的页面路径', //pages/my/pages/deal/deal
        data: {
          thing19: { value: data.thing19 }, //店铺名称
          thing14: { value: data.thing14 }, //操作人
          amount27: { value: data.amount27 }, //交易金额
          amount11: { value: data.amount11 }, //结余金额
          time20: { value: data.time20 } //生成时间
        },
        miniprogramState: 'developer' //跳转小程序类型:developer 为开发版;trial为体验版;formal为正式版;默认为正式版
      })
      resolve(true)
    } catch (error) {
      resolve(error)
    }
  })
};


//方法引入
const subscribeMessage = require('../subscribeMessage/index')
...
const subscribeMessageData = {
          _openid: '用户的openid',
          data: {
            thing19: '店铺名称',
            thing14: '操作人',
            amount27: '交易金额',
            amount11: '结余金额',
            time20: '生成时间',
          }
        }
//方法调用,根据openid向指定微信用户推送服务通知,通知内容即为配置的模板格式
subscribeMessage.deal(subscribeMessageData)


最后一次编辑于  2022-09-13  
点赞 1
收藏
评论

1 个评论

  • 王俊辉
    王俊辉
    2023-08-10

    厉害

    2023-08-10
    赞同
    回复
登录 后发表内容