本文实例为大家分享了java微信公众号发送消息模板的具体代码,供大家参考,具体内容如下
这段时间接触公众号开发,写下向用户发送消息模板的接口调用
先上接口代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public static jsonobject sendmodelmessage(servletcontext context,jsonobject jsonmsg) {
system.out.println( "消息内容:" +jsonmsg);
boolean result = false ;
try {
getwx_accesstoken(context);
} catch (exception e) {
// todo auto-generated catch block
e.printstacktrace();
}
// 拼接请求地址
string requesturl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=access_token" ;
requesturl = requesturl.replace( "access_token" , context.getattribute(contexttokenname).tostring());
// 发送客服消息
jsonobject jsonobject = getjsonbywx(requesturl, context, "post" ,jsonmsg, false );
if ( null != jsonobject) {
int errorcode = jsonobject.getint( "errcode" );
string errormsg = jsonobject.getstring( "errmsg" );
if ( 0 == errorcode) {
result = true ;
system.out.println( "模板消息发送成功 errcode:{} " +errorcode+ "----" +errormsg);
} else {
system.out.println( "模板消息发送失败 errcode:{} " +errorcode+ "----" +errormsg);
}
}
return null ;
}
|
15行那段getjsonbywx是统一调用微信接口的方法,每个项目都有自己的调用方法,我这里就不贴了。接口调用链接:https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=access_token
接下来就是建个bean类,里面写入一下颜色及值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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;
}
|
在公众号里填写模板消息的对应格式
之后就是有个触发点,我选择发货后把发货信息发送给用户
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
pagedata wechattemplate = new pagedata();
wechattemplate.put( "template_id" , "填写你的模板id" );
wechattemplate.put( "touser" , userinfo.get( "openid" )); //获取用户的openid
map<string,templatemessageutil> mapdata = new hashmap<>();
templatemessageutil first = new templatemessageutil();
first.setcolor( "#173177" );
first.setvalue( "发货通知" );
mapdata.put( "first" , first);
templatemessageutil text1 = new templatemessageutil();
text1.setcolor( "#173177" );
text1.setvalue( "您好,您所购买的商品已发货。" );
mapdata.put( "text1" , text1);
templatemessageutil text2 = new templatemessageutil();
text2.setcolor( "#173177" );
text2.setvalue(expresser_name);
mapdata.put( "text2" , text2);
templatemessageutil text3 = new templatemessageutil();
text3.setcolor( "#173177" );
text3.setvalue(expresser_phone);
mapdata.put( "text3" , text3);
templatemessageutil remark = new templatemessageutil();
remark.setcolor( "#173177" );
remark.setvalue( "请保持电话畅通>>" );
mapdata.put( "remark" , remark);
jsonobject json = new jsonobject();
json.put( "data" ,mapdata);
json.putall(wechattemplate); //转为json
wxinterface.sendmodelmessage(context,json);
|
之后手机就会收到信息了
整体思路是这样,也是参照百度而来,因为每个人的项目里方法都不一样,我就不详细贴上,既然做到发送模板消息了,统一调用微信接口的方法应每个人该也早写在工具类里了,每个人都不同,当应该都有,调用这个方法,把微信模板消息连接的条件access_token写进去就请求了,剩下的就是传入你要发送的消息,消息存入集合,集合转json才行,jsonobject类相信也都有,我也不贴了,每个人项目都不一样,没必要照搬过去,就照着自己原先已有的类改进。
原文链接:https://www.cnblogs.com/lisiping/archive/2018/08/18/9496216.html