【微信小程序】使用Java后端语言发送订阅(模板)消息

编程

        <!-- hutool -->

<dependency>

<groupId>cn.hutool</groupId>

<artifactId>hutool-all</artifactId>

<version>4.5.13</version>

</dependency>

<!-- Lombok -->

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.18.8</version>

</dependency>

<!-- fastjson -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.2.59</version>

</dependency>

官方文档必须看一下哈

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

步骤一:获取模板 ID

在微信公众平台手动配置获取模板 ID:
登录 https://mp.weixin.qq.com 获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用。

这里就按官网要求来即可

步骤二:获取下发权限

小程序端消息订阅接口文档必看

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html

在小程序实现小程序端消息订阅事件

在index.html增加一个按钮并绑定一个事件

<button class="up" bindtap="sendmsg">订阅更新消息

</button>

在index.js增加事件处理方法

  sendmsg:function(){

wx.requestSubscribeMessage({

tmplIds: ["模板ID"],

success:function(res){

console.info(res);

},

fail(res){

console.info(res);

}

})

},

演示用户订阅消息

允许成功返回的数据

{

"模板ID":"accept",

"errMsg":"requestSubscribeMessage:ok",

"errCode":0

}

步骤三:调用接口下发订阅消息

服务端消息发送接口文档必看

https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.send.html

开始Java编程

新建一个常量类代码

/**

* @author 小帅丶

* @className WXAPIConts

* @Description 微信小程序API

* @Date 2020/2/24-11:22

**/

public class WXAPIConts {

//发送订阅消息URL

public static String SEND_URL = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN";

//模板ID 多个则自行命名区分即可

public static String TEMPLATE_ID = "";

}

新建订阅消息对象

import lombok.Data;

/**

* @author 小帅丶

* @className SubscribeBean

* @Description 发送订阅消息对象

* @Date 2020/2/24-11:23

**/

@Data

public class SubscribeBean {

/** 接收者(用户)的 openid */

private String touser;

/** 所需下发的订阅模板id */

private String template_id;

/** 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数 该字段不填则模板无跳转。*/

private String page;

/** 模板|订阅内容 */

private SubscribeDataBean data;

/** 进入小程序查看”的语言类型 支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN返回值*/

private String lang = "zh_CN";

/** 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版 */

private String miniprogram_state;

}

新建订阅消息详情内容对象

import lombok.AllArgsConstructor;

import lombok.Data;

/**

* @author 小帅丶

* @className SubscribeDataBean

* @Description 订阅消息具体内容对象 根据对象不同key不同

* @Date 2020/2/24-11:23

**/

@Data

public class SubscribeDataBean {

//具体的订阅消息的key {{thing4.DATA}} 则key为thing4

private Thing4 thing4;

private Date1 date1;

@Data

@AllArgsConstructor

public static class Thing4{

private String value;

}

@Data

@AllArgsConstructor

public static class Date1{

private String value;

}

}

编写发送订阅消息代码

发送对象转JSON字符串

package cn.netand.wxlite.sample;

import cn.hutool.http.HttpUtil;

import cn.netand.wxlite.bean.SubscribeBean;

import cn.netand.wxlite.bean.SubscribeDataBean;

import cn.netand.wxlite.conts.WXAPIConts;

import com.alibaba.fastjson.JSON;

/**

* @author 小帅丶

* @className SendSubscriptionMessageSample

* @Description 发送订阅消息示例代码

* @Date 2020/2/24-11:29

**/

public class SendSubscriptionMessageSample {

public static void main(String[] args) {

//小程序的ACCESS_TOKEN

String ACCESS_TOKEN = "";

//访问过小程序的openid

String OPENID = "";

String url = WXAPIConts.SEND_URL.replace("ACCESS_TOKEN", ACCESS_TOKEN);

//模板ID

String template_id = WXAPIConts.TEMPLATE_ID;

//订阅消息内容组装

SubscribeDataBean bean = new SubscribeDataBean();

bean.setDate1(new SubscribeDataBean.Date1("2020年2月24日 10:42"));

bean.setThing4(new SubscribeDataBean.Thing4("新增好多功能"));

//组装接口所需对象

SubscribeBean sendBean = new SubscribeBean();

sendBean.setData(bean);//这里的订阅消息对象 不需要额外转json

sendBean.setTouser(OPENID);

sendBean.setTemplate_id(template_id);

//对象转json

String param = JSON.toJSONString(sendBean);

String result = HttpUtil.post(url, param);

System.out.println("发送返回的内容:" + result);

}

}

微信收到的内容

 

以上就是微信小程序发送订阅消息的示例了

以上是 【微信小程序】使用Java后端语言发送订阅(模板)消息 的全部内容, 来源链接: utcz.com/z/513785.html

回到顶部