微信小程序如何向用户推送消息和代码示例

By 小程序开发 at 2023-08-23 • 0人收藏 • 116人看过


微信小程序向用户推送消息主要有两种方式:


模板消息推送:开发者可以通过微信提供的模板消息接口,向用户发送模板消息。首先,开发者需要在小程序后台设置好模板消息的模板,并获取到对应的模板ID。然后,在小程序中调用接口,将需要发送的消息内容和用户的openid等信息传递给微信服务器,微信服务器会根据模板ID和用户openid,将消息推送给用户。


模板消息推送代码示例:


// 在小程序中调用模板消息接口发送消息
wx.request({
  url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN',
  method: 'POST',
  data: {
    touser: '用户的openid',
    template_id: '模板消息的模板ID',
    page: '跳转的页面路径',
    form_id: '用户提交的表单ID',
    data: {
      keyword1: {
        value: '消息内容1'
      },
      keyword2: {
        value: '消息内容2'
      }
    }
  },
  success: function(res) {
    console.log(res);
  },
  fail: function(err) {
    console.error(err);
  }
});


订阅消息推送:订阅消息是一种用户主动订阅的消息推送方式,用户需要在小程序中主动点击订阅按钮,授权小程序发送订阅消息。开发者需要在小程序后台设置好订阅消息的模板,并获取到对应的模板ID。然后,在小程序中调用接口,将需要发送的消息内容和用户的openid等信息传递给微信服务器,微信服务器会根据模板ID和用户openid,将消息推送给用户。


订阅消息推送代码示例:


// 在小程序中调用订阅消息接口发送消息
wx.requestSubscribeMessage({
  tmplIds: ['订阅消息的模板ID'],
  success: function(res) {
    if (res['订阅消息的模板ID'] === 'accept') {
      // 用户同意订阅
      wx.request({
        url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN',
        method: 'POST',
        data: {
          touser: '用户的openid',
          template_id: '订阅消息的模板ID',
          page: '跳转的页面路径',
          data: {
            keyword1: {
              value: '消息内容1'
            },
            keyword2: {
              value: '消息内容2'
            }
          }
        },
        success: function(res) {
          console.log(res);
        },
        fail: function(err) {
          console.error(err);
        }
      });
    } else {
      // 用户拒绝订阅
    }
  },
  fail: function(err) {
    console.error(err);
  }
});


需要注意的是,上述代码中的ACCESS_TOKEN需要替换为有效的access_token,可以通过调用微信接口获取。另外,模板消息和订阅消息的模板ID需要在小程序后台设置好,并且需要用户的授权才能发送消息。

登录后方可回帖

Loading...