XCSport - XC体育因您更精彩 微信二维码 关于我们 联系我们
XCSport - XC体育因您更精彩
专注全钢智能商用豆浆机10年
全国统一咨询热线

400-123-4567

当前位置: 首页 > 新闻资讯 > 行业资讯

使用小程序时消息弹框提醒咋回事?微信应用号发布消息全知道

文章作者:小编 人气:发表时间:2026-01-15 01:15:29

你才刚准许一个小程序发送消息,各式各样的签到以及抽奖提醒便接连不断地到来,这背后实际上是一整套完备的订阅消息推送机制 。

选择消息模板

当于微信公众号平台完成登录操作之后,于其左侧菜单栏之处存在订阅消息的入口,点击该入口进而进入到模板库当中开展选择。若是以常见的“预约通知”当作示例来看,此模板能够针对多半所需提前予以提醒的场景形成覆盖,诸如课程预约或者服务预订等情况,这属于相对较为通用的一个起点 。

选择好模板之后,要去配置具体的字段,平台所允许的是,最多挑选5个关键信息项呈现给用户。你得依据实际业务填写场景说明,就比方说“课程预约成功通知”。提交完毕之后,模板会被列示在“我的模板”当中,其中模板ID是后续进行调用的关键凭证。

配置模板参数

创建模板之际,需审慎地去定义每一个字段所具备的含义以及变量名,举例来说,形如“预约人”这样的字段或许会对应变量name1 ,而“预约时间”则对应date3 ,这些变量名将会在接续而来的代码当中被加以运用 ,以此来保证数据能够精准无误地填充至通知之内 。

模板详情页给出了全部必要信息,涵盖了完整的字段列表以及示例,对于模板ID以及每个字段的变量名,开发者是需要记录下来的,而这些乃是编写发送函数时绝对不能缺少的参数,要是信息有误的话,就会致使消息发送不成功。

新建发送消息接口

于开发环境里,你得去新建一个自定义的 API 用以承载发送逻辑,方法的名称能够设定为“sendSubscribeMessage”,其标识符是供系统在内部进行调用的,入参必然要涵盖接收者的 OpenID、所使用的模板 ID,以及先前定义的各个字段变量。

方法出参常常是用来返回发送状态码的,自定义代码那一部分,得调用微信所提供的云函数或者后端接口,要把入参当中的数据组合成符合微信规定要求的请求格式,并且还要处理有可能返回的错误信息。

编写消息发送函数

在函数的内部,要去构造出一个JSON对象,这个对象呢,是包含着touser、template_id、data这类必要属性的。而data对象当中,每一个键值对,都一定要与模板字段变量做到一一对应,并且其中的值,是由调用方借助入参给传入进来的。

在进行有关代码编写时,关键要点在于需要涵盖错误处理逻辑一事,像网络请求失败这种状况、又或者像参数缺失这种情形皆是如此。当发送成功之后,为了能够更好地追踪相关情况,建议要去记录日志。此一函数乃是小程序与微信服务器进行通信的核心关键环节,其稳定性非常重要。

引导用户订阅消息

在小程序那个页面之上,得去设置一个清晰明确的触发点,就好比“开启提醒”的那个按钮。给它绑定那点击事件,在事件处理函数当中调用wx.requestSubscribeMessage这个微信小程序的API 。

会在调用之际弹出窗口向用户去申请授权,务必要清晰地作出说明订阅的理由。当用户予以同意之后,其授权凭证将会被保存在客户端当中,而这是后续去发送消息的许可依据。不同的模板需要进行单独授权,开发者应当妥善地管理好授权状态。

触发并发送消息

const cloud = require('wx-server-sdk')
cloud.init({
    env: cloud.DYNAMIC_CURRENT_ENV,
})
module.exports = async function (params, context) {
    try {
        const result = await cloud.openapi.subscribeMessage.send({
            "touser": params.openId,    // 发送给谁
            "page": 'my',    // 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)。该字段不填则模板无跳转。
            "lang": 'zh_CN',
            "data": {    // 模板所需的参数
                "name1": {
                    "value": params.name1  //  预约人
                },
                "data3": {
                    "value": params.data3  // 预约时间
                },
                "thing7": {
                    "value": params.thing7  // 预约备注
                },
                "thing8": {
                    "value": params.thing8  // 温馨提示
                }
            },
            "templateId": params.templateId,    // 模板ID ---- 在模版详情中获取
            "miniprogramState": 'trial'    // 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
        })
        return result
    } catch (err) {
        return err
    }
};

将实际发送作为最后一步,在用户完成诸如预约成功之类的某个动作后,调用先前编写的发送接口,发送之际要传入当前用户的 OpenID、模板 ID 以及具体的通知内容变量值。

要特别予以留意,在发送之前务必要确认用户已然授权了该模板。能够去设计一个“发送测试消息”按钮用来做演示。整个流程自模板选择起始直至最终进行发送,涵盖着平台配置以及代码开发,在上线之前需要展开充分的测试。你对于小程序消息推送的哪一种应用场景最为感兴趣呢?欢迎在评论区分享你的看法。