注册微信公众号测试号
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Requesting_an_API_Test_Account.html
配置微信公众号回调接口
注意:回调接口必须可以调通
GET请求用于Token校验,POST进行消息监听,部分代码如下:
/**
* 功能描述:微信事件触发函数
* <p>
* GET:微信Token校验
* POst:消息事件监听
* </p>
*/
@RequestMapping("wxEventListener")
public void wxEventListener(){
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
if ("GET".equals(request.getMethod())){
doGet(request, response);
}else if ("POST".equals(request.getMethod())){
doPost(request, response);
}
配置模板消息
模板消息接口地址:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html
微信公众号发送模板消息参数实体设计
public class WxTemplateParam implements Serializable {
/**
* 用户openid(接收人)
*/
private String touser;
/**
* 消息模版id
*/
private String template_id;
/**
* 模板跳转链接(海外帐号没有跳转能力)
*/
private String url = "https://baidu.com";
/**
* 跳小程序所需数据,不需跳小程序可不用传该数据
*/
private MiniProgram miniprogram;
/**
* 要推送的模板内容
*/
private Map<String, WxTemplateData> data;
}
微信模版消息内容样式实体设计
public class WxTemplateData implements Serializable {
/**
* 字体颜色(灰色)
*/
public static final String TEXT_COLOR_GRAY = "#A2A2A2";
/**
* 字体颜色(蓝色)
*/
public static final String TEXT_COLOR_BLUE = "#356E86";
/**
* 模板数据
*/
private String value;
/**
* 模板内容字体颜色,不填默认为黑色
*/
private String color;
public WxTemplateData(){
}
public WxTemplateData(String value, String color) {
this.value = value;
this.color = color;
}
}
跳小程序所需参数实体设计
public class MiniProgram implements Serializable {
/**
* 所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)
*/
private String appid;
/**
* 所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏
(注意:未发布的小程序跳转url前缀无需加/,已发布的小程序跳转url前缀必须加/)
*/
private String pagepath;
}
配置消息模板
发送消息模板部分代码如下:
public Object pushOrderSendTemplateMessage(JSONObject param, MiniProgram miniProgram) {
WxTemplateParam wxTemplateParam = wxTemplate.orderSendTemplate(param);
wxTemplateParam.setMiniprogram(miniProgram);
return pushWxTemplateMessage(wxTemplateParam);
}
最终效果如下
原文始发于微信公众号(行走318川藏线):发送微信公众号消息模板
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/20929.html