微信小程序模板消息

阅读前建议先通读一下微信官方文章,如下
https://developers.weixin.qq.com/miniprogram/dev/api/notice.html

注意:

  • 需要用户先在小程序内存在交互行为(如表单提交获取formId,支付行为获取prepay_id
  • 需要模板ID
  • 需要微信6.5.2版本及以上版本才支持

小程序的模板消息和app的推送通知是不一样的:

  • 小程序需要先在小程序内通过交互行为,如表单提交获取formId
  • app推送通知不需要这个条件

所以小程序在触发时可以先把模板的内容保存到后台服务器上(时间期限是7天),在合适的时机再发送到指定用户。

参数处理

下面是发送模板消息所需要的参数:

微信模板消息参数.png
一、touser

用户的openid,在微信登录的时候获取,微信2018.05.15发布了新版本,之前的是使用wx.getUserInfo(OBJECT)来获取用户信息,没有授权会弹出授权框让用户授权,已经授权的可以直接获取到用户信息;但是现在不行了,未授权直接使用的不会弹出授权框,所以需要用户手动触发授权获取用户信息,使用button控件让用户主动触发授权弹窗,;

另外获取到的openid属于敏感数据,还需要进行解密才可以获取到openidunionid等;需要encryptedData iv code 这三者解密;

ps:code登录凭证需要调用wx.login(OBJECT)才可以获取到

微信官方链接:
https://developers.weixin.qq.com/miniprogram/dev/api/open.html#wxgetuserinfoobject

二、template_id

模板id,在微信小程序后台获取

模板消息id.png
三、page

用户点击模板消息的调转页面,可以是小程序的任意一个页面,可以带参数,就像平时调转页面的时候url一样就可以了,例子:

'/pages/newHome/newHome' + '?childId=' + this.data.selectedChildInfo.childId
四、formId

使用form组件并且report-submit设置为true,一般使用button还需要设置form-type
补充:buttonform-type属性,用于

组件,点击分别会触发 组件的 submit/reset 事件

例子:


  
  
      
  

注意
formId真机调试才可以获取,模拟器获取到的是the formId is a mock one

五、data

模板的内容,根据小程序后台的关键字填写就好了

模板消息内容.png
六、color

废弃

七、emphasis_keyword

需要放大的关键字
参考data,如keyword1.DATA

例子

{
    "touser": "o4HL40J",
    "template_id": "iq4VwfAPxk9bv",
    "page": "/pages/newHome/newHome?childId=00000",
    "form_id": "the formId is a mock one",
    "data": {
        "keyword1": {
            "value": "申请已经通过了,快去看看吧。",
            "color": "#173177"
        },
        "keyword2": {
            "value": "西藏",
            "color": "#173177"
        },
        "keyword3": {
            "value": "中三班",
            "color": "#173177"
        },
        "keyword4": {
            "value": "马三",
            "color": "#173177"
        }
    }
}

你可能感兴趣的:(微信小程序模板消息)