黃秀傑教程之(zhī)--Node使用小程序模闆消息 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

黃秀傑教程之(zhī)--Node使用小程序模闆消息

發表時(shí)間:2021-4-6

發布人(rén):融晨科技

浏覽次數:67

第一步 創建模闆


其中keyword與小程序一一對應

第二步 提交訂單時(shí)帶上(shàng)formId

var formId = e.detail.formId;
order.set('formId', formId);
order.save()

相應的(de)頁面文件

<form report-submit="true" bindsubmit="confirmOrder">
  <button class="submit" form-type="submit"  type="primary">提交訂單</button>
</form>

後端對接下發消息

// 模闆消息
router.post('/deliver', function(req, res, next) {
  // 接收orderId參數
  var orderId = req.body.orderId;
  // 通過orderId查詢該訂單信息
  var query = new DB.Query('Order');
  query.include('user');
  query.include('address');
  query.get(orderId).then(order => {
    order.set('status', 2);
    order.save().then(o => {
      console.log(o)
    }, err => {
      console.log(err)
    });
    // 引入request庫,用于(yú)網絡請求交互
    const request = require('request');
    var url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + process.env.WEIXIN_APPID + "&secret=" + process.env.WEIXIN_PAY_SECRET;
    // 第一步,請求access_token
    request(url, function(err, response, body) {
      // 微信返回結果
      var body = JSON.parse(body);
      // 取出(chū)access_token,用于(yú)向微信請求下發模闆消息的(de)憑證
      var access_token = body.access_token;
      // 用戶openId
      var openid = order.get('user').get('authData').lc_weapp.openid;
      // 模闆ID,由小程序後台生成後複制所得
      var template_id = 'ywrubQbvKuw--itAeNHvEPBRqA53yJy2kAXNsAJ5fiw';
      var form_id = order.get('formId');
      // 第二步,請求發送模闆消息
      request({
        url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' + access_token,
        method: "POST",
        json: true,
        body: {
          touser: openid,
          template_id: template_id,
          form_id: form_id,
          data: {
            "keyword1": {
              "value": '快遞公司',
              "color": "#173177"
            },
            "keyword2": {
              "value": '快遞單号',
              "color": "#173177"
            },
            "keyword3": {
              "value": order.get('address').get('detail'),
              "color": "#173177"
            }
          }
        }
      }, function(err, response, body) {
        res.send(body);
        console.log(body);
      });
    });
  });
});

第一步,通過orderId查詢該訂單信息

Order表自身存有user信息(即openId),formId,所以(yǐ)需要(yào / yāo)把Order取出(chū)

第二步,請求access_token

access_token就(jiù)是(shì)與微信交互的(de)憑證,有效期2小時(shí),由于(yú)一天有請求次數的(de)限制,可以(yǐ)存在(zài)數據庫裏以(yǐ)複用,在(zài)2小時(shí)期間可多數使用。

第三步,請求發送模闆消息

參數一共必填 的(de)是(shì)4個(gè),touser,template_id,form_id,data。分别對應小程序用戶的(de)openid,創建的(de)模闆ID,form表單id,以(yǐ)及模闆正文内容。

相關案例查看更多