//该小程序用户的openid 前提时该用户已关注公众号
public AjaxResult sendWXMessage(String openId) {
String token = getToken();
SendWeChatMsg(token,openId);
return AjaxResult.success();
}
/**
* 获取token
*
* @return token
*/
public String getToken() {
// 授予形式
String grant_type = "client_credential";
// 小程序应用ID
String appid = "";
// 小程序密钥
String secret = "";
// 接口地址拼接参数
String getTokenApi = "https://api.weixin.qq.com/cgi-bin/token?grant_type="+grant_type+"&appid="+appid+"&secret="+secret;
String tokenJsonStr = HttpUtil.doGetPost(getTokenApi, "GET", null);
JSONObject tokenJson = JSONObject.parseObject(tokenJsonStr);
String token = tokenJson.get("access_token").toString();
System.out.println("获取到的TOKEN : " + token);
return token;
}
/***
* 发送消息
*
* @param token
*/
public void SendWeChatMsg(String token,String openId) {
// 接口地址
String sendMsgApi = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token="+token;
//openId
String toUser = openId;
//消息模板ID
String template_id = "";
//url 跳转的小程序页面
String url="";
//跳转小程序参数
Miniprogram miniprogram = new Miniprogram();
//小程序的appid
miniprogram.setAppid("");
//想要跳转到的小程序页面地址
miniprogram.setPagepath("");
//整体参数map
Map<String, Object> paramMap = new HashMap<String, Object>();
//消息主题显示相关map
Map<String, Object> dataMap = new HashMap<String, Object>();
//根据自己的模板定义内容和颜色
dataMap.put("first",new DataEntity("xxxx","#173177"));
dataMap.put("keyword1",new DataEntity("xxxx","#173177"));
dataMap.put("keyword2",new DataEntity("xxx" ,"#173177"));
dataMap.put("keyword3",new DataEntity("xxxx","#173177"));
dataMap.put("remark",new DataEntity("xxxxx","#173177"));
//模板id
paramMap.put("template_id", template_id);
//跳转小程序参数
paramMap.put("miniprogram", miniprogram);
//小程序地址
paramMap.put("url", url);
//公众号appid!!!! 注意是公众号的
paramMap.put("appid", "");
paramMap.put("data", dataMap);
Map<String, Object> paramMap1 = new HashMap<String, Object>();
//最终要封装成这样的参数
paramMap1.put("touser", toUser);
paramMap1.put("mp_template_msg", paramMap);
System.out.println(paramMap1.get("mp_template_msg"));
String post = HttpUtil.doGetPost(sendMsgApi, "POST", paramMap1);
System.out.println("发送模板消息结果"+post);
}
小程序给绑定的公众号推送模板消息
于 2022-01-04 14:59:47 首次发布