From eaec3cb2a5d1e74a40a8e5d0f31e7ae5bfc514f8 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 12 Jul 2024 15:47:57 +0800 Subject: [PATCH] =?UTF-8?q?perf(X-Pack):=20=E9=BB=98=E8=AE=A4=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=96=B9=E5=BC=8F-=E5=9C=A8=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E9=9D=9E=E6=99=AE=E9=80=9A=E7=99=BB=E5=BD=95=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=E4=B8=8B=E5=A2=9E=E5=8A=A0admin-login?= =?UTF-8?q?=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/assets/svg/401.svg | 29 ++++++++++++++++++++ core/core-frontend/src/locales/zh-CN.ts | 3 +- core/core-frontend/src/permission.ts | 2 +- core/core-frontend/src/router/index.ts | 14 ++++++++++ core/core-frontend/src/views/401/index.vue | 26 ++++++++++++++++++ core/core-frontend/src/views/login/index.vue | 7 ++++- 6 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 core/core-frontend/src/assets/svg/401.svg create mode 100644 core/core-frontend/src/views/401/index.vue diff --git a/core/core-frontend/src/assets/svg/401.svg b/core/core-frontend/src/assets/svg/401.svg new file mode 100644 index 0000000000..d02779fae0 --- /dev/null +++ b/core/core-frontend/src/assets/svg/401.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index dc52fb443a..b89041b7aa 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -48,7 +48,8 @@ export default { copy_unsupported: '您的浏览器不支持复制', filter: '筛选', filter_condition: '筛选条件', - no_auth_tips: '缺少菜单权限,请联系管理员' + no_auth_tips: '缺少菜单权限,请联系管理员', + no_menu_tips: '未找到资源 401错误' }, dynamic_time: { set_default: '设置默认值', diff --git a/core/core-frontend/src/permission.ts b/core/core-frontend/src/permission.ts index 402bd50e1c..fe771eca73 100644 --- a/core/core-frontend/src/permission.ts +++ b/core/core-frontend/src/permission.ts @@ -22,7 +22,7 @@ const { start, done } = useNProgress() const { loadStart, loadDone } = usePageLoading() -const whiteList = ['/login', '/de-link', '/chart-view', '/notSupport'] // 不重定向白名单 +const whiteList = ['/login', '/de-link', '/chart-view', '/notSupport', '/admin-login', '/401'] // 不重定向白名单 const embeddedWindowWhiteList = ['/dvCanvas', '/dashboard', '/preview', '/dataset-embedded-form'] const embeddedRouteWhiteList = ['/dataset-embedded', '/dataset-form', '/dataset-embedded-form'] router.beforeEach(async (to, from, next) => { diff --git a/core/core-frontend/src/router/index.ts b/core/core-frontend/src/router/index.ts index fa4b46f162..aaf86225c9 100644 --- a/core/core-frontend/src/router/index.ts +++ b/core/core-frontend/src/router/index.ts @@ -50,6 +50,20 @@ export const routes: AppRouteRecordRaw[] = [ meta: {}, component: () => import('@/views/login/index.vue') }, + { + path: '/admin-login', + name: 'admin-login', + hidden: true, + meta: {}, + component: () => import('@/views/login/index.vue') + }, + { + path: '/401', + name: '401', + hidden: true, + meta: {}, + component: () => import('@/views/401/index.vue') + }, { path: '/dvCanvas', name: 'dvCanvas', diff --git a/core/core-frontend/src/views/401/index.vue b/core/core-frontend/src/views/401/index.vue new file mode 100644 index 0000000000..f41c3bf2a4 --- /dev/null +++ b/core/core-frontend/src/views/401/index.vue @@ -0,0 +1,26 @@ + + + + diff --git a/core/core-frontend/src/views/login/index.vue b/core/core-frontend/src/views/login/index.vue index 31a1d936f9..0e2af9b670 100644 --- a/core/core-frontend/src/views/login/index.vue +++ b/core/core-frontend/src/views/login/index.vue @@ -229,7 +229,12 @@ onMounted(async () => { loadArrearance() if (!checkPlatform()) { const res = await loginCategoryApi() - if (res.data) { + const adminLogin = router.currentRoute?.value?.name === 'admin-login' + if (adminLogin && !res.data) { + router.push('/401') + return + } + if (res.data && !adminLogin) { loadingText.value = '加载中...' document.getElementsByClassName('ed-loading-text')?.length && (document.getElementsByClassName('ed-loading-text')[0]['innerText'] = loadingText.value)