发送小程序模板消息

小程序发送模板消息,首先要去官网获取你的小程序id、小程序秘钥,以及消息模板的配置。登录https://mp.weixin.qq.com

1. 获取appid,secret信息

2. 添加模板,获取模板id

 3.获取code

wx.login({
      success: (data) => {
        this.data.code = data.code;
        console.log(this.data.code,"---------getCode---------", data)
      }
    })

4.获取openid

注意:需要将api.weixin.qq.com的域名添加进白名单,否则控制台会有报错提示。

 wx.request({
      url: 'https://api.weixin.qq.com/sns/jscode2session',
      data: {
        grant_type: "authorization_code",
        appid: "",
        js_code: this.data.code,  // 上一步获取到的code
        secret: ""
      },
      success: (data) => {
        this.data.openid = data.data.openid;
        console.log(this.data.openid,"---------getOpenid---------", data)
      }
})

 5. 获取token

wx.request({
      url: 'https://api.weixin.qq.com/cgi-bin/token',
      data: {
        grant_type: "client_credential",
        appid: "",
        secret: ""
      },
      success: (data)=>{
        this.data.token = data.data.access_token;
        console.log(this.data.token,"--------getToken----------", data)
      }
})

6. 发送消息模板

wxml文件结构:

<form bindsubmit="formSubmit" bindreset="formReset" report-submit="true" >
  <view class="btn-area">
    <button  formType="submit">testSubmit</button>
  </view>
</form>

发送模板的js:

formSubmit: function (e) {
    wx.request({
      url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' + this.data.token,  // 上面获取的token
      method: "POST",
      data: {
        touser: this.data.openid, // 上面获取的openid
        template_id: "", // 模板id,上面第二步获取
        page: "index",
        form_id: e.detail.formId, // 这里可能会报the formId is a mock one,这是因为需要在手机上进行测试 
        data: {
          "keyword1": {
            "value": "配电监测"
          },
          "keyword2": {
            "value": "报警"
          },
          "keyword3": {
            "value": "2018-07-13"
          },
          "keyword4": {
            "value": "广州市天河区天河路208号"
          }
        },
        emphasis_keyword: "测试通知"
      },
      success: (data) => {
        console.log(e, "--------send----------", data)
      },
      fail: function (err) {
        console.log('request fail ', err);
      },
      complete: function (res) {
        console.log("request completed!");
      }
    })
  }

猜你喜欢

转载自blog.csdn.net/nana525484608/article/details/81289744