微信 模版消息 (六)
发布日期:2022-01-11 03:09:47 浏览次数:4 分类:技术文章

本文共 3305 字,大约阅读时间需要 11 分钟。

一、申请模板消息权限

模板消息的申请需账号已经开通微信支付权限。

在微信公众平台的后台,依次进入“功能->添加功能插件->模板消息”,即可申请模板消息。

点击申请

申请时,选择2个和自己相关的行业即可。

提交并且申请通过后,可以在模板库中看到模板消息列表

进入想要使用的模板,点击添加

添加后就存放到“我的模板库”中了

查看模板的详情,可以看到模板的id及各项内容参数名

不同的模板消息的内容结构不一样。这些id及字段名将在程序中使用到。

二、开发模板消息SDK

模板消息的定义如下:

模板消息也是使用access token作为授权来发送。

获取access_token:连接

三、构造模板消息体

我们以一个消息品行业的购买成功通知的横版为例,它的内容如下。

按照上述条件,我们构造消息体如下

import java.io.BufferedReader;import java.io.FileInputStream;import java.io.InputStreamReader;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import net.sf.json.JSONObject;/** *  微信信息推送 * @author yuki_ho * */public class PushMesgessUtil {	 private static String megstr2;	 private SimpleDateFormat sdf1=new SimpleDateFormat("HH点mm分");	 private String wxmegurl="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";	 private PushMesgessUtil(){}	 	 private static volatile PushMesgessUtil instance =null;	 public static PushMesgessUtil getInstance(){		 if(instance==null){			 synchronized(PushMesgessUtil.class){				 if(instance==null){					 instance=new PushMesgessUtil();					 megstr2=loadJson("/wxtemplate/wxtemplate2.json"); // 替换模版				 }			 }			 		 }		 return instance;	 }	 	 private  static String loadJson(String jsonurl){		String path=PushMesgessUtil.class.getResource("/").getPath()+jsonurl;		String jsonString="";		try {			FileInputStream fileInputStream=new FileInputStream(path);			InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream,"UTF-8");			BufferedReader reader=new BufferedReader(inputStreamReader);			String tempString=null;			while((tempString=reader.readLine())!=null)				jsonString+=tempString;			reader.close();			} catch (Exception e) {			e.printStackTrace();					}		return jsonString;	}		 		public JSONObject sendResMeg(String towxid,String userName,String status){		String gourl="点击信息名片跳转地址";		String url=wxmegurl+"你的access_token";		 String jsonText=megstr2.replace("OPENID", "接受人id")				 .replace("TEMPLATE_ID","微信官网生成的模版id")				 .replace("GOURL", gourl)				 .replace("FIRST", "尊敬的"+userName+",您已成为工程师!")				 .replace("USERNAME", userName)				 .replace("DULETIME", sdf1.format(new Date()))		 		.replace("REMARK", "如有疑问,请致电:xxxxxx,祝你生活愉快!");		 JSONObject jsonObject=JSONObject.fromObject(jsonText);		    return	HttpClientUtil.httpRequest(url, EnumMethod.POST.name(), jsonObject.toString());	}		public static void main(String[] args) {	}}
JSON文件:
{           "touser":"OPENID",           "template_id":"TEMPLATE_ID",           "url":"GOURL",            "topcolor":"#FF0000",                      "data":{                   "first":                    		{	                       "value":"FIRST",	                       "color":"#173177"                       	},                    "keyword1":                   		{                   			"value":"USERNAME",	                       "color":"#173177"                   		},	                   "keyword2":                   		{                   			"value":"DULETIME",	                       "color":"#173177"                   		},					 	                   "remark":                   		{                   			"value":"REMARK",	                       "color":"#008000"                   		}    	                        		 }}
帮助类(HttpClientUtil):

转载地址:https://yuki-ho.blog.csdn.net/article/details/52209340 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JAVA 并发编程-传统线程同步通信技术(四)
下一篇:微信 加密解密帮助类

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月28日 04时46分27秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

什么是服务熔断? 2019-04-27
服务器压力过大?CPU打满?我来帮你快速检查Linux服务器性能 2019-04-27
C++面经总结之《Effective C++》(一) 2019-04-27
C++面经总结之《Effective C++》(二) 2019-04-27
这是什么“虎狼之词”啊!!!程序员的健康问题,看一线老中医怎么说!!! 2019-04-27
打开我的收藏夹 -- Python数据分析杂谈 2019-04-27
上手Pandas,带你玩转数据(1)-- 实例详解pandas数据结构 2019-04-27
上手Pandas,带你玩转数据(2)-- 使用pandas从多种文件中读取数据 2019-04-27
上手Pandas,带你玩转数据(3)-- pandas数据存入文件 2019-04-27
爬虫遇上不让右击、不让F12的网站,该怎么办? 2019-04-27
上手Pandas,带你玩转数据(4)-- 数据清洗 2019-04-27
上手Pandas,带你玩转数据(5)-- 数据转换与数据定位 2019-04-27
上手Pandas,带你玩转数据(6)-- 摆脱对pandas可视化丑图的刻板印象吧 2019-04-27
从零开始,学会Python爬虫不再难!!! -- (1)开篇:初识爬虫,基础铺垫 丨蓄力计划 2019-04-27
从零开始,学会Python爬虫不再难!!! -- (2)承接:解析网页,抓取标签 丨蓄力计划 2019-04-27
AttributeError: module ‘urllib‘ has no attribute ‘quote‘的解决办法 2019-04-27
linux shell — 6.初识 EXT2 文件系统 2019-04-27
Java — String(字符串) 2019-04-27
linux shell — 7.linux 磁盘与文件系统管理 2019-04-27
linux shell — 8.linux 磁盘与文件系统管理(2) 2019-04-27