From aa8ae5de45f374fbd755489a8a83c94d241b610b Mon Sep 17 00:00:00 2001 From: songjianet <1778651752@qq.com> Date: Wed, 9 Feb 2022 11:38:12 +0800 Subject: [PATCH] [Feature][UI Next] Add token expired jump login page. (#8312) --- .../src/layouts/content/index.tsx | 24 ++++++++++--------- .../src/service/service.ts | 11 ++++++--- .../projects/task/definition/use-table.ts | 15 ++++++------ 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/dolphinscheduler-ui-next/src/layouts/content/index.tsx b/dolphinscheduler-ui-next/src/layouts/content/index.tsx index a8dbf2e97b..ad0e83d6d7 100644 --- a/dolphinscheduler-ui-next/src/layouts/content/index.tsx +++ b/dolphinscheduler-ui-next/src/layouts/content/index.tsx @@ -74,18 +74,20 @@ const Content = defineComponent({ watch( () => route.path, () => { - state.isShowSide = menuStore.getShowSideStatus - route.matched[1].path.includes(':projectCode') - if (route.matched[1].path === '/projects/:projectCode') { - changeMenuOption(state) - getSideMenu(state) + if (route.path !== '/login') { + state.isShowSide = menuStore.getShowSideStatus + route.matched[1].path.includes(':projectCode') + if (route.matched[1].path === '/projects/:projectCode') { + changeMenuOption(state) + getSideMenu(state) + } + sideKeyRef.value = route.matched[1].path.includes(':projectCode') + ? route.matched[1].path.replace( + ':projectCode', + menuStore.getProjectCode + ) + : route.matched[1].path } - sideKeyRef.value = route.matched[1].path.includes(':projectCode') - ? route.matched[1].path.replace( - ':projectCode', - menuStore.getProjectCode - ) - : route.matched[1].path }, { immediate: true } ) diff --git a/dolphinscheduler-ui-next/src/service/service.ts b/dolphinscheduler-ui-next/src/service/service.ts index c71fbd868c..862be80136 100644 --- a/dolphinscheduler-ui-next/src/service/service.ts +++ b/dolphinscheduler-ui-next/src/service/service.ts @@ -16,9 +16,10 @@ */ import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios' +import { useUserStore } from '@/store/user/user' import qs from 'qs' import _ from 'lodash' -import { useUserStore } from '@/store/user/user' +import router from '@/router' const userStore = useUserStore() @@ -43,12 +44,16 @@ const baseRequestConfig: AxiosRequestConfig = { const service = axios.create(baseRequestConfig) const err = (err: AxiosError): Promise => { + if (err.response?.status === 401 || err.response?.status === 504) { + userStore.setSessionId('') + userStore.setUserInfo({}) + router.push({ path: '/login' }) + } + return Promise.reject(err) } service.interceptors.request.use((config: AxiosRequestConfig) => { - // console.log('config', config) - config.headers && (config.headers.sessionId = userStore.getSessionId) return config diff --git a/dolphinscheduler-ui-next/src/views/projects/task/definition/use-table.ts b/dolphinscheduler-ui-next/src/views/projects/task/definition/use-table.ts index 94f3e95a94..f15e94e26d 100644 --- a/dolphinscheduler-ui-next/src/views/projects/task/definition/use-table.ts +++ b/dolphinscheduler-ui-next/src/views/projects/task/definition/use-table.ts @@ -78,14 +78,15 @@ export function useTable() { row.upstreamTaskMap.length < 1 ? '-' : h(NSpace, null, { - default: () => row.upstreamTaskMap.map((item: string) => { - return h( - NTag, - { type: 'info', size: 'small' }, - { default: () => item } - ) + default: () => + row.upstreamTaskMap.map((item: string) => { + return h( + NTag, + { type: 'info', size: 'small' }, + { default: () => item } + ) + }) }) - }) ) }, {