微信小程序服务通知开发

开发小程序消息通知服务,分为以下几个步骤:

  1. 获取小程序相应的access_token

    1
    GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

    appid 小程序ID

    secret 小程序密钥

    grant_type 填写 client_credential

  2. 获取用户代码

    1
    2
    3
    4
    5
    wx.login({
    success: function(res){
    wx.setStorageSync('code', res.code);
    }
    })
  3. 获取openid

    1
    GET https://api.weixin.qq.com/sns/jscode2session?appid={appid}&secret={secret}&js_code={code}&grant_type=authorization_code

    js_code用户代码

    grant_type 请填写authorization_code

  4. 获取form_id

    1
    2
    3
    <form bind:submit="sendMessage" report-submit="ture">
    <button formType="submit">发送模板消息</button>
    </form>
    1
    2
    3
    sendMessage: function(res){
    wx.setStorageSync('formId', res.detail.formId);
    }
  5. 发送服务消息

    1
    POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token={access_token}&touser={openid}&mp_template_msg={mp_template_msg}&weapp_template_msg={weapp_template_msg}

    参数说明

    上面方法在2020年1月10日下线,现在使用订阅消息功能。

订阅消息功能

开发小程序订阅消息通知服务,分为以下几个步骤:

  1. 创建模板

    登录微信公众号

    订阅消息

    公共模板库

    搜索模板

    支付

    选用 订单待付款提醒

    选择关键词或者自己申请(最多添加五个)

    • 你填写 场景说明 会在小程序前端显示用于提示用户、

    提交

  2. 获取模板参数

    我的模板

    生效中

    点击创建 订单待付款提醒 详情

    模板ID与详细内容即为需要用到的参数

    1
    2
    3
    4
    5
    6
    模板ID	 sWKSDtKvdC8Yj60jNEyWzifpZXYBaGGjUihsOAfoBao
    下单时间 {{time2.DATA}}
    待付金额 {{amount4.DATA}}
    订单号 {{character_string12.DATA}}
    付款类型 {{thing5.DATA}}
    订单内容 {{thing3.DATA}}
  3. 向用户发起消息订阅

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    wx.requestSubscribeMessage({
    tmplIds: [templateId],
    success: function(res){
    if(res[templateId]=='accept'){
    console.log('用户已授权!');
    if(res[templateId]=='reject'){
    console.log('用户拒绝授权!')
    }
    }
    })
  4. 向用户发送消息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    let billMess = {
    'touser': openid,
    'template_id': templateId,
    'page': 'pages/uploading/uploading',
    'data': {
    'time2': {
    'value': '2021-08-20'
    },
    'amount4': {
    'value': '0'
    },
    'character_string12': {
    'value': '12345'
    },
    'thing5': {
    'value': '微信支付(小程序)'
    },
    'thing3': {
    'value': '南台村'
    }
    }
    }
    wx.request({
    url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='+access_token,
    data: billMess,
    method: 'POST',
    success: function(res){
    console.log(res)
    }
    })

    用户只有授权了模板,才能发送订阅消息。上面发送的例子适合开发环境,发送订阅消息需要到服务端进行发送。

    详细教程