From 93eae706828ce693db00bbb9c128a335ca6d4e6d Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 17 一月 2025 15:26:37 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java | 90 +++++++++++++++++++++++++++++---------------
1 files changed, 59 insertions(+), 31 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java
index 34adfb8..7d079dc 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java
@@ -1,16 +1,29 @@
package com.ruoyi.account.util.weChat;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.account.util.ObsUploadUtil;
import com.ruoyi.common.redis.service.RedisService;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.http.HttpHeaders;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
import javax.annotation.Resource;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@@ -186,35 +199,50 @@
-// /**
-// * 获取小程序二维码
-// * @param page 跳转页 例如 pages/index/index
-// * @param scene 参数 a=1&b=2
-// */
-// public InputStream getwxacodeunlimit(String page, String scene){
-// try {
-// String token = getWxAppletsAccessToken();
-// if(StringUtils.isEmpty(token)){
-// System.err.println("获取接口调用凭证失败");
-// }
-// String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + token;
-// Map<String, Object> param = new HashMap<>();
-// param.put("scene", scene);
-// param.put("page", page);
-// HttpHeaders httpHeaders = new HttpHeaders();
-// MediaType type=MediaType.parseMediaType("application/json;charset=UTF-8");
-// httpHeaders.setContentType(type);
-// HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(param, httpHeaders);
-// ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class, new Object[0]);
-// String body1 = exchange.getBody();
-//// System.err.println(body1);
-// ResponseEntity<byte[]> entity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]);
-// byte[] body = entity.getBody();
-//// System.err.println(Base64.encodeBase64String(body));
-// return new ByteArrayInputStream(body);
-// }catch (Exception e){
-// e.printStackTrace();
-// }
-// return null;
-// }
+ /**
+ * 获取小程序二维码
+ * @param page 跳转页 例如 pages/index/index
+ * @param scene 参数 a=1&b=2
+ */
+ public InputStream getwxacodeunlimit(String page, String scene, EnvVersion env_version){
+ try {
+ String token = getWxAppletsAccessToken();
+ if(StringUtils.isEmpty(token)){
+ System.err.println("获取接口调用凭证失败");
+ }
+ String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + token;
+ Map<String, Object> param = new HashMap<>();
+ param.put("scene", scene);
+ param.put("page", page);
+ param.put("env_version", env_version.getVersion());
+
+ HttpRequest post = HttpUtil.createPost(url);
+ post.header(Header.CONTENT_TYPE, "application/json;charset=UTF-8");
+ post.body(JSON.toJSONString(param));
+ HttpResponse execute = post.execute();
+ byte[] bytes = execute.bodyBytes();
+ String body1 = execute.body();
+ System.err.println(body1);
+ System.err.println(Base64.encodeBase64String(bytes));
+ return new ByteArrayInputStream(bytes);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+ /**
+ * 获取微信小程序二维码
+ * @param page
+ * @param scene
+ * @param filePath
+ * @return
+ */
+ public String getwxacodeunlimit(String page, String scene, EnvVersion env_version, String filePath){
+ InputStream getwxacodeunlimit = getwxacodeunlimit(page, scene, env_version);
+// File file = FileUtil.writeFromStream(getwxacodeunlimit, new File(filePath));
+// return file.getPath();
+ return ObsUploadUtil.obsUpload("png", getwxacodeunlimit);
+ }
}
--
Gitblit v1.7.1