From 1a318efbb8d9b27cf01f3dd8544baa549863575a Mon Sep 17 00:00:00 2001
From: wkl505997900 <505997900@qq.com>
Date: Sun, 23 Apr 2023 10:03:06 +0800
Subject: [PATCH 1/2] Optimize page loading and routing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/config/router.config.js | 20 +++++++++++++++++++-
src/views/leaks/components/HostTable.vue | 9 +++++++--
2 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/src/config/router.config.js b/src/config/router.config.js
index 1a9bad3..8a15f2a 100644
--- a/src/config/router.config.js
+++ b/src/config/router.config.js
@@ -37,6 +37,10 @@ const routeMap = {
path: '/assests/hosts-management/host-edit'
}
}
+ },
+ hostgroupView: {
+ title: 'menu.assests.host-group-management',
+ path: '/assests/host-group-management'
}
}
},
@@ -303,7 +307,21 @@ export const asyncRouterMap = [
component: () => import('@/views/assests/HostGroupManagement'),
meta: {
title: 'menu.assests.host-group-management',
- permission: ['assests']
+ permission: ['assests'],
+ diyBreadcrumb: [
+ {
+ breadcrumbName: routeMap.index.title,
+ path: routeMap.index.path
+ },
+ {
+ breadcrumbName: routeMap.assests.title,
+ path: routeMap.assests.path
+ },
+ {
+ breadcrumbName: routeMap.assests.children.hostgroupView.title,
+ path: routeMap.assests.children.hostgroupView.path
+ }
+ ]
}
}
]
diff --git a/src/views/leaks/components/HostTable.vue b/src/views/leaks/components/HostTable.vue
index e95e974..38618de 100644
--- a/src/views/leaks/components/HostTable.vue
+++ b/src/views/leaks/components/HostTable.vue
@@ -104,6 +104,9 @@
{{ last_scan }}
+
{{ hotpatch ? '是' : '否' }}
@@ -199,7 +202,8 @@ export default {
key: 'repo',
title: 'CVE REPO',
filteredValue: filters.repo || [],
- filters: this.repoList
+ filters: this.repoList,
+ scopedSlots: {customRender: 'repo'}
},
{
dataIndex: 'cve_num',
@@ -243,7 +247,8 @@ export default {
key: 'repo',
title: 'CVE REPO',
filteredValue: filters.repo || null,
- filters: this.standalone ? this.repoList : this.repoFilterList
+ filters: this.standalone ? this.repoList : this.repoFilterList,
+ scopedSlots: {customRender: 'repo'}
},
{
dataIndex: 'hotpatch',
--
Gitee
From 0faf5b381a1d84f3a152ffa887207af138255f5b Mon Sep 17 00:00:00 2001
From: wkl505997900 <505997900@qq.com>
Date: Sun, 23 Apr 2023 18:46:51 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B7=AF=E7=94=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/GlobalHeader/AvatarDropdown.vue | 1 +
src/vendor/ant-design-pro/permission.js | 13 ++++++++++++-
src/vendor/ant-design-pro/store/modules/user.js | 15 +++------------
src/vendor/ant-design-pro/utils/request.js | 2 +-
src/views/user/Login.vue | 1 +
vue.config.js | 3 +++
6 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/src/vendor/ant-design-pro/components/GlobalHeader/AvatarDropdown.vue b/src/vendor/ant-design-pro/components/GlobalHeader/AvatarDropdown.vue
index a30ed66..ae97aed 100644
--- a/src/vendor/ant-design-pro/components/GlobalHeader/AvatarDropdown.vue
+++ b/src/vendor/ant-design-pro/components/GlobalHeader/AvatarDropdown.vue
@@ -67,6 +67,7 @@ export default {
content: this.$t('layouts.usermenu.dialog.content'),
onOk: () => {
return this.$store.dispatch('Logout').then(() => {
+ this.$message.info('退出登陆!')
this.$router.push({name: 'login'});
});
},
diff --git a/src/vendor/ant-design-pro/permission.js b/src/vendor/ant-design-pro/permission.js
index 41ffbfb..7d85dbd 100644
--- a/src/vendor/ant-design-pro/permission.js
+++ b/src/vendor/ant-design-pro/permission.js
@@ -64,7 +64,18 @@ router.beforeEach((to, from, next) => {
});
});
} else {
- next();
+ // 路由跳转前判断token是否过期
+ if (localStorage.getItem('is_tokenvalid')) {
+ var interval = setInterval(function() {
+ if (!localStorage.getItem('is_tokenvalid')) {
+ clearInterval(interval);
+ // 执行某些操作
+ next()
+ }
+ }, 1000); // 每隔1秒钟执行一次判断操作
+ } else {
+ next();
+ }
}
}
} else {
diff --git a/src/vendor/ant-design-pro/store/modules/user.js b/src/vendor/ant-design-pro/store/modules/user.js
index 4f185e3..505ce1c 100644
--- a/src/vendor/ant-design-pro/store/modules/user.js
+++ b/src/vendor/ant-design-pro/store/modules/user.js
@@ -4,7 +4,7 @@
import storage from 'store';
import cookie from 'js-cookie';
-import { login, logout, refreshTokenFn } from '@/api/login';
+import { login, refreshTokenFn } from '@/api/login';
import { ACCESS_TOKEN, REFRESH_TOKIN } from '@/vendor/ant-design-pro/store/mutation-types';
const user = {
@@ -130,26 +130,17 @@ const user = {
cookie.remove('aops_token');
cookie.remove('user_name');
cookie.remove('refreshtoken');
-
- return new Promise(resolve => {
- logout(state.token)
- .then(() => {
- resolve();
- })
- .catch(() => {
- resolve();
- })
- .finally(() => { });
- });
},
// 刷新token
RefreshToken({ commit, state }) {
+ storage.set('is_tokenvalid', true, 7 * 24 * 60 * 60 * 1000);
return new Promise((resolve, reject) => {
const refreshToken = localStorage.getItem('Refresh-Token').substring(1, localStorage.getItem('Refresh-Token').length - 1)
refreshTokenFn(refreshToken).then((res) => {
if (res.code === '200') {
const in20Minutes = 1 / 72;
+ storage.remove('is_tokenvalid');
storage.set(ACCESS_TOKEN, res.data.token, 7 * 24 * 60 * 60 * 1000);
storage.set(REFRESH_TOKIN, res.data.refresh_token, 7 * 24 * 60 * 60 * 1000)
cookie.set('aops_token', res.data.token, {
diff --git a/src/vendor/ant-design-pro/utils/request.js b/src/vendor/ant-design-pro/utils/request.js
index e6f49ce..4a2383f 100644
--- a/src/vendor/ant-design-pro/utils/request.js
+++ b/src/vendor/ant-design-pro/utils/request.js
@@ -96,7 +96,7 @@ request.interceptors.response.use(response => {
// token过期后,调接口,刷新token
store.dispatch('RefreshToken').then(() => {
// 再发请求
- return request(response.config)
+ return request(response.config);
}).catch((err) => {
this.$message.error(err.response.message)
})
diff --git a/src/views/user/Login.vue b/src/views/user/Login.vue
index 0026155..fae311a 100644
--- a/src/views/user/Login.vue
+++ b/src/views/user/Login.vue
@@ -30,6 +30,7 @@
validateTrigger: 'blur'
}
]"
+ autocomplete
>
diff --git a/vue.config.js b/vue.config.js
index 4c6dec4..e38f377 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -53,6 +53,9 @@ const vueConfig = {
},
chainWebpack: config => {
+ config.plugins.delete('prefetch')
+ config.plugins.delete('preload')
+
config.resolve.alias.set('@$', resolve('src'));
const svgRule = config.module.rule('svg');
--
Gitee