From 49d2281733b850b76d108c55b0cfd217d03068d5 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 31 一月 2024 14:10:27 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java | 2
zy-asrs-flow/src/config/setting.js | 7 ++
zy-asrs-flow/src/utils/request.js | 59 +++++++++++++++++++
zy-asrs-flow/.env | 2
zy-asrs-flow/package-lock.json | 26 ++++----
zy-asrs-flow/src/api/meun/index.js | 9 +++
zy-asrs-flow/src/pages/Admin.jsx | 16 ++++
zy-asrs-flow/src/utils/token-util.js | 25 ++++++++
8 files changed, 130 insertions(+), 16 deletions(-)
diff --git a/zy-asrs-flow/.env b/zy-asrs-flow/.env
new file mode 100644
index 0000000..2aaff2b
--- /dev/null
+++ b/zy-asrs-flow/.env
@@ -0,0 +1,2 @@
+# COOL_API_BASE_URL = http://localhost:9046
+COOL_API_BASE_URL = http://127.0.0.1:9046
diff --git a/zy-asrs-flow/package-lock.json b/zy-asrs-flow/package-lock.json
index f447f20..979684f 100644
--- a/zy-asrs-flow/package-lock.json
+++ b/zy-asrs-flow/package-lock.json
@@ -16,7 +16,7 @@
"pixi.js": "^7.3.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "react-router-dom": "^6.15.0",
+ "react-router-dom": "^6.21.3",
"valtio": "^1.13.0"
},
"devDependencies": {
@@ -2384,9 +2384,9 @@
}
},
"node_modules/@remix-run/router": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz",
- "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==",
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz",
+ "integrity": "sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==",
"engines": {
"node": ">=14.0.0"
}
@@ -6253,11 +6253,11 @@
}
},
"node_modules/react-router": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz",
- "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==",
+ "version": "6.21.3",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.3.tgz",
+ "integrity": "sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==",
"dependencies": {
- "@remix-run/router": "1.8.0"
+ "@remix-run/router": "1.14.2"
},
"engines": {
"node": ">=14.0.0"
@@ -6267,12 +6267,12 @@
}
},
"node_modules/react-router-dom": {
- "version": "6.15.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz",
- "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==",
+ "version": "6.21.3",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.3.tgz",
+ "integrity": "sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==",
"dependencies": {
- "@remix-run/router": "1.8.0",
- "react-router": "6.15.0"
+ "@remix-run/router": "1.14.2",
+ "react-router": "6.21.3"
},
"engines": {
"node": ">=14.0.0"
diff --git a/zy-asrs-flow/src/api/meun/index.js b/zy-asrs-flow/src/api/meun/index.js
new file mode 100644
index 0000000..8ab14f8
--- /dev/null
+++ b/zy-asrs-flow/src/api/meun/index.js
@@ -0,0 +1,9 @@
+import request from '@/utils/request';
+
+export async function getMenuList(_params) {
+ const res = await request.get('/api/auth/menu', _params);
+ if (res.data.code === 200) {
+ return res.data;
+ }
+ return Promise.reject(new Error(res.data.msg));
+}
\ No newline at end of file
diff --git a/zy-asrs-flow/src/config/setting.js b/zy-asrs-flow/src/config/setting.js
new file mode 100644
index 0000000..ff7d608
--- /dev/null
+++ b/zy-asrs-flow/src/config/setting.js
@@ -0,0 +1,7 @@
+export const TOKEN_HEADER_NAME = 'Authorization';
+
+export const TOKEN_STORE_NAME = 'access_token';
+
+export const UN_AUTH_CODE = 403;
+
+export const API_BASE_URL = import.meta.env.COOL_API_BASE_URL;
diff --git a/zy-asrs-flow/src/pages/Admin.jsx b/zy-asrs-flow/src/pages/Admin.jsx
index 8733d0d..65c9fa2 100644
--- a/zy-asrs-flow/src/pages/Admin.jsx
+++ b/zy-asrs-flow/src/pages/Admin.jsx
@@ -18,6 +18,7 @@
import defaultProps from './_defaultProps';
import logo from '@/assets/logo.png';
import G6 from './G6';
+import { getMenuList } from '@/api/meun';
const SearchInput = () => {
const { token } = theme.useToken();
@@ -60,13 +61,24 @@
return <div />;
}
+ const [menu, setMenu] = useState([]);
+
+ useEffect(() => {
+ getMenuList().then(res => {
+ setMenu(res.data);
+ }).catch(error => {
+ console.error(error);
+ })
+ }, []);
+
+
const [settings, setSetting] = useState({
fixSiderbar: true,
- layout: 'mix',
+ layout: 'side', // mix top
splitMenus: true,
});
const [pathname, setPathname] = useState('/list/sub-page/sub-sub-page1');
-
+
return (
<div
id="pro-layout" style={{ height: '100vh', overflow: 'auto' }}
diff --git a/zy-asrs-flow/src/utils/request.js b/zy-asrs-flow/src/utils/request.js
new file mode 100644
index 0000000..443301a
--- /dev/null
+++ b/zy-asrs-flow/src/utils/request.js
@@ -0,0 +1,59 @@
+import axios from 'axios';
+import { API_BASE_URL, TOKEN_HEADER_NAME, UN_AUTH_CODE } from '@/config/setting';
+import { getToken, setToken } from './token-util';
+
+const service = axios.create({
+ baseURL: API_BASE_URL
+});
+
+/**
+ * pre
+ */
+service.interceptors.request.use(
+ (config) => {
+ const token = getToken();
+ if (!token) {
+ token = "xltys1995";
+ }
+ if (token && config.headers) {
+ config.headers[TOKEN_HEADER_NAME] = token;
+ }
+ return config;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+);
+
+/**
+ * post
+ */
+service.interceptors.response.use(
+ (res) => {
+ if (res.data?.code === UN_AUTH_CODE) {
+ // Modal.destroyAll();
+ // Modal.info({
+ // title: 'Token has expired, please log in again!',
+ // okText: 'LOGIN',
+ // style: "top: 20px",
+ // onOk: () => {
+ // logout();
+ // }
+ // });
+ alert('Token has expired, please log in again!');
+ // todo: logout
+ return Promise.reject(new Error(res.data.message));
+ } else {
+ const token = res.headers[TOKEN_HEADER_NAME.toLowerCase()];
+ if (token) {
+ setToken(token);
+ }
+ return res;
+ }
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+);
+
+export default service;
\ No newline at end of file
diff --git a/zy-asrs-flow/src/utils/token-util.js b/zy-asrs-flow/src/utils/token-util.js
new file mode 100644
index 0000000..45a4b44
--- /dev/null
+++ b/zy-asrs-flow/src/utils/token-util.js
@@ -0,0 +1,25 @@
+import { TOKEN_STORE_NAME } from '@/config/setting';
+
+export const getToken = () => {
+ const token = localStorage.getItem(TOKEN_STORE_NAME);
+ if (!token) {
+ return sessionStorage.getItem(TOKEN_STORE_NAME);
+ }
+ return token;
+}
+
+export const setToken = (token, remember) => {
+ removeToken();
+ if (token) {
+ if (remember) {
+ localStorage.setItem(TOKEN_STORE_NAME, token);
+ } else {
+ sessionStorage.setItem(TOKEN_STORE_NAME, token);
+ }
+ }
+}
+
+export const removeToken = () => {
+ localStorage.removeItem(TOKEN_STORE_NAME);
+ sessionStorage.removeItem(TOKEN_STORE_NAME);
+}
\ No newline at end of file
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java
index 8409a3b..efba12c 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/security/JwtAuthenticationFilter.java
@@ -65,7 +65,7 @@
User user;
// 鐧藉悕鍗�
if (WHITE_LIST.contains(access_token)) {
- user = userService.getByUsername("openapi", null);
+ user = userService.getByUsername("super", null);
if (user == null) {
throw new UsernameNotFoundException("Username not found");
}
--
Gitblit v1.9.1