Java获取微信小程序二维码
2018-03-15 10:01
501 查看
tip
:通过该接口,仅能生成已发布的小程序的二维码。tip
:可以在开发者工具预览时生成开发版的带参二维码。tip
:接口A加上接口C,总共生成的码数量限制为100,000,请谨慎调用。tip
: POST 参数需要转成 json 字符串,不支持 form 表单提交。tip
: auto_color line_color 参数仅对小程序码生效。
/* * 获取二维码
* 这里的 post 方法 为 json post【重点】 */ @RequestMapping("/getCode") public ResponseMsg getCodeM(HttpServletRequest request) throws Exception { String imei ="867186032552993"; String page="page/msg_waist/msg_waist"; String token = getToken(); // 得到token Map<String, Object> params = new HashMap<>(); params.put("scene", imei); //参数 params.put("page", "page/msg_waist/msg_waist"); //位置 params.put("width", 430); CloseableHttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost = new HttpPost("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+token); // 接口 httpPost.addHeader(HTTP.CONTENT_TYPE, "application/json"); String body = JSON.toJSONString(params); //必须是json模式的 post StringEntity entity; entity = new StringEntity(body); entity.setContentType("image/png"); httpPost.setEntity(entity); HttpResponse response; response = httpClient.execute(httpPost); InputStream inputStream = response.getEntity().getContent(); String name = imei+".png"; saveToImgByInputStream(inputStream,"D:\\",name); //保存图片 return null; } /* * 获取 token
* 普通的 get 可获 token */ public String getToken() { try { Map<String, String> map = new LinkedHashMap<String, String>(); map.put("grant_type", grant_type); map.put("appid", appid); map.put("secret", secret); String rt = HttpUtils.sendGet(TOKEN_URL, map); System.out.println(rt); JSONObject json = JSONObject.parseObject(rt); if (json.getString("access_token") != null || json.getString("access_token") != "") { return json.getString("access_token"); } else { return null; } } catch (Exception e) { log.error("# 获取 token 出错... e:" + e); e.printStackTrace(); return null; } } /** * 将二进制转换成文件保存 * @param instreams 二进制流 * @param imgPath 图片的保存路径 * @param imgName 图片的名称 * @return * 1:保存正常 * 0:保存失败 */ public static int saveToImgByInputStream(InputStream instreams,String imgPath,String imgName){ int stateInt = 1; if(instreams != null){ try { File file=new File(imgPath,imgName);//可以是任何图片格式.jpg,.png等 FileOutputStream fos=new FileOutputStream(file); byte[] b = new byte[1024]; int nRead = 0; while ((nRead = instreams.read(b)) != -1) { fos.write(b, 0, nRead); } fos.flush(); fos.close(); } catch (Exception e) { stateInt = 0; e.printStackTrace(); } finally { } } return stateInt; }
相关文章推荐
- java微信小程序 获取二维码
- 微信小程序 获取小程序码和二维码java接口开发
- nodejs获取微信小程序带参数二维码实现代码
- java微信小程序参数二维码生成带背景图加字体
- java微信小程序参数二维码生成带背景图加字体(无限生成)
- java 微信小程序登录 验证登录并获取用户信息
- 微信小程序----获取带参二维码
- [置顶] 微信小程序开发(二):获取微信小程序页面带参二维码全流程
- 获取微信小程序页面带参二维码全流程
- 微信小程序获取openId 微信唯一标识 Java & jFinal
- 微信小程序实例详解,扫描二维码获取信息
- 原创:微信小程序java实现AES解密并获取unionId
- 微信小程序获取普通二维码
- 获取微信小程序二维码/小程序码 PHP
- 微信小程序 获取二维码实例详解
- 获取微信小程序二维码
- 微信小程序 获取对应页面二维码
- Java微信开发(通过java程序获取用户个人信息)
- 使用nodejs获取微信小程序带参数二维码