springboot的微信公众号(十)模板消息

模板消息相对来说用的比较多的了,建议有时间去读一下文档,多了解一下

想要发送模板消息,首先你得有模板消息,所以要新建模板消息,在测试号里面是可以无限制新建的,在正式的公众号里面貌似需要申请,你可以从模板库里面导入,或者自己定义,一个月貌似是3条,如果急用肯定来不及,所以还是去模板库老老实实找吧,比较多,我这里没有正式号,所以没法演示,有机会补上去吧

下面我们来看测试号:

在你的测试号管理界面有一个模板消息接口,你可以选择新增,但是上限是十个,大概像这样

 

模板id就是我们开发者要使用的了,后面的就是展示给客户的内容了,然后还会有一个链接,就是点击这个消息会跳转到哪里

成功后大概是这样,我这里跳转的是百度

 

我们新增一条试试

内容

{
    {first.DATA}
} 
用户昵称:{
    {keyword1.DATA}
} 
绑定时间:{
    {keyword2.DATA}
} 
备注:{
    {keyword3.DATA}
} 
{
    {remark.DATA}
}

成功之后,这个后面的我们会用到,模板消息的数据有个规范

在我前面发的,你也可以查一下相关文档,好好熟悉一下

发送模板消息,post请求,参数格式为json

 

开始代码

if ("4".equals(content)) {
			MsgUtil.sendTemplateMsgToUser( openId,response);
		}
public static void sendTemplateMsgToUser(String openId, HttpServletResponse response) {
		String msg = JSONObject.fromObject(MsgUtil.initTemplateMsg(openId, response)).toString();
		System.out.println("封装的模板消息是"+ msg);
		JSONObject result = HttpUtil.doPoststr(WeiXinUtil.SEND_TEMPLATE_MSG.replace("ACCESS_TOKEN", WeiXinUtil.getAccessToken()),msg);
		if("ok".equals(result.getString("errmsg"))){
			System.out.println("发送的结果是"+result);
        }
	}

这里首先初始化一条json数据,然后调用post请求发送

/**
	 * 初始化模板消息
	 * @param openId
	 * @param response
	 */
	public static TemplateMsg initTemplateMsg(String openId, HttpServletResponse response) {
		Map<String,TempData> m = new HashMap<String,TempData>();  
		TempData first = new TempData();  
		first.setColor("#000000");  
		first.setValue("您好,您有一条新通知。");  
		m.put("first", first);  
		TempData keyword1 = new TempData();  
		keyword1.setColor("#328392");  
		keyword1.setValue("小猪");
		m.put("keyword1", keyword1);  
		TempData keyword2 = new TempData();  
		keyword2.setColor("#328392");  
		keyword2.setValue("2014-10-19");  
		m.put("keyword2", keyword2);  
		TempData keyword3 = new TempData();  
		keyword3.setColor("#328392");  
		keyword3.setValue("您已经成功绑定");  
		m.put("keyword3", keyword3);  
		TempData remark = new TempData();  
		remark.setColor("#929232");  
		remark.setValue("请确认绑定信息");  
		m.put("remark", remark);
		TemplateMsg template = new TemplateMsg();  
		template.setUrl("www.baidu.com"); //模板详情链接
		template.setTouser(openId);  //接收者
		template.setTopcolor("#000000");  
		template.setTemplate_id("rcfRlSI6MnDAgFjVVkQtI2FpPWf9dXmODfUKJddlxyE");  //模板id
		template.setData(m);
		return template;
	}

对照参数说明来建立实体类

一个msg,然后里面有个map,key是string,value是data,然后data里面是value和颜色

实体类如下:

public class TemplateMsg {
	private String touser;
	private String template_id;
	private String url;
	private String topcolor;
	private Map<String,TempData> data;
	public String getTouser() {
		return touser;
	}
	public void setTouser(String touser) {
		this.touser = touser;
	}
	public String getTemplate_id() {
		return template_id;
	}
	public void setTemplate_id(String template_id) {
		this.template_id = template_id;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public Map<String, TempData> getData() {
		return data;
	}
	public void setData(Map<String, TempData> data) {
		this.data = data;
	}
	public String getTopcolor() {
		return topcolor;
	}
	public void setTopcolor(String topcolor) {
		this.topcolor = topcolor;
	}
	
	

}
public class TempData {

	private String value;
	private String color;
	
	public String getValue() {
		return value;
	}
	public void setValue(String value) {
		this.value = value;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	
	
}

日志信息如下

封装的模板消息是{"touser":"oHz9D0TObxbKYC720R61svLa0YDg","data":{"keyword3":{"color":"#328392","value":"您已经成功绑定"},"keyword1":{"color":"#328392","value":"小猪"},"keyword2":{"color":"#328392","value":"2014-10-19"},"remark":{"color":"#929232","value":"请确认绑定信息"},"first":{"color":"#000000","value":"您好,您有一条新通知。"}},"template_id":"rcfRlSI6MnDAgFjVVkQtI2FpPWf9dXmODfUKJddlxyE","url":"www.baidu.com","topcolor":"#000000"}
发送的结果是{"errcode":0,"errmsg":"ok","msgid":555163492806885379}

到此,微信发送模板消息就结束了,关于概念性的东西说的比较少,建议自己去看一下

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Spring Boot 是一个用于快速构建基于 Java 的应用程序的开源框架。微信公众号是微信平台提供的一种服务,允许开发者在微信上创建自己的公众号,从而能够与用户进行交互、提供信息、进行营销等。 使用 Spring Boot 构建微信公众号意味着我们可以利用 Spring Boot 的优势快速开发和部署我们的公众号应用。Spring Boot 提供了丰富的特性和功能,例如自动配置、快速启动、内嵌 Servlet 容器等,使得我们能够以更高效的方式开发微信公众号应用程序。 在使用 Spring Boot 构建微信公众号时,我们可以利用微信公众平台提供的开发接口和 SDK,与微信服务器进行交互。该接口和 SDK 提供了丰富的功能,例如接收和回复消息、获取用户信息、上传素材、推送模板消息等。我们可以通过编写相应的代码,与微信服务器进行通信,并实现自定义的业务逻辑。 使用 Spring Boot 构建微信公众号还可以结合其他技术和框架,例如 Spring MVC、Spring Data JPA 等,来实现更复杂的功能。我们可以利用 Spring MVC 来处理微信服务器的请求,使用 Spring Data JPA 来操作数据库存储用户信息等。这些技术和框架的集成可以提高开发效率和代码质量。 总之,使用 Spring Boot 构建微信公众号能够帮助我们快速开发和部署应用,同时利用 Spring Boot 提供的特性和功能,使得开发过程更加高效和简化。 ### 回答2: Spring Boot是一个用于构建独立的、生产级的Spring应用程序的框架。它简化了Spring应用程序的配置和部署过程,并提供了许多默认配置,让开发者可以专注于业务逻辑的实现。 微信公众号是基于微信开放平台的一种应用,开发者可以通过微信公众号来与用户进行交互。使用微信公众号可以实现发送消息、接收消息、拉取用户信息等功能。通过集成Spring Boot框架,可以更加方便地开发和管理微信公众号应用。 使用Spring Boot开发微信公众号,可以通过Spring框架的依赖注入和控制反转等功能,更加灵活地管理公众号的业务逻辑和组件。开发者可以定义不同的Controller来处理用户的请求,并通过注解来实现自动装配和依赖管理。此外,Spring Boot还提供了许多自动配置的功能,使得开发者可以快速构建、测试和部署微信公众号应用。 Spring Boot还支持与微信公众平台的API进行交互,开发者可以通过SDK或自定义开发来实现微信公众号的各种功能。例如,可以使用SDK提供的API来发送消息、获取用户信息、创建菜单等。 总之,通过使用Spring Boot框架,开发者可以更加高效地开发和管理微信公众号应用,减少了繁琐的配置和部署过程,提高了开发效率和代码质量。 ### 回答3: Spring Boot 是一个基于 Spring 框架的开源项目,用于快速构建、运行和部署应用程序。微信公众号是基于微信平台的一种社交媒体营销工具,被广泛用于企业的宣传推广、客户互动等方面。那么,Spring Boot 如何与微信公众号结合呢? 首先,我们可以通过 Spring Boot 提供的 Web 应用程序开发框架,结合微信公众号的开发文档和接口,编写实现微信公众号功能的后端代码。通过使用 Spring Boot 的 MVC 架构,我们可以定义处理微信公众号各种请求的控制器,并利用 Spring 的依赖注入特性,调用微信公众号提供的接口实现相关功能。 其次,Spring Boot 提供了丰富的开箱即用的插件和组件,可以方便地集成第三方库和工具。我们可以利用 Spring Boot 的插件,快速集成微信公众号的 SDK 或 API,简化开发过程。同时,Spring Boot 还提供了很多自动配置选项,可以减少开发者的配置工作,提高开发效率。 另外,通过使用 Spring Boot 的自动化部署特性,我们可以将微信公众号的后端应用程序快速打包为可执行的 JAR 文件,并使用常用的部署或容器工具(如 Docker、Tomcat 等)进行部署和运行。这样,我们可以轻松地将微信公众号应用程序部署到云端,实现高可用性和扩展性。 总之,Spring Boot 提供了一个便捷、快速、可靠的开发框架,可以与微信公众号无缝结合,帮助开发者快速构建和部署功能丰富的微信公众号应用程序。无论是小型企业还是大型企业,利用 Spring Boot 可以极大地简化微信公众号的开发和运维工作,提升开发效率和用户体验。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值