java软件推送更新代码_微信小程序推送功能最新版本(推送到服务通知java+微信小程序代码块)...

/**

* 微信小程序推送订阅消息

* create By KingYiFan>@GetMapping(value = "/messagePush")

@ResponseBody

public Object sendDYTemplateMessage(String openId) throws Exception {

System.err.println("openId:"+openId);

wxsmallTemplate tem = new wxsmallTemplate();

//跳转小程序页面路径

tem.setPage("pages/index/index");

//模板消息id

tem.setTemplate_id("-UBAuupYlK2RAbxYvhk6UvK48ujQD72RpEOdkF-sJ2s");

//给谁推送 用户的openid (可以调用根据code换openid接口)

tem.setToUser(openId);

//==========================================创建一个参数集合========================================================

List paras = new ArrayList();

//这个是满参构造 keyword1代表的第一个提示 红包已到账这是提示 #DC143C这是色值不过废弃了

wxsmallTemplateParam templateParam = new wxsmallTemplateParam(

"thing2", "红包已到账", "#DC143C");

paras.add(templateParam);

paras.add(new wxsmallTemplateParam("phrase3", "刘骞", ""));

tem.setData(paras);

//模板需要放大的关键词,不填则默认无放大

tem.setToken(getAccessToken());

//=========================================封装参数集合完毕========================================================

try {

//进行推送

//获取微信小程序配置:

if(sendTemplateMsg1(getAccess_token(APPID1,AppSecret1), tem)){

return "推送成功";

}else{

JSONObject jsonObject = new JSONObject(); //返回JSON格式数据

jsonObject.put("buTie",tem);

return jsonObject;

}

} catch (Exception e) {

e.printStackTrace();

}

return "推送失败";

}

public static boolean sendTemplateMsg1(String token,wxsmallTemplate template) {

System.err.println("token:"+token);

boolean flag = false;

String requestUrl = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN";

// String requestUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN";

requestUrl = requestUrl.replace("ACCESS_TOKEN", token);

JSONObject jsonResult =JSON.parseObject(post(JSON.parseObject(template.toJSON()) ,requestUrl)) ;

if (jsonResult != null) {

Integer errorCode = jsonResult.getInteger("errcode");

String errorMessage = jsonResult.getString("errmsg");

if (errorCode == 0) {

flag = true;

} else {

System.out.println("模板消息发送失败:" + errorCode + "," + errorMessage);

flag = false;

}

}

return flag;

}

public String getAccess_token(String appid, String appsecret) {

String url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+appsecret;

// https://api.weixin.qq.com/cgi-bin/token.

JSONObject jsonObject = doGet1(url);

System.out.println(jsonObject.toString());

String errCode = jsonObject.getString("expires_in");

if (!StringUtils.isEmpty(errCode) && !StringUtils.isEmpty(jsonObject.getString("access_token").toString())) {

String token = jsonObject.get("access_token").toString();

return token;

} else {

return null;

}

}

public static JSONObject doGet1(String url) {

CloseableHttpClient client = HttpClients.createDefault();

HttpGet httpGet = new HttpGet(url);

JSONObject jsonObject = null;

try {

HttpResponse httpResponse = client.execute(httpGet);

HttpEntity entity = httpResponse.getEntity();

if (entity != null) {

String result = EntityUtils.toString(entity, "UTF-8");

jsonObject = JSONObject.parseObject(result);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

// 释放连接

httpGet.releaseConnection();

client.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return jsonObject;

}

//post请求

public static String post(JSONObject json,String URL) {

HttpClient client = new DefaultHttpClient();

HttpPost post = new HttpPost(URL);

post.setHeader("Content-Type", "application/json");

post.addHeader("Authorization", "Basic YWRtaW46");

String result = "";

try {

StringEntity s = new StringEntity(json.toString(), "utf-8");

s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,

"application/json"));

post.setEntity(s);

// 发送请求

HttpResponse httpResponse = client.execute(post);

// 获取响应输入流

InputStream inStream = httpResponse.getEntity().getContent();

BufferedReader reader = new BufferedReader(new InputStreamReader(

inStream, "utf-8"));

StringBuilder strber = new StringBuilder();

String line = null;

while ((line = reader.readLine()) != null)

strber.append(line + "\n");

inStream.close();

result = strber.toString();

System.out.println(result);

if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {

System.out.println("请求服务器成功,做相应处理");

} else {

System.out.println("请求服务端失败");

}

} catch (Exception e) {

System.out.println("请求异常");

throw new RuntimeException(e);

}

return result;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值