diff --git a/04.系统编码/Backend/pom.xml b/04.系统编码/Backend/pom.xml
index 2e327c8..ff03b82 100644
--- a/04.系统编码/Backend/pom.xml
+++ b/04.系统编码/Backend/pom.xml
@@ -51,6 +51,12 @@
1.0.29
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+ 2.12.3
+
+
com.madgag
@@ -58,6 +64,20 @@
1.4
+
+
+ org.apache.directory.studio
+ org.apache.commons.codec
+ 1.8
+
+
+
+
+ org.bouncycastle
+ bcprov-jdk15on
+ 1.59
+
+
diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/controller/UserController.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/controller/UserController.java
index e6d642e..a2e4721 100644
--- a/04.系统编码/Backend/src/main/java/com/userinformation/backend/controller/UserController.java
+++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/controller/UserController.java
@@ -1,8 +1,11 @@
package com.userinformation.backend.controller;
import com.alibaba.druid.util.StringUtils;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.userinformation.backend.model.dao.User;
import com.userinformation.backend.service.UserService;
+import com.userinformation.backend.util.Coder;
import com.userinformation.backend.util.RequestResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -13,17 +16,19 @@ import java.util.Objects;
@RestController
@RequestMapping("user")
public class UserController {
- private final UserService userService;
+ private final ObjectMapper objectMapper = new ObjectMapper();
+ private final UserService userService;
public UserController(UserService userService) { this.userService = userService; }
@RequestMapping("userLogin")
- public RequestResult userLogin(String userAccountNumber, String userPassword){
- User user = userService.userLogin(userAccountNumber, userPassword);
+ public RequestResult userLogin(String data) throws Exception {
+ User paramUser = objectMapper.readValue(Coder.decrypt(data, Coder.DEFAULT_KEY), User.class);
+ User user = userService.userLogin(paramUser.getUserAccountNumber(), paramUser.getUserPassword());
if(user == null){
return RequestResult.fail("用户名或密码错误");
}
- return RequestResult.success(userService.userLogin(userAccountNumber, userPassword));
+ return RequestResult.success(user);
}
@RequestMapping("findUserCount")
@@ -32,8 +37,8 @@ public class UserController {
}
@RequestMapping("findAllUser")
- public RequestResult findAllUserPage(Integer current, Integer size){
- return RequestResult.success(userService.findAllUserPage(current, size));
+ public RequestResult findAllUserPage(Integer current, Integer size) throws Exception {
+ return RequestResult.success(Coder.encrypt(objectMapper.writeValueAsString(userService.findAllUserPage(current, size)), Coder.DEFAULT_KEY));
}
@RequestMapping("findUserByUserAccountNumber")
@@ -42,12 +47,13 @@ public class UserController {
}
@RequestMapping("findUserByUserName")
- public RequestResult findUserByUserName(String userName, Integer current, Integer size){
- return RequestResult.success(userService.findUserByUserName(userName, current, size));
+ public RequestResult findUserByUserName(String userName, Integer current, Integer size) throws Exception {
+ return RequestResult.success(Coder.encrypt(objectMapper.writeValueAsString(userService.findUserByUserName(userName, current, size)), Coder.DEFAULT_KEY));
}
@RequestMapping("insertUser")
- public RequestResult insertUser(@RequestBody User user){
+ public RequestResult insertUser(String data) throws Exception {
+ User user = objectMapper.readValue(Coder.decrypt(data, Coder.DEFAULT_KEY), User.class);
return RequestResult.success(userService.insertUser(user));
}
@@ -57,7 +63,8 @@ public class UserController {
}
@RequestMapping("updateUser")
- public RequestResult updateUser(@RequestBody User user){
+ public RequestResult updateUser(String data) throws Exception {
+ User user = objectMapper.readValue(Coder.decrypt(data, Coder.DEFAULT_KEY), User.class);
return RequestResult.success(userService.updateUser(user));
}
}
diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/handler/GlobalDefaultExceptionHandler.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/handler/GlobalDefaultExceptionHandler.java
index 3cd93eb..b9bbefe 100644
--- a/04.系统编码/Backend/src/main/java/com/userinformation/backend/handler/GlobalDefaultExceptionHandler.java
+++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/handler/GlobalDefaultExceptionHandler.java
@@ -1,5 +1,7 @@
package com.userinformation.backend.handler;
+import javax.crypto.BadPaddingException;
+
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@@ -9,6 +11,14 @@ import com.userinformation.backend.util.RequestResult;
@ControllerAdvice
@Slf4j
public class GlobalDefaultExceptionHandler {
+
+ @ExceptionHandler(BadPaddingException.class)
+ @ResponseBody
+ public RequestResult defaultBadPaddingExceptionHandler(BadPaddingException e) {
+ log.error("An error has occurred", e);
+ return RequestResult.fail("加密参数不合法,请重新请求");
+ }
+
@ExceptionHandler(Exception.class)
@ResponseBody
public RequestResult defaultExceptionHandler(Exception e) {
diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/model/dao/User.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/model/dao/User.java
index bce0ca6..230b873 100644
--- a/04.系统编码/Backend/src/main/java/com/userinformation/backend/model/dao/User.java
+++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/model/dao/User.java
@@ -5,10 +5,16 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import java.time.LocalDateTime;
+import org.springframework.format.annotation.DateTimeFormat;
+
@Data
@TableName("user")
public class User {
@@ -28,5 +34,8 @@ public class User {
private int userState;
@TableField("user_registration_date")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
+ @JsonSerialize(using = LocalDateTimeSerializer.class)
+ @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime userRegistrationDate;
}
diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/util/BtoAAtoB.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/util/BtoAAtoB.java
new file mode 100644
index 0000000..0f687f1
--- /dev/null
+++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/util/BtoAAtoB.java
@@ -0,0 +1,122 @@
+package com.userinformation.backend.util;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+
+public class BtoAAtoB {
+
+
+
+ private static String base64hash = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+
+ public static boolean isMatcher(String inStr ,String reg){
+ Pattern pattern = Pattern.compile(reg);
+ Matcher matcher = pattern.matcher(inStr);
+ if(matcher.matches()){
+ return true;
+ }
+ return false;
+ }
+ /**
+ * btoa method
+ * @param inStr
+ * @return
+ */
+ public static String btoa(String inStr){
+// if (/([^\u0000-\u00ff])/.test(s)) {
+// throw new Error('INVALID_CHARACTER_ERR');
+// }
+ if(inStr == null || isMatcher(inStr ,"([^\\u0000-\\u00ff])")){
+ return null;
+ }
+ StringBuilder result = new StringBuilder();
+ int i=0;
+ int mod=0;
+ int ascii;
+ int prev=0;
+ while (i < inStr.length()){
+ ascii = inStr.charAt(i);
+ mod = i % 3;
+
+
+ switch(mod){
+ case 0:
+ result.append(String.valueOf(base64hash.charAt(ascii >> 2)));
+ break;
+ case 1:
+ result.append(String.valueOf(base64hash.charAt((prev & 3) << 4 | (ascii >> 4))));
+ break;
+ case 2:
+ result.append(String.valueOf(base64hash.charAt((prev & 0x0f) << 2 | (ascii >> 6))));
+ result.append(String.valueOf(base64hash.charAt(ascii & 0x3f)));
+ break;
+ }
+
+
+ prev = ascii;
+ i++;
+ }
+
+
+ if(mod == 0) {
+ result.append(String.valueOf(base64hash.charAt((prev & 3) << 4)));
+ result.append("==");
+ } else if (mod == 1) {
+ result.append(String.valueOf(base64hash.charAt((prev & 0x0f) << 2)));
+ result.append("=");
+ }
+
+
+ return result.toString();
+ }
+
+
+ /**
+ * // atob method
+ // 逆转encode的思路即可
+ * @param inStr
+ * @return
+ */
+ public static String atob(String inStr){
+ if(inStr == null) return null;
+ //s = s.replace(/\s|=/g, '');
+ inStr = inStr.replaceAll("\\s|=", "");
+ StringBuilder result = new StringBuilder();
+ int cur;
+ int prev=-1;
+// Integer prev=null;
+ int mod;
+ int i=0;
+ while (i < inStr.length()){
+ cur = base64hash.indexOf(inStr.charAt(i));
+ mod = i % 4;
+ switch (mod){
+ case 0:
+ break;
+ case 1:
+ result.append(String.valueOf( (char)( prev << 2 | cur >> 4 ) ));
+ break;
+ case 2:
+ result.append(String.valueOf((char)( (prev & 0x0f) << 4 | cur >> 2) ));
+ break;
+ case 3:
+ result.append(String.valueOf( (char)((prev & 3) << 6 | cur) ));
+ break;
+ }
+ prev = cur;
+ i++;
+ }
+
+
+
+
+ return result.toString();
+ }
+
+
+
+
+
+
+}
diff --git a/04.系统编码/Backend/src/main/java/com/userinformation/backend/util/Coder.java b/04.系统编码/Backend/src/main/java/com/userinformation/backend/util/Coder.java
new file mode 100644
index 0000000..c02dfc8
--- /dev/null
+++ b/04.系统编码/Backend/src/main/java/com/userinformation/backend/util/Coder.java
@@ -0,0 +1,121 @@
+package com.userinformation.backend.util;
+
+import javax.crypto.Cipher;
+import javax.crypto.spec.SecretKeySpec;
+import java.nio.charset.StandardCharsets;
+import java.security.SecureRandom;
+import java.util.Random;
+
+import org.apache.commons.codec.binary.Base64;
+
+/**
+ * @describe: Aes加密
+ * @author: xiaowuler
+ * @createTime: 2021-12-07 16:59
+ */
+public class Coder {
+
+ public static final String DEFAULT_KEY = "XiaowuleVeryCool";
+
+ /**
+ * 加密算法AES
+ */
+ private static final String KEY_ALGORITHM = "AES";
+
+ /**
+ * key的长度,Wrong key size: must be equal to 128, 192 or 256
+ * 传入时需要16、24、36
+ */
+ private static final Integer KEY_LENGTH = 16 * 8;
+
+ /**
+ * 算法名称/加密模式/数据填充方式
+ * 默认:AES/ECB/PKCS5Padding
+ */
+ private static final String ALGORITHMS = "AES/ECB/PKCS5Padding";
+
+ /**
+ * 后端AES的key,由静态代码块赋值
+ */
+ public static String key;
+
+ static {
+ key = getKey();
+ }
+
+ /**
+ * 获取key
+ */
+ public static String getKey() {
+ StringBuilder uid = new StringBuilder();
+ //产生16位的强随机数
+ Random rd = new SecureRandom();
+ for (int i = 0; i < KEY_LENGTH / 8; i++) {
+ //产生0-2的3位随机数
+ int type = rd.nextInt(3);
+ switch (type) {
+ case 0:
+ //0-9的随机数
+ uid.append(rd.nextInt(10));
+ break;
+ case 1:
+ //ASCII在65-90之间为大写,获取大写随机
+ uid.append((char) (rd.nextInt(25) + 65));
+ break;
+ case 2:
+ //ASCII在97-122之间为小写,获取小写随机
+ uid.append((char) (rd.nextInt(25) + 97));
+ break;
+ default:
+ break;
+ }
+ }
+ return uid.toString();
+ }
+
+ /**
+ * 加密
+ *
+ * @param content 加密的字符串
+ * @param encryptKey key值
+ */
+ public static String encrypt(String content, String encryptKey) throws Exception {
+ //设置Cipher对象
+ Cipher cipher = Cipher.getInstance(ALGORITHMS, getInstance());
+ cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(encryptKey.getBytes(), KEY_ALGORITHM));
+
+ //调用doFinal
+ byte[] b = cipher.doFinal(content.getBytes(StandardCharsets.UTF_8));
+
+ // 转base64
+ return Base64.encodeBase64String(b);
+
+ }
+
+ /**
+ * 解密
+ *
+ * @param encryptStr 解密的字符串
+ * @param decryptKey 解密的key值
+ */
+ public static String decrypt(String encryptStr, String decryptKey) throws Exception {
+ //base64格式的key字符串转byte
+ byte[] decodeBase64 = Base64.decodeBase64(encryptStr);
+ //设置Cipher对象
+ Cipher cipher = Cipher.getInstance(ALGORITHMS, getInstance());
+ cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), KEY_ALGORITHM));
+
+ //调用doFinal解密
+ byte[] decryptBytes = cipher.doFinal(decodeBase64);
+ return new String(decryptBytes);
+ }
+
+ private static org.bouncycastle.jce.provider.BouncyCastleProvider bouncyCastleProvider = null;
+
+ public static synchronized org.bouncycastle.jce.provider.BouncyCastleProvider getInstance() {
+ if (bouncyCastleProvider == null) {
+ bouncyCastleProvider = new org.bouncycastle.jce.provider.BouncyCastleProvider();
+ }
+ return bouncyCastleProvider;
+ }
+}
diff --git a/04.系统编码/Backend/src/main/resources/application.yml b/04.系统编码/Backend/src/main/resources/application.yml
index 73d76a2..4ba9876 100644
--- a/04.系统编码/Backend/src/main/resources/application.yml
+++ b/04.系统编码/Backend/src/main/resources/application.yml
@@ -1,5 +1,6 @@
server:
port: 8002
+# port: 8082
spring:
datasource:
url: jdbc:mysql://112.124.40.88:33306/user_information?useUnicode=true&characteEncoding=utf-8
@@ -7,13 +8,18 @@ spring:
password: 3cqscbr@only1
# url: jdbc:mysql://10.124.102.10:3306/user_information?useUnicode=true&characteEncoding=utf-8
# username: root
+# password: Njsqxj_sthj@2021
+# url: jdbc:mysql://192.168.6.6:3306/njsthj?useUnicode=true&characteEncoding=utf-8
+# username: njsthj
# password: Njsqxj_sthj@2021
driver-class-name: com.mysql.cj.jdbc.Driver
custom:
image:
- url: ${custom.parent-url}:8002/product
- path: D:/Deployments/LamanRadar/product
+ url: ${custom.parent-url}:${server.port}/product
gifPath: ${custom.image.path}/gif
- parent-url: http://112.124.40.88
+# path: D:/Deployments/LamanRadar/product
+# parent-url: http://112.124.40.88
# path: /home/project/NJEnvironmentPlatform/html/product
# parent-url: http://10.124.102.10
+ path: /home/develop/product
+ parent-url: http://rdp.nagr.com.cn
diff --git a/04.系统编码/Backend/src/test/java/com/userinformation/backend/UserInformationApplicationTests.java b/04.系统编码/Backend/src/test/java/com/userinformation/backend/UserInformationApplicationTests.java
index 077638d..25dee09 100644
--- a/04.系统编码/Backend/src/test/java/com/userinformation/backend/UserInformationApplicationTests.java
+++ b/04.系统编码/Backend/src/test/java/com/userinformation/backend/UserInformationApplicationTests.java
@@ -1,17 +1,10 @@
package com.userinformation.backend;
-import javax.imageio.ImageIO;
-
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import com.userinformation.backend.controller.ImageController;
+import com.userinformation.backend.util.Coder;
@SpringBootTest
class UserInformationApplicationTests {
@@ -20,15 +13,17 @@ class UserInformationApplicationTests {
private ImageController imageController;
@Test
- void contextLoads() throws IOException {
-
- List files = new ArrayList<>(){{
- add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_RAIN.png");
- add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_Q2.png");
- add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_T2.png");
- add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_TN.png");
- add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_TX.png");
- }};
+ void contextLoads() throws Exception {
+ String result = Coder.decrypt("uVrfL42raAuOFIgASm1rhmg3xslRQWLRdvLK/jNElVxgm0mYldAXHWXe2ygUdkmZgKwuTQU8F4ntEeeHG+8Bcg==", "xiaowulezhencool");
+// String result = BtoAAtoB.atob("JTdCJTIydXNlckFjY291bnROdW1iZXIlMjI6JTIyYWRtaW4lMjIsJTIydXNlclBhc3N3b3JkJTIyOiUyMjEyMzQ1NiUyMiU3RA==");
+ System.out.println();
+// List files = new ArrayList<>(){{
+// add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_RAIN.png");
+// add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_Q2.png");
+// add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_T2.png");
+// add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_TN.png");
+// add("C:\\Users\\xiaowuler\\Desktop\\images (2)\\TFLD_TX.png");
+// }};
// imageController.createGif(files);
// File inputFile = new File("C:\\Users\\xiaowuler\\Desktop\\images\\decision-support\\plan-advice\\control-experiment\\TFLD_Q2.tif");
diff --git a/04.系统编码/Backend/部署.md b/04.系统编码/Backend/部署.md
index 6452b9d..01da178 100644
--- a/04.系统编码/Backend/部署.md
+++ b/04.系统编码/Backend/部署.md
@@ -3,4 +3,7 @@
```
nohup /usr/local/java/jdk-15/bin/java -jar UserInformation-0.0.1-SNAPSHOT.jar &
```
+```
+nohup /home/develop/jdk-15/bin/java -jar UserInformation-0.0.1-SNAPSHOT.jar &
+```
diff --git a/04.系统编码/Frontend/package-lock.json b/04.系统编码/Frontend/package-lock.json
index 6d881dc..f1f9b81 100644
--- a/04.系统编码/Frontend/package-lock.json
+++ b/04.系统编码/Frontend/package-lock.json
@@ -385,9 +385,9 @@
"dev": true
},
"@types/node": {
- "version": "16.11.10",
- "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-16.11.10.tgz",
- "integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==",
+ "version": "16.11.12",
+ "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-16.11.12.tgz",
+ "integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==",
"dev": true
},
"@types/qs": {
@@ -875,6 +875,11 @@
"which": "^2.0.1"
}
},
+ "crypto-js": {
+ "version": "4.1.1",
+ "resolved": "https://registry.nlark.com/crypto-js/download/crypto-js-4.1.1.tgz",
+ "integrity": "sha1-nkhbzwNSEEG9hYRHhrg/t2GXNs8="
+ },
"csstype": {
"version": "2.6.19",
"resolved": "https://registry.npmmirror.com/csstype/download/csstype-2.6.19.tgz?cache=0&sync_timestamp=1637224507298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.19.tgz",
@@ -1503,6 +1508,11 @@
"supports-color": "^7.0.0"
}
},
+ "js-md5": {
+ "version": "0.7.3",
+ "resolved": "https://registry.nlark.com/js-md5/download/js-md5-0.7.3.tgz",
+ "integrity": "sha1-tPL7sLMnRV9ZjWcn447Ccs0Jw/I="
+ },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz",
diff --git a/04.系统编码/Frontend/package.json b/04.系统编码/Frontend/package.json
index 7cecb78..2f59800 100644
--- a/04.系统编码/Frontend/package.json
+++ b/04.系统编码/Frontend/package.json
@@ -9,7 +9,9 @@
"axios": "^0.21.4",
"browser-tiff.js": "^1.0.1",
"element-plus": "^1.2.0-beta.4",
+ "js-md5": "^0.7.3",
"moment": "^2.29.1",
+ "crypto-js": "^4.1.1",
"qs": "^6.10.1",
"typescript": "^4.5.2",
"vue": "^3.0.4",
diff --git a/04.系统编码/Frontend/src/components/Login.vue b/04.系统编码/Frontend/src/components/Login.vue
index d93628c..afaa4b2 100644
--- a/04.系统编码/Frontend/src/components/Login.vue
+++ b/04.系统编码/Frontend/src/components/Login.vue
@@ -24,6 +24,7 @@ import { post } from "./../uilts/axios";
import { useRouter } from "vue-router"
import { ElMessage } from 'element-plus'
import { setStaff } from "../uilts/storage";
+import { encrypt } from '../uilts/Coder';
export default {
name: 'Login',
@@ -60,9 +61,13 @@ export default {
type: 'warning'
})
}else {
- post("user/userLogin",{
+ let params = {
userAccountNumber: option.inputName,
userPassword: option.inputPassword
+ };
+
+ post("user/userLogin",{
+ data: encrypt(params)
}).then((res :any)=>{
if (res.error !=0){
ElMessage.error({
diff --git a/04.系统编码/Frontend/src/components/SystemManagement.vue b/04.系统编码/Frontend/src/components/SystemManagement.vue
index bd1eeea..51329a9 100644
--- a/04.系统编码/Frontend/src/components/SystemManagement.vue
+++ b/04.系统编码/Frontend/src/components/SystemManagement.vue
@@ -92,6 +92,7 @@
import {post} from "../uilts/axios";
import {ElMessage} from 'element-plus'
import {format} from '../uilts/String';
+import { decrypt, encrypt } from '../uilts/Coder';
export default {
name: 'SystemManagement',
@@ -125,8 +126,9 @@ export default {
current: option.current,
size: option.size
}).then((res: any) => {
- option.tableData = res.data.records;
- option.total = res.data.total;
+ const data = decrypt(res.data);
+ option.tableData = data.records;
+ option.total = data.total;
})
}
@@ -223,7 +225,7 @@ export default {
const submit = () => {
if (verify()) return;
if (option.title === '修改信息') {
- post("user/updateUser", option.form, "application/json").then((res: any) => {
+ post("user/updateUser", {data: encrypt(option.form)}).then((res: any) => {
option.dialogFormVisible = false
if (res.error != 0) {
ElMessage.error({
@@ -243,7 +245,7 @@ export default {
if (option.title === '添加用户') {
if (verify()) return;
- post("user/insertUser", option.form, "application/json").then((res: any) => {
+ post("user/insertUser", {data: encrypt(option.form)}).then((res: any) => {
option.dialogFormVisible = false
if (res.error != 0) {
ElMessage.error({
diff --git a/04.系统编码/Frontend/src/postcss.config.ts b/04.系统编码/Frontend/src/postcss.config.ts
new file mode 100644
index 0000000..4e9b2fa
--- /dev/null
+++ b/04.系统编码/Frontend/src/postcss.config.ts
@@ -0,0 +1,5 @@
+module.exports = {
+ plugins: {
+ 'autoprefixer': {browsers: 'last 5 version'}
+ }
+}
\ No newline at end of file
diff --git a/04.系统编码/Frontend/src/tes.babelrc b/04.系统编码/Frontend/src/tes.babelrc
new file mode 100644
index 0000000..18f65e7
--- /dev/null
+++ b/04.系统编码/Frontend/src/tes.babelrc
@@ -0,0 +1,6 @@
+{
+ "presets": [
+ ["es2015", { "modules": false }]
+ ],
+ "plugins": ["transform-object-rest-spread"] //不能解析es6语法关键解决
+}
\ No newline at end of file
diff --git a/04.系统编码/Frontend/src/uilts/Coder.ts b/04.系统编码/Frontend/src/uilts/Coder.ts
new file mode 100644
index 0000000..1d191fe
--- /dev/null
+++ b/04.系统编码/Frontend/src/uilts/Coder.ts
@@ -0,0 +1,25 @@
+var CryptoJS: any;
+import("crypto-js").then((response) => {
+ CryptoJS = response;
+});
+const defaultKey = "XiaowuleVeryCool";
+
+export function encrypt(plaintext, key: string = defaultKey) {
+ if (plaintext instanceof Object) {
+ //JSON.stringify
+ plaintext = JSON.stringify(plaintext)
+ }
+ let encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(plaintext), CryptoJS.enc.Utf8.parse(key), {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
+ return encrypted.toString();
+}
+
+//解密
+export function decrypt(ciphertext, key: string = defaultKey) {
+ let decrypt = CryptoJS.AES.decrypt(ciphertext, CryptoJS.enc.Utf8.parse(key), {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
+ let decString = CryptoJS.enc.Utf8.stringify(decrypt).toString();
+ if(decString.charAt(0) === "{" || decString.charAt(0) === "[" ){
+ //JSON.parse
+ decString = JSON.parse(decString);
+ }
+ return decString;
+}
\ No newline at end of file
diff --git a/04.系统编码/Frontend/src/uilts/Config.ts b/04.系统编码/Frontend/src/uilts/Config.ts
index 5bdd79a..649d721 100644
--- a/04.系统编码/Frontend/src/uilts/Config.ts
+++ b/04.系统编码/Frontend/src/uilts/Config.ts
@@ -2,8 +2,9 @@ import { Moment } from "moment";
import { format } from "./String";
export class Config {
- public static parentUrl: string = "http://112.124.40.88:8002/product/picture";
+ // public static parentUrl: string = "http://112.124.40.88:8002/product/picture";
// public static parentUrl: string = "http://10.124.102.10:8002/product/picture";
+ public static parentUrl: string = "http://rdp.nagr.com.cn:8082/product/picture";
}
export class MicrowaveRadiationConfig {
diff --git a/04.系统编码/Frontend/src/uilts/axios.ts b/04.系统编码/Frontend/src/uilts/axios.ts
index 06a683a..f3c7cbe 100644
--- a/04.系统编码/Frontend/src/uilts/axios.ts
+++ b/04.系统编码/Frontend/src/uilts/axios.ts
@@ -5,7 +5,9 @@ import { ElLoading } from 'element-plus'
let loading = null;
const service = axios.create({
- baseURL:"http://112.124.40.88:8002",
+ // baseURL:"http://112.124.40.88:8002",
+ // baseURL: '',
+ baseURL: 'http://localhost:8002',
timeout: 500000
})