收藏
回答

使用“cgi-bin/message/subscribe/send”推送服务号消息只能给一个人发吗?

// 小程序代码: 点击允许订阅,调用后端服务
wx.requestSubscribeMessage({
  tmplIds: ['M8QtLtZ0jQzJDmNSoTVAeZg-Xw02UClF7Wf0cCSeqpY'],
  async success (res) {
    wx.showLoading({
      title: '保存中...',
    });
    if (res['M8QtLtZ0jQzJDmNSoTVAeZg-Xw02UClF7Wf0cCSeqpY'] === 'accept') {
      await dinnerApi.create({ foodids, kitchenid, date, sendMsg: true })
    } else {
      await dinnerApi.create({ foodids, kitchenid, date, sendMsg: false })
    }
    wx.hideLoading();
    wx.showToast({
      title: '保存成功',
      icon: 'success'
    })
    wx.switchTab({
      url: '/pages/index/index'
    })
  }
});

// 后端nodejs代码,推送服务号模板信息:
for (const user of users) {
  const toUserOpenid = user.openid
  // 这里循环了两个结果,两个openid,但是只有一个人能收到
  // 我点允许订阅,我能收到,对方收不到。对方点了,对方能收到,我收不到。
  // 能否实现,我点击的时候,两个人都能收到
  const sendRes = await sendSubscribeMessage(toUserOpenid, foods, ingredients, remarks)
  console.log('发送消息:',toUserOpenid,'----',sendRes)
}
async function sendSubscribeMessage(toUserOpenid, foods, ingredients, remarks) {
  const accessToken = await getAccessToken();
  const url = `https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${accessToken}`;
  const messageData = {
    touser: toUserOpenid,
    template_id: 'M8QtLtZ0jQzJDmNSoTVAeZg-Xw02UClF7Wf0cCSeqpY',
    page: '/pages/index/index',
    data: {
      thing1: {
        value: formatString(foods)
      },
      thing2: {
        value: formatString(ingredients)
      },
      thing4: {
        value: remarks
      }
    }
  };
  const response = await axios.post(url, messageData);
  return response.data;
}
回答关注问题邀请回答
收藏

2 个回答

  • Hlxuan.
    Hlxuan.
    09-15

    首先, /cgi-bin/message/subscribe/send 接口是小程序订阅消息接口,并不是服务号模板消息接口。

    其次,哪个openid订阅的只能下发那个openid,不支持A用户订阅,下发给B用户。


    一次性订阅消息订阅1次可下发1次,次数可以累计。

    09-15
    有用 1
    回复 2
    • 阿龙
      阿龙
      09-16
      我点击下单后,我和另一个人都能收到这个“小程序的服务通知”消息。这一点无法实现,对吗?
      09-16
      回复
    • Hlxuan.
      Hlxuan.
      星期二 08:34回复阿龙
      除非另一个人订阅并且还有下发次数,否则无法实现。
      星期二 08:34
      回复
  • 智能回答 智能回答 本次回答由AI生成
    09-15
    有用
登录 后发表内容