【小程序】- 消息订阅提醒

前言:

我们大家都是用过微信公众号、小程序,想必也遇到过公众号、小程序内的消息提醒或通知,不用我们进入程序就能及时的了解到是否有自己需要处理的事情,简直是一大福音,那么如何完成这个消息订阅提醒,就是我接下来要聊一聊的事情啦;

1、 消息模板:

要进行消息提醒,首先我们需要了解清楚自己要提醒什么,微信官网平台提供了好多模板,可以满足大众通用需求,可以从中选择我们需要的模板,有人可能会说我的需求是独特的,是否也能满足呢,这一点儿人家微信早替我们想到了,可以提交申请定制自己的模板,审批通过后,就可以正常使用了;

公众模板库

微信官网提供的公众模板库,可以满足大众通用需求
在这里插入图片描述

消息模板申请

提供的模板库不满足需求,那就自己定制,还是上一步骤的消息模板库页面,鼠标拖动到页面底部,切换到最后一页,我们能看到如下图:“帮忙我们完善模板库”-进入模板申请页面;
在这里插入图片描述
填写要申请的模板信息,相关注意事项请一定认真读哦,该花的时间还是要花的,不然得不偿失,模板审核也需要1-3天时间,谨慎操作;
提交完之后,我们可以在审核记录中查看模板审核进展及审核详情;
在这里插入图片描述

选定消息模板

登录微信公众平台,找到小程序-消息订阅-我的模板,查看我的消息模板;
在这里插入图片描述
在这里插入图片描述

2、 编码

前端

用户授权接收消息订阅

// 点击同意推送待办任务、日程提醒
  goSendMessage:function(e){
    var temlId = ["此处是模板ID"]
    wx.requestSubscribeMessage({
      tmplIds: temlId,
      success(res) {}
    }}

样式展示:
在这里插入图片描述

后端

编码时就需要用到我们的模板啦,结合消息模板-选定消息模板步骤看会更清晰(尤其是紫色框中的数据绑定字段名),实现发送消息;
核心代码:

@At("/subscriptionMsg")
@Ok("json")
public void subscriptionMsg(@Param("param") String param){
		//模板Model
        SubMsgTemplate subMsgTemplate=new SubMsgTemplate();
        subMsgTemplate.setTemplate_id(TemplateId); //模板ID
        //要跳转的小程序页面,不需要可以不写
        subMsgTemplate.setPage("pages/main/main/main"); 
        JSONObject object= JSON.parseObject(param);
        String phone = object.getString("phone");
        String userId=userService.selectUserByPhone(phone).getId();
        String openId=sysUserOauthsService.selectSysuserOauthsByUserId(userId).getOauthId();
        subMsgTemplate.setTouser(openId);

        Map<String,Object> data=JSON.parseObject(object.getString("data"),HashMap.class);
        Map<String,Object> map=new HashMap<>();
        Map<String,Object> thing1Map=new HashMap<>();

		//将模板信息放进map集合中(这里的数据绑定对应)
        thing1Map.put("value",data.get("title")==null?"暂无":data.get("title"));
        map.put("thing1", thing1Map);
        Map<String,Object> thing2Map=new HashMap<>();
        thing2Map.put("value",data.get("address")==null?"暂无":data.get("address"));
        map.put("thing3",thing2Map);
        Map<String,Object> date2Map=new HashMap<>();
        date2Map.put("value",data.get("startDate")==null?"暂无":data.get("startDate"));
        map.put("date2",date2Map);
        subMsgTemplate.setData(map);
        //转格式
        String jsonStr=JSONObject.toJSONString(subMsgTemplate);
        HttpUtils.doPostJsonString("https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+accessToken,jsonStr);
}
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要让用户订阅小程序消息,你需要完成以下几个步骤: 1. 在小程序后台配置消息模板:登录小程序后台,找到「开发」-「订阅消息」,点击「添加模板」按钮,根据业务需求选择合适的模板,并填写相关信息。 2. 获取订阅消息模板 ID:在添加模板后,系统会为每个模板生成一个模板 ID。你可以在小程序后台的「开发」-「订阅消息」中找到相应的模板,复制对应的模板 ID。 3. 调用订阅消息接口:在小程序中,你可以通过调用微信提供的订阅消息接口来请求用户订阅消息。具体接口为:wx.requestSubscribeMessage。传入模板 ID,用户同意订阅后,你就可以向用户发送订阅消息了。 以下是一个简单的示例代码: ```javascript // 假设你已经获取到了模板 ID var templateId = 'your_template_id'; // 请求用户订阅消息 wx.requestSubscribeMessage({ tmplIds: [templateId], success: function(res) { if (res[templateId] === 'accept') { console.log('用户订阅消息'); // 在这里可以调用发送订阅消息的接口 } else { console.log('用户拒绝了消息'); // 在这里可以给用户一些提示,或者采取其他处理方式 } }, fail: function(res) { console.log('请求订阅消息失败'); console.log(res); // 在这里可以给用户一些提示,或者采取其他处理方式 } }); ``` 需要注意的是,用户同意或拒绝订阅消息后,你都需要在相应的回调函数中处理后续逻辑。另外,为了提升用户体验,你可以在合适的时机向用户展示订阅消息的提示,比如在某个关键操作之前或者提醒用户不要错过重要通知等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值