微信自定义推送模版消息
2015-11-27 13:44
537 查看
/** * 组装模版消息 */WxTemplate t = new WxTemplate();// 点击的时候执行的方法//t.setFirst("欢迎关注爱窝智慧商城!");t.setUrl("baidu.com");// 当前用户openidt.setTouser(openid);t.setTopcolor("#FF0000");// 模版IDt.setTemplate_id("JktIWQcrsFgKx7yrgNsPBvFGyM53jm-qV3TZtgaA9AIasdasd");// 设置日期格式SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Map m = new HashMap();// TemplateData first = new TemplateData();// first.setColor("#000000");// first.setValue("欢迎关注商城!");// m.put("first", first);TemplateData productType = new TemplateData();productType.setColor("#000000");productType.setValue("商品名:" + product.getProName());m.put("productType", productType);// 商品个数TemplateData number = new TemplateData();number.setColor("#000000");number.setValue(map.get("cash_fee") + "个");m.put("number", number);// 当前时间TemplateData expDate = new TemplateData();expDate.setColor("#000000");expDate.setValue(df.format(new Date()));m.put("expDate", expDate);// 当前时间// TemplateData price = new TemplateData();// price.setColor("#000000");// price.setValue("1元");// m.put("price", price);// 当前时间TemplateData remark = new TemplateData();remark.setColor("#000000");remark.setValue("您的订单以提交!如有疑问,请致电1234联系我们");m.put("remark", remark);// t.setRemark("您的订单以提交!");t.setData(m);/** * 推送成功消息至微信 */System.err.println(jsonObject.fromObject(t).toString());CommonUtil.httpRequest("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+ Access_Token, "POST", jsonObject.fromObject(t).toString());
CommonUtil工具类: /** * 发送https请求 * * @param requestUrl * 请求地址 * @param requestMethod * 请求方法 * @param outputStr * 提交的数据 * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值) */public static JSONObject httpsRequest(String requestUrl,String requestMethod, String outputStr) {JSONObject jsonObject = null;try {// 创建SSLContext对象,并使用我们指定的信任管理器初始化TrustManager[] tm = { new MyX509TrustManager() };SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");sslContext.init(null, tm, new java.security.SecureRandom());// 从上述SSLContext对象中得到SSLSocketFactory对象SSLSocketFactory ssf = sslContext.getSocketFactory();URL url = new URL(requestUrl);HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();conn.setSSLSocketFactory(ssf);conn.setDoOutput(true);conn.setDoInput(true);conn.setUseCaches(false);// // 设置请求方式(GET/POST)conn.setRequestMethod(requestMethod);// 当outputStr不为null时向输出流写数据if (null != outputStr) {OutputStream outputStream = conn.getOutputStream();// 注意编码格式outputStream.write(outputStr.getBytes("UTF-8"));outputStream.close();}// 从输入流读取返回内容InputStream inputStream = conn.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String str = null;StringBuffer buffer = new StringBuffer();while ((str = bufferedReader.readLine()) != null) {buffer.append(str);}// 释放资源bufferedReader.close();inputStreamReader.close();inputStream.close();inputStream = null;conn.disconnect();jsonObject = JSONObject.fromObject(buffer.toString());} catch (ConnectException ce) {log.error("连接超时:", ce);} catch (Exception e) {log.error("https请求异常", e);}return jsonObject;}
相关文章推荐
- 微信南通大学教务学生管理系统_用户体验
- 【Android即时通讯】Android 高仿微信的即时聊天DEMO
- 微信公众号无线群发接口使用实例
- 微信公众号开发
- [置顶] 分享一下微信支付经验以及JS代码
- 微信支付开发流程(1/2)
- 判断微信客户端是安卓还是IOS
- 判断微信浏览器是安卓还是IOS客户端
- 微信支付 —— 公众号支付代码详解(1/7)
- 南通大学教务管理微信公众号的用户体验
- 微信公众平台体验(二)JS-SDK
- 微信支付—— 扫码支付
- 實作解析:微信開發重點摘要 (2) - 用戶唯一識別碼與網頁存取授權碼
- 微信支付Demo下载(完整文档+使用说明)
- 微信支付PHP SDK —— 公众号支付代码详解
- 微信支付开发(11) Native支付
- java接入微信js-sdk
- 控制必须微信浏览器打开
- 微信接口尝试
- 第七次作业—微信用户体验