From 9c4b38c6382b2a33d1716c962553ece34e4913f5 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 17 十月 2024 10:03:28 +0800
Subject: [PATCH] 合并代码
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java | 46 ++++++++++++++++++++++++++++++++++------------
1 files changed, 34 insertions(+), 12 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
index b640f7d..4a70696 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
@@ -15,6 +15,7 @@
import com.ruoyi.account.wx.pojo.AppletUserEncrypteData;
import com.ruoyi.account.wx.tools.WxAppletTools;
import com.ruoyi.account.wx.tools.WxUtils;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.FileUploadUtils;
import com.ruoyi.common.core.utils.StringUtils;
@@ -30,13 +31,14 @@
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
-import org.springframework.mock.web.MockMultipartFile;
+//import org.springframework.mock.web.MockMultipartFile;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
+import javax.annotation.Resource;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -63,16 +65,23 @@
private WeixinProperties wxConfig;
@Autowired
private RestTemplate wxRestTemplate;
+ @Resource
+ private RedisService redisService;
+
/**
* 上传文件存储在本地的根路径
*/
- @Value("${file.path}")
+ @Value("${file.upload.location}")
private String localFilePath;
+
+
+
+
@ApiOperation(value = "通过code获得openid,获取用户信息",tags = {"微信小程序登录"})
@PostMapping("/openIdByJsCode")
public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserEncrypteData data) {
log.info("<<<<<<<<换取openid开始<<<<<<<<:{}", data.getCode());
- WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig);
+ WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisService);
Code2SessionRespBody body = appletTools.getOpenIdByJscode2session(new Code2SessionResqBody().build(data.getCode()));
String openid = body.getOpenid();
String sessionKey = body.getSessionKey();
@@ -99,15 +108,17 @@
public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserDecodeData appletUserDecodeData) {
return AjaxResult.success(appUserService.wxLogin(appletUserDecodeData, null));
}
- public static MultipartFile convertInputStreamToMultipartFile(InputStream inputStream, String fileName, String contentType) throws IOException {
- return new MockMultipartFile(fileName, fileName, contentType, inputStream);
- }
+
+// public static MultipartFile convertInputStreamToMultipartFile(InputStream inputStream, String fileName, String contentType) throws IOException {
+// return new MockMultipartFile(fileName, fileName, contentType, inputStream);
+// }
+
@ApiOperation(value = "获取微信小程序二维码",tags = {"获取微信小程序二维码"})
@PostMapping("/getQRCode")
public AjaxResult getQRCode() {
InputStream inputStream = null;
OutputStream outputStream = null;
- WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig);
+ WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisService);
String accessToken = appletTools.getAccessToken("");
try {
String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken;
@@ -132,10 +143,10 @@
System.err.println(Base64.encodeBase64String(result));
inputStream = new ByteArrayInputStream(result);
String finalFileName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + ".jpeg";
- MultipartFile multipartFile = convertInputStreamToMultipartFile(inputStream, finalFileName, "image/jpeg");
- String name = FileUploadUtils.upload(localFilePath, multipartFile);
- System.err.println(name);
- return AjaxResult.success(name);
+// MultipartFile multipartFile = convertInputStreamToMultipartFile(inputStream, finalFileName, "image/jpeg");
+// String name = FileUploadUtils.upload(localFilePath, multipartFile);
+// System.err.println(name);
+ return AjaxResult.success(null);
} catch (Exception e) {
System.err.println("调用小程序生成微信永久小程序码URL接口异常" + e);
} finally {
@@ -156,5 +167,16 @@
}
return AjaxResult.success();
}
-
+
+
+ /**
+ * 获取微信token
+ * @return
+ */
+ @PostMapping("/getWXToken")
+ public R<String> getWXToken(){
+ WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisService);
+ String accessToken = appletTools.getAccessToken("");
+ return R.ok(accessToken);
+ }
}
--
Gitblit v1.7.1