微信小程序中可以通过统一服务消息(UniformMessage)实现更灵活的消息推送,包括订阅消息、模板消息、服务通知等。统一服务消息接口适用于小程序向用户推送消息,比如订单状态变更、活动通知等。

以下是一个简单的使用统一服务消息的示例代码:
// 获取用户的 formId,通常是在用户触发某些操作时获取
const formId = 'your_form_id';

// 发送统一服务消息
wx.request({
  url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send',
  method: 'POST',
  data: {
    touser: 'user_openid',
    weapp_template_msg: {
      template_id: 'your_template_id',
      page: 'your_page',
      form_id: formId,
      data: {
        keyword1: {
          value: '订单已发货'
        },
        keyword2: {
          value: '2022-01-01 12:00:00'
        },
        // 其他模板字段
      },
      emphasis_keyword: 'keyword1.DATA'
    },
    // 其他服务消息类型,如公众号、小程序等
  },
  header: {
    'content-type': 'application/json',
    'access-token': 'your_access_token'
  },
  success: function(res) {
    console.log('统一服务消息发送成功:', res.data);
  },
  fail: function(error) {
    console.error('统一服务消息发送失败:', error);
  }
});

请注意替换代码中的 'user_openid'、'your_template_id'、'your_page'、'your_form_id'、'your_access_token' 等字段为实际的值。formId 通常是通过用户的交互行为(如点击按钮、提交表单)获取到的,每个 formId 只能使用一次,且在7天内有效。

在实际场景中,你需要根据具体的业务逻辑和需求,定义消息的模板ID、消息内容、跳转页面等信息。同时,需要确保小程序的后台服务器已经获得了发送统一服务消息的权限。

需要注意的是,统一服务消息的发送可能会受到一些限制,例如用户开启了“勿扰模式”、小程序未获得发送消息的权限等。因此,在实际使用中需要注意处理可能的错误情况。

由于微信小程序的功能和接口可能在后续版本中有更新,建议查阅[微信官方文档](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/uniform-message/uniformMessage.send.html)以获取最新信息。


转载请注明出处:http://www.zyzy.cn/article/detail/1096/微信小程序