From d543979a0c5f955a033c91aedccbece33e9803dc Mon Sep 17 00:00:00 2001
From: baiJinjin <66710700+baiJinjin@users.noreply.github.com>
Date: Sun, 24 Sep 2023 11:11:12 +0800
Subject: [PATCH] add router and edit request (#1477)
* Add user log item Manage
* edit Item Management
* merge from develop
* add router
* add router
* edit logmanage
* edit tenant
---
threadpool/console-new/src/App.tsx | 21 ++++
.../src/config/i18n/locales/constants.ts | 4 +
.../console-new/src/config/i18n/locales/en.ts | 4 +
.../console-new/src/config/i18n/locales/zh.ts | 4 +
.../src/config/theme/default-algnorithm.ts | 12 +-
threadpool/console-new/src/index.tsx | 7 +-
.../console-new/src/page/item/create.tsx | 33 ++++++
.../console-new/src/page/item/index.tsx | 47 +++++---
.../console-new/src/page/item/service.ts | 6 -
.../console-new/src/page/log/detail.tsx | 33 ++++++
threadpool/console-new/src/page/log/index.tsx | 108 +++++++++---------
.../console-new/src/page/log/service.ts | 65 +----------
.../console-new/src/page/tenant/index.tsx | 30 ++---
.../console-new/src/page/tenant/service.ts | 6 -
threadpool/console-new/src/route/index.tsx | 17 ++-
.../console-new/src/utils/common/index.ts | 12 +-
.../console-new/src/utils/request/index.ts | 9 +-
17 files changed, 249 insertions(+), 169 deletions(-)
create mode 100644 threadpool/console-new/src/page/item/create.tsx
create mode 100644 threadpool/console-new/src/page/log/detail.tsx
diff --git a/threadpool/console-new/src/App.tsx b/threadpool/console-new/src/App.tsx
index 3dba11da..52ecb4b8 100644
--- a/threadpool/console-new/src/App.tsx
+++ b/threadpool/console-new/src/App.tsx
@@ -1,3 +1,4 @@
+// import { Suspense } from 'react';
import LayoutCom from './components/layout-com';
import { Routes, Route, Link } from 'react-router-dom';
import routeList from './route';
@@ -18,6 +19,26 @@ const App = () => {
{ label: {useTran(STR_MAP.THREAD_POOL)}, key: '/thread-poll/index' },
],
},
+ {
+ label: {useTran(STR_MAP.TENANT_MANAGE)},
+ key: STR_MAP.TENANT_MANAGE,
+ icon: ,
+ },
+ {
+ label: {useTran(STR_MAP.PROJECT_MANAGE)},
+ key: STR_MAP.PROJECT_MANAGE,
+ icon: ,
+ },
+ {
+ label: {useTran(STR_MAP.USER_MANAGE)},
+ key: STR_MAP.USER_MANAGE,
+ icon: ,
+ },
+ {
+ label: {useTran(STR_MAP.LOG_MANAGE)},
+ key: STR_MAP.LOG_MANAGE,
+ icon: ,
+ },
];
return (
diff --git a/threadpool/console-new/src/config/i18n/locales/constants.ts b/threadpool/console-new/src/config/i18n/locales/constants.ts
index 84fe02d5..8632ba92 100644
--- a/threadpool/console-new/src/config/i18n/locales/constants.ts
+++ b/threadpool/console-new/src/config/i18n/locales/constants.ts
@@ -17,4 +17,8 @@ export enum STR_MAP {
CREATION_TIME = 'creationTime',
UPDATE_TIME = 'update time',
EDIT = 'edit',
+ TENANT_MANAGE = 'tenantManage',
+ LOG_MANAGE = 'logManage',
+ PROJECT_MANAGE = 'projectManage',
+ USER_MANAGE = 'userManage',
}
diff --git a/threadpool/console-new/src/config/i18n/locales/en.ts b/threadpool/console-new/src/config/i18n/locales/en.ts
index ab05675d..45be09f0 100644
--- a/threadpool/console-new/src/config/i18n/locales/en.ts
+++ b/threadpool/console-new/src/config/i18n/locales/en.ts
@@ -19,6 +19,10 @@ const enTranslationMap: { [key: string]: string } = {
[STR_MAP.CREATION_TIME]: 'creation time',
[STR_MAP.UPDATE_TIME]: 'update time',
[STR_MAP.EDIT]: 'edit',
+ [STR_MAP.TENANT_MANAGE]: 'tenant management',
+ [STR_MAP.PROJECT_MANAGE]: 'project management',
+ [STR_MAP.USER_MANAGE]: 'user management',
+ [STR_MAP.LOG_MANAGE]: 'log management',
};
export default enTranslationMap;
diff --git a/threadpool/console-new/src/config/i18n/locales/zh.ts b/threadpool/console-new/src/config/i18n/locales/zh.ts
index 05544c3b..301d4a4b 100644
--- a/threadpool/console-new/src/config/i18n/locales/zh.ts
+++ b/threadpool/console-new/src/config/i18n/locales/zh.ts
@@ -19,6 +19,10 @@ const zhTranslationMap: { [key: string]: string } = {
[STR_MAP.CREATION_TIME]: '创建时间',
[STR_MAP.UPDATE_TIME]: '更新时间',
[STR_MAP.EDIT]: '操作',
+ [STR_MAP.TENANT_MANAGE]: '租户管理',
+ [STR_MAP.PROJECT_MANAGE]: '项目管理',
+ [STR_MAP.USER_MANAGE]: '用户管理',
+ [STR_MAP.LOG_MANAGE]: '日志管理',
};
export default zhTranslationMap;
diff --git a/threadpool/console-new/src/config/theme/default-algnorithm.ts b/threadpool/console-new/src/config/theme/default-algnorithm.ts
index b22cbcaf..bcb8e6b9 100644
--- a/threadpool/console-new/src/config/theme/default-algnorithm.ts
+++ b/threadpool/console-new/src/config/theme/default-algnorithm.ts
@@ -25,12 +25,12 @@ export const defaultAlgorithm = {
// paddingContentVerticalLG: 4,
},
Modal: {
- borderRadiusLG: 2,
- borderRadiusSM: 2,
- colorText: lightDefaultTheme.fontColor.fc3,
- borderRadius: 2,
- paddingContentHorizontalLG: 0,
- paddingMD: 0,
+ // borderRadiusLG: 2,
+ // borderRadiusSM: 2,
+ // colorText: lightDefaultTheme.fontColor.fc3,
+ // borderRadius: 2,
+ // paddingContentHorizontalLG: 0,
+ // paddingMD: 0,
},
Menu: {
itemBg: lightDefaultTheme.backgroundColor.bg1,
diff --git a/threadpool/console-new/src/index.tsx b/threadpool/console-new/src/index.tsx
index 682dd7f7..f46fb217 100644
--- a/threadpool/console-new/src/index.tsx
+++ b/threadpool/console-new/src/index.tsx
@@ -1,10 +1,11 @@
-import React from 'react';
+import React, { Suspense } from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import { BrowserRouter } from 'react-router-dom';
import { MyStore } from './context';
import './config/i18n';
import 'antd/dist/reset.css';
+import { Spin } from 'antd';
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);
@@ -14,7 +15,9 @@ root.render(
{/* theme context */}
{/* theme config context */}
-
+ }>
+
+
diff --git a/threadpool/console-new/src/page/item/create.tsx b/threadpool/console-new/src/page/item/create.tsx
new file mode 100644
index 00000000..860aef60
--- /dev/null
+++ b/threadpool/console-new/src/page/item/create.tsx
@@ -0,0 +1,33 @@
+import { useRequest } from 'ahooks';
+import { Form, Modal, Input, Select } from 'antd';
+import React from 'react';
+import { fetchTenantList } from '../tenant/service';
+
+const ItemCreate: React.FC<{
+ type: string;
+ data: any;
+ visible: boolean;
+ onClose: () => void;
+}> = props => {
+ const { visible, onClose, data, type } = props;
+ const { data: tenant } = useRequest(fetchTenantList);
+ console.log('tenant', tenant);
+
+ return (
+
+
+ {/* */}
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default ItemCreate;
diff --git a/threadpool/console-new/src/page/item/index.tsx b/threadpool/console-new/src/page/item/index.tsx
index 8684894a..ea506206 100644
--- a/threadpool/console-new/src/page/item/index.tsx
+++ b/threadpool/console-new/src/page/item/index.tsx
@@ -1,27 +1,37 @@
import { useAntdTable } from 'ahooks';
-import { Button, Form, Input, Row, Space, Table, Col } from 'antd';
+import { Button, Form, Input, Row, Space, Table, Col, Modal } from 'antd';
import { SearchOutlined, EditOutlined } from '@ant-design/icons';
import React, { useState } from 'react';
import { fetchItemList } from './service';
import { useUrlSet } from '@/hooks/useUrlSet';
import style from './index.module.less';
+import ItemCreate from './create';
const baseColumns = [
{
title: '序号',
dataIndex: 'index',
+ with: 200,
},
{
title: '租户',
dataIndex: 'tenantId',
+ with: 200,
+ },
+ {
+ title: '项目',
+ dataIndex: 'itemId',
+ with: 200,
},
{
title: '项目名称',
dataIndex: 'itemName',
+ with: 200,
},
{
title: '负责人',
dataIndex: 'owner',
+ with: 200,
},
{
title: '修改时间',
@@ -32,37 +42,44 @@ const baseColumns = [
const Tenant: React.FC = () => {
const [editVisible, setEditVisible] = useState(false);
const [type, setType] = useState('add');
+ const [curItem, setCurItem] = useState({});
const [form] = Form.useForm();
const { setUrl } = useUrlSet({ form });
const { tableProps, search } = useAntdTable(fetchItemList, { form });
// const {run: delete} = useRequest(fetchDeleteTenant, { manual: true });
+ const handleSearch = () => {
+ setUrl();
+ search.submit();
+ };
+ const handleDelete = (item: any) => {
+ Modal.confirm({
+ title: `此操作将删除${item.itemName}, 是否继续?`,
+ onOk: () => {
+ search.submit();
+ },
+ });
+ };
const actions = (type: string, item?: any) => {
switch (type) {
case 'add':
+ setType('add');
setEditVisible(true);
break;
case 'edit':
+ setType('edit');
+ setCurItem(item);
setEditVisible(true);
break;
case 'delete':
- // handleDelete();
+ handleDelete(item);
break;
default:
break;
}
};
- const handleSearch = () => {
- setUrl();
- search.submit();
+ const handleClose = () => {
+ setEditVisible(false);
};
- // const handleDelete = (item: any) => {
- // Modal.confirm({
- // title: `此操作将删除${item.tenantName}, 是否继续?`,
- // onOk: () => {
- // search.submit();
- // },
- // });
- // };
return (
@@ -93,6 +110,7 @@ const Tenant: React.FC = () => {
{...tableProps}
bordered
rowKey="index"
+ scroll={{ x: 1000 }}
columns={[
...baseColumns,
{
@@ -104,7 +122,7 @@ const Tenant: React.FC = () => {
-
);
};
diff --git a/threadpool/console-new/src/page/item/service.ts b/threadpool/console-new/src/page/item/service.ts
index cd426860..babf4216 100644
--- a/threadpool/console-new/src/page/item/service.ts
+++ b/threadpool/console-new/src/page/item/service.ts
@@ -6,12 +6,6 @@ const fetchItemList = async (
): Promise<{ total: number; list: Array }> => {
const res: any = await request('/hippo4j/v1/cs/item/query/page', {
method: 'POST',
- headers: {
- Authorization:
- 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3LGJhb3hpbnlpX2FkbWluIiwiaXNzIjoiYWRtaW4iLCJleHAiOjE2OTUzOTg4NDksImlhdCI6MTY5NDc5NDA0OSwicm9sIjoiUk9MRV9BRE1JTiJ9.syRDshKpd-xETsSdeMPRtk956f4BJkPt4utVsUl4smgH71Woj8SUq4w2RX1YtGTC4aTZRJYdKOfkTqwK0g_dHQ',
- cookie:
- 'Admin-Token=Bearer%20eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3LGJhb3hpbnlpX2FkbWluIiwiaXNzIjoiYWRtaW4iLCJleHAiOjE2OTUzOTg4NDksImlhdCI6MTY5NDc5NDA0OSwicm9sIjoiUk9MRV9BRE1JTiJ9.syRDshKpd-xETsSdeMPRtk956f4BJkPt4utVsUl4smgH71Woj8SUq4w2RX1YtGTC4aTZRJYdKOfkTqwK0g_dHQ; userName=baoxinyi_admin',
- },
body: {
...formData,
current: pageProps.current,
diff --git a/threadpool/console-new/src/page/log/detail.tsx b/threadpool/console-new/src/page/log/detail.tsx
new file mode 100644
index 00000000..fd753f20
--- /dev/null
+++ b/threadpool/console-new/src/page/log/detail.tsx
@@ -0,0 +1,33 @@
+import { Descriptions, Modal } from 'antd';
+import React from 'react';
+
+const LogDetail: React.FC<{
+ data: any;
+ visible: boolean;
+ onClose: () => void;
+}> = props => {
+ const { visible, onClose, data } = props;
+ return (
+
+
+
+ {data.category}
+
+
+ {data.bizNo}
+
+
+ {data.operator}
+
+
+ {data.createTime}
+
+
+ {data.action}
+
+
+
+ );
+};
+
+export default LogDetail;
diff --git a/threadpool/console-new/src/page/log/index.tsx b/threadpool/console-new/src/page/log/index.tsx
index a7c0b23f..0bcfcde4 100644
--- a/threadpool/console-new/src/page/log/index.tsx
+++ b/threadpool/console-new/src/page/log/index.tsx
@@ -1,85 +1,90 @@
import { useAntdTable } from 'ahooks';
-import { Button, Form, Input, Row, Space, Table, Col, Modal } from 'antd';
-import { SearchOutlined, EditOutlined } from '@ant-design/icons';
+import { Button, Form, Input, Row, Space, Table, Col } from 'antd';
+import { SearchOutlined, RedoOutlined } from '@ant-design/icons';
import React, { useState } from 'react';
-import { fetchTenantList } from './service';
+import { fetchLogList } from './service';
import { useUrlSet } from '@/hooks/useUrlSet';
import style from './index.module.less';
+import LogDetail from './detail';
const baseColumns = [
{
title: '序号',
dataIndex: 'id',
+ width: 100,
+ // fixed: 'left',
},
{
- title: '租户',
- dataIndex: 'tenantId',
+ title: '业务类型',
+ dataIndex: 'category',
+ width: 200,
},
{
- title: '租户名称',
- dataIndex: 'tenantName',
+ title: '业务标识',
+ dataIndex: 'bizNo',
+ width: 380,
},
{
- title: '负责人',
- dataIndex: 'owner',
+ title: '日志内容',
+ dataIndex: 'action',
+ width: 380,
},
{
- title: '修改时间',
- dataIndex: 'gmtModified',
+ title: '操作人',
+ dataIndex: 'operator',
+ width: 100,
+ },
+ {
+ title: '操作时间',
+ dataIndex: 'createTime',
+ width: 200,
},
];
const Tenant: React.FC = () => {
- const [editVisible, setEditVisible] = useState(false);
- const [type, setType] = useState('add');
+ const [visible, setVisible] = useState(false);
const [form] = Form.useForm();
const { setUrl } = useUrlSet({ form });
- const { tableProps, search } = useAntdTable(fetchTenantList, { form });
- // const {run: delete} = useRequest(fetchDeleteTenant, { manual: true });
- const actions = (type: string, item?: any) => {
- switch (type) {
- case 'add':
- setEditVisible(true);
- break;
- case 'edit':
- setEditVisible(true);
- break;
- case 'delete':
- // handleDelete();
- break;
- default:
- break;
- }
- };
+ const { tableProps, search } = useAntdTable(fetchLogList, { form });
+ const [curItems, setCurItems] = useState({});
const handleSearch = () => {
setUrl();
search.submit();
};
- // const handleDelete = (item: any) => {
- // Modal.confirm({
- // title: `此操作将删除${item.tenantName}, 是否继续?`,
- // onOk: () => {
- // search.submit();
- // },
- // });
- // };
+ const handleDetail = (item: any) => {
+ setVisible(!visible);
+ setCurItems(item);
+ };
+ const handleClose = () => {
+ setVisible(false);
+ };
return (
);
};
diff --git a/threadpool/console-new/src/page/log/service.ts b/threadpool/console-new/src/page/log/service.ts
index 2fab1ef7..d135380c 100644
--- a/threadpool/console-new/src/page/log/service.ts
+++ b/threadpool/console-new/src/page/log/service.ts
@@ -1,79 +1,24 @@
import request from '@/utils';
-const fetchTenantList = async (
+const fetchLogList = async (
pageProps: { current: number; pageSize: number },
- formData: { tencent: string | number }
+ formData: { category: string | number; bizNo: string; operator: string }
): Promise<{ total: number; list: Array }> => {
- const res: any = await request('/hippo4j/v1/cs/tenant/query/page', {
+ const res: any = await request('/hippo4j/v1/cs/log/query/page', {
method: 'POST',
- headers: {
- Authorization:
- 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3LGJhb3hpbnlpX2FkbWluIiwiaXNzIjoiYWRtaW4iLCJleHAiOjE2OTUzOTg4NDksImlhdCI6MTY5NDc5NDA0OSwicm9sIjoiUk9MRV9BRE1JTiJ9.syRDshKpd-xETsSdeMPRtk956f4BJkPt4utVsUl4smgH71Woj8SUq4w2RX1YtGTC4aTZRJYdKOfkTqwK0g_dHQ',
- cookie:
- 'Admin-Token=Bearer%20eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3LGJhb3hpbnlpX2FkbWluIiwiaXNzIjoiYWRtaW4iLCJleHAiOjE2OTUzOTg4NDksImlhdCI6MTY5NDc5NDA0OSwicm9sIjoiUk9MRV9BRE1JTiJ9.syRDshKpd-xETsSdeMPRtk956f4BJkPt4utVsUl4smgH71Woj8SUq4w2RX1YtGTC4aTZRJYdKOfkTqwK0g_dHQ; userName=baoxinyi_admin',
- },
body: {
...formData,
current: pageProps.current,
size: pageProps.pageSize,
- desc: true,
},
});
if (res && res.success) {
return {
total: res.data.total,
- list: res.data.records,
+ list: res.data.records.map((item: any, index: number) => ({ id: index + 1, ...item })),
};
}
throw new Error(res.msg || '服务器开小差啦~');
};
-const fetchAddTenant = async (id: string) => {
- const res = await request('/hippo4j/v1/cs/tenant/save', {
- method: 'POST',
- params: { id },
- });
-
- if (res && res.success) {
- return res;
- }
- throw new Error(res.msg || '服务器开小差啦~');
-};
-
-const fetchDeleteTenant = async (id: string) => {
- const res = await request('/tenants', {
- method: 'POST',
- params: { id },
- });
-
- if (res && res.success) {
- return res;
- }
- throw new Error(res.msg || '服务器开小差啦~');
-};
-
-const fetchUpdateTenant = async (id: string) => {
- const res = await request('hippo4j/v1/cs/tenant/update', {
- method: 'POST',
- params: { id },
- });
-
- if (res && res.success) {
- return res;
- }
- throw new Error(res.msg || '服务器开小差啦~');
-};
-
-const fetchTenantDetail = async (id: string) => {
- const res = await request('/tenants', {
- method: 'POST',
- params: { id },
- });
-
- if (res && res.success) {
- return res;
- }
- throw new Error(res.msg || '服务器开小差啦~');
-};
-
-export { fetchTenantList, fetchAddTenant, fetchDeleteTenant, fetchUpdateTenant, fetchTenantDetail };
+export { fetchLogList };
diff --git a/threadpool/console-new/src/page/tenant/index.tsx b/threadpool/console-new/src/page/tenant/index.tsx
index 0d80beff..71e93db1 100644
--- a/threadpool/console-new/src/page/tenant/index.tsx
+++ b/threadpool/console-new/src/page/tenant/index.tsx
@@ -4,7 +4,6 @@ import { Button, Form, Input, Row, Space, Table, Col, Modal } from 'antd';
import { SearchOutlined, EditOutlined } from '@ant-design/icons';
import { useUrlSet } from '@/hooks/useUrlSet';
import { fetchTenantList } from './service';
-
import style from './index.module.less';
const baseColumns = [
@@ -37,6 +36,19 @@ const Tenant: React.FC = () => {
const { setUrl } = useUrlSet({ form });
const { tableProps, search } = useAntdTable(fetchTenantList, { form });
// const {run: delete} = useRequest(fetchDeleteTenant, { manual: true });
+ const handleSearch = () => {
+ setUrl();
+ search.submit();
+ };
+ const handleDelete = (item: any) => {
+ Modal.confirm({
+ title: '提示',
+ content: `此操作将删除${item.tenantName},是否继续?`,
+ onOk: () => {
+ search.submit();
+ },
+ });
+ };
const actions = (type: string, item?: any) => {
switch (type) {
case 'add':
@@ -46,24 +58,12 @@ const Tenant: React.FC = () => {
setEditVisible(true);
break;
case 'delete':
- // handleDelete();
+ handleDelete(item);
break;
default:
break;
}
};
- const handleSearch = () => {
- setUrl();
- search.submit();
- };
- // const handleDelete = (item: any) => {
- // Modal.confirm({
- // title: `此操作将删除${item.tenantName}, 是否继续?`,
- // onOk: () => {
- // search.submit();
- // },
- // });
- // };
return (
@@ -105,7 +105,7 @@ const Tenant: React.FC = () => {
actions('edit', record)} type="link" className={style.opreate_btn}>
编辑
-
actions('edit', record)} type="link" className={style.opreate_btn}>
+ actions('delete', record)} type="link" className={style.opreate_btn}>
删除
diff --git a/threadpool/console-new/src/page/tenant/service.ts b/threadpool/console-new/src/page/tenant/service.ts
index 2fab1ef7..181163e4 100644
--- a/threadpool/console-new/src/page/tenant/service.ts
+++ b/threadpool/console-new/src/page/tenant/service.ts
@@ -6,12 +6,6 @@ const fetchTenantList = async (
): Promise<{ total: number; list: Array }> => {
const res: any = await request('/hippo4j/v1/cs/tenant/query/page', {
method: 'POST',
- headers: {
- Authorization:
- 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3LGJhb3hpbnlpX2FkbWluIiwiaXNzIjoiYWRtaW4iLCJleHAiOjE2OTUzOTg4NDksImlhdCI6MTY5NDc5NDA0OSwicm9sIjoiUk9MRV9BRE1JTiJ9.syRDshKpd-xETsSdeMPRtk956f4BJkPt4utVsUl4smgH71Woj8SUq4w2RX1YtGTC4aTZRJYdKOfkTqwK0g_dHQ',
- cookie:
- 'Admin-Token=Bearer%20eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3LGJhb3hpbnlpX2FkbWluIiwiaXNzIjoiYWRtaW4iLCJleHAiOjE2OTUzOTg4NDksImlhdCI6MTY5NDc5NDA0OSwicm9sIjoiUk9MRV9BRE1JTiJ9.syRDshKpd-xETsSdeMPRtk956f4BJkPt4utVsUl4smgH71Woj8SUq4w2RX1YtGTC4aTZRJYdKOfkTqwK0g_dHQ; userName=baoxinyi_admin',
- },
body: {
...formData,
current: pageProps.current,
diff --git a/threadpool/console-new/src/route/index.tsx b/threadpool/console-new/src/route/index.tsx
index 54d9f987..285b5f77 100644
--- a/threadpool/console-new/src/route/index.tsx
+++ b/threadpool/console-new/src/route/index.tsx
@@ -4,9 +4,18 @@ import aboutRouter from '@/page/about/router';
import ThreadPoolRouter from '@/page/thread-pool/router';
import tenantRouter from '@/page/tenant/router';
import LoginRouter from '@/page/login/router';
-// import itemRouter from '@/page/item/router';
-// import userRouter from '@/page/user/router';
-// import logRouter from '@/page/log/router';
+import itemRouter from '@/page/item/router';
+import userRouter from '@/page/user/router';
+import logRouter from '@/page/log/router';
-const routerList: IRouterList[] = [...homeRouter, ...aboutRouter, ...tenantRouter, ...ThreadPoolRouter, ...LoginRouter];
+const routerList: IRouterList[] = [
+ ...homeRouter,
+ ...aboutRouter,
+ ...tenantRouter,
+ ...ThreadPoolRouter,
+ ...LoginRouter,
+ ...itemRouter,
+ ...userRouter,
+ ...logRouter,
+];
export default routerList;
diff --git a/threadpool/console-new/src/utils/common/index.ts b/threadpool/console-new/src/utils/common/index.ts
index 8ae65582..a087d7f4 100644
--- a/threadpool/console-new/src/utils/common/index.ts
+++ b/threadpool/console-new/src/utils/common/index.ts
@@ -49,9 +49,19 @@ const isPlainObject = (obj: { [key: string]: any }): boolean => {
};
const setToken = (token: string) => {
+ localStorage.setItem(TokenKey, token);
Cookie.set(TokenKey, token);
};
+const removeToken = () => {
+ localStorage.removeItem(TokenKey);
+ Cookie.remove(TokenKey);
+};
+
+const getToken = () => {
+ return localStorage.getItem(TokenKey) || Cookie.get(TokenKey);
+};
+
/**
* @description 忽略 object 中 value 为空的元素
* @param obj
@@ -79,4 +89,4 @@ const isEmpty = (value: any) => {
return typeof value === 'object' ? _.isEmpty(value) : isNilValue(value);
};
-export { isPlainObject, isEmpty, filterEmptyField, setToken };
+export { isPlainObject, isEmpty, filterEmptyField, setToken, removeToken, getToken };
diff --git a/threadpool/console-new/src/utils/request/index.ts b/threadpool/console-new/src/utils/request/index.ts
index 7a537a87..6186d547 100644
--- a/threadpool/console-new/src/utils/request/index.ts
+++ b/threadpool/console-new/src/utils/request/index.ts
@@ -1,4 +1,4 @@
-import { isPlainObject } from '../common';
+import { getToken, isPlainObject } from '../common';
import { notification, message } from 'antd';
import Qs from 'qs';
@@ -40,8 +40,6 @@ const inital: RequestOptions = {
body: null,
headers: {
'Content-Type': 'application/json',
- Authorization:
- 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxMCxiYW94aW55aV91c2VyIiwiaXNzIjoiYWRtaW4iLCJleHAiOjE2OTU3MzAwNzYsImlhdCI6MTY5NTEyNTI3Niwicm9sIjoiUk9MRV9VU0VSIn0.4cWyhllP7u-aoRAIHs3nMggsgl4-LUCVBas8WE0FJYIe-YNS0wGf1_0RJq3TUGw00KmSaSRPKdoPgRTFqEphZA',
},
credentials: true,
responseType: 'JSON',
@@ -85,6 +83,11 @@ function request(url: string, config: RequestOptions): Promise> {
}
if (config.headers && isPlainObject(config.headers)) {
config.headers = Object.assign({}, inital.headers, config.headers);
+ if (!config.headers?.Authorization) {
+ config.headers.Authorization = getToken();
+ }
+ } else {
+ config.headers = { Authorization: getToken(), 'Content-Type': 'application/json' };
}
let { method, params, body, headers, credentials, responseType } = Object.assign({}, inital, config) as any;
if (typeof url !== 'string') throw new TypeError('url is not an string');