ChenJiaHe
2020-12-28 486aaaeb4d234e5a1267845b4aaa60354b2b92b0
优化
2个文件已修改
105 ■■■■■ 已修改文件
src/main/java/com/hx/mp/util/MPWeixinBaseUtil.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/hx/util/COSUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/hx/mp/util/MPWeixinBaseUtil.java
@@ -6,6 +6,7 @@
import net.sf.json.JSONException;
import net.sf.json.JSONObject;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.springframework.stereotype.Component;
@@ -151,6 +152,108 @@
        return imgUrl;
    }
    /**生成无限二维码,返回临时文
     * @param at 微信token
     * @param scene 参数,只能32位,最好不要中文
     * @param page 跳转链接
     * @param width 宽度
     * @param autoColor 默认false
     * @param lineColor 默认null
     * @param isHyaline 默认false
     * @return
     */
    public static File createUnlimitQrCode(String at, String scene, String page, int width, boolean autoColor,
                                             JSONObject lineColor, boolean isHyaline) throws IOException {
        String imgUrl = null;
        InputStream in = null;
        HttpURLConnection conn = null;
        //创建临时文件
        File file = File.createTempFile("temp", ".jpg");
        try {
            //生成发送数据
            JSONObject obj = new JSONObject();
            obj.put("scene", scene);
            obj.put("width", width);
            obj.put("page", page);
            obj.put("auto_color", autoColor);
            obj.put("line_color", lineColor);
            obj.put("is_hyaline", isHyaline);
            // 创建url资源
            URL url = new URL(StringUtils.format(URL_UNLIMIT_SQUARE, at));
            // 建立http连接
            conn = (HttpURLConnection) url.openConnection();
            // 设置允许输出
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 设置不用缓存
            conn.setUseCaches(false);
            // 设置传递方式
            conn.setRequestMethod("POST");
            // 设置维持长连接
            conn.setRequestProperty("Connection", "Keep-Alive");
            // 设置文件字符集:
            conn.setRequestProperty("Charset", "UTF-8");
            // 设置文件类型:
            conn.setRequestProperty("contentType", "application/json");
            // 开始连接请求
            conn.connect();
            OutputStream out = conn.getOutputStream();
            // 写入请求的字符串
            out.write((obj.toString()).getBytes());
            out.flush();
            out.close();
            // 请求返回的状态
            if (conn.getResponseCode() == 200) {
                // 请求返回的数据
                in = conn.getInputStream();
                //输入到临时文件
                /*OutputStream os = new FileOutputStream(file);
                int bytesRead = 0;
                byte[] buffer = new byte[8192];
                while ((bytesRead = in.read(buffer, 0, 8192)) != -1) {
                    os.write(buffer, 0, bytesRead);
                }*/
                FileUtils.copyInputStreamToFile(in, file);
                conn.disconnect();
                conn = null;
            }
            if (in != null) {
                in.close();
                in = null;
            }
            if (conn != null) {
                conn.disconnect();
                conn = null;
            }
        }catch (Exception e) {
            e.printStackTrace();
            if (in != null) {
                try {
                    in.close();
                }catch (Exception ep) {
                    ep.printStackTrace();
                }
                in = null;
            }
            if (conn != null) {
                conn.disconnect();
                conn = null;
            }
        }finally {
            file.deleteOnExit();
        }
        return file;
    }
    /**生成小程序二维码工具(方形)
     * path 二维码跳转链接
     * width 二维码宽度,默认是430
src/main/java/com/hx/util/COSUtil.java
@@ -57,7 +57,7 @@
        //拼接路径
        StringBuilder imgUrl = new StringBuilder();
        imgUrl.append("https://"+bucketName+"-"+secretId+".cos."+regionName+".myqcloud.com");
        imgUrl.append("https://"+bucketName+".cos."+regionName+".myqcloud.com");
        if(key.startsWith("/")){
            imgUrl.append(key);
        }else{