From cbb756e1cbed47e296ccc1d25c3de9e7bc13009a Mon Sep 17 00:00:00 2001 From: Devosend Date: Tue, 8 Mar 2022 17:51:35 +0800 Subject: [PATCH] [Fix][UI-Next][V1.0.0-Alpha] Fix ui and backend languages are not consistent bug (#8755) --- dolphinscheduler-ui-next/package.json | 2 ++ .../src/layouts/content/components/locales/use-dropdown.ts | 2 ++ dolphinscheduler-ui-next/src/service/service.ts | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/dolphinscheduler-ui-next/package.json b/dolphinscheduler-ui-next/package.json index f656f6c49..a569a85a4 100644 --- a/dolphinscheduler-ui-next/package.json +++ b/dolphinscheduler-ui-next/package.json @@ -15,6 +15,7 @@ "axios": "^0.24.0", "date-fns": "^2.28.0", "echarts": "^5.3.0", + "js-cookie": "^3.0.1", "lodash": "^4.17.21", "monaco-editor": "^0.31.1", "naive-ui": "^2.26.0", @@ -28,6 +29,7 @@ "vue-router": "^4.0.12" }, "devDependencies": { + "@types/js-cookie": "^3.0.1", "@types/node": "^16.11.25", "@types/nprogress": "^0.2.0", "@types/qs": "^6.9.7", diff --git a/dolphinscheduler-ui-next/src/layouts/content/components/locales/use-dropdown.ts b/dolphinscheduler-ui-next/src/layouts/content/components/locales/use-dropdown.ts index 0df40dee9..d5240488b 100644 --- a/dolphinscheduler-ui-next/src/layouts/content/components/locales/use-dropdown.ts +++ b/dolphinscheduler-ui-next/src/layouts/content/components/locales/use-dropdown.ts @@ -17,6 +17,7 @@ import { DropdownOption } from 'naive-ui' import { useI18n } from 'vue-i18n' +import cookies from 'js-cookie' import { useLocalesStore } from '@/store/locales/locales' import type { Locales } from '@/store/locales/types' @@ -29,6 +30,7 @@ export function useDropDown(chooseVal: any) { chooseVal.value = option.label locale.value = key as Locales localesStore.setLocales(locale.value as Locales) + cookies.set('language', locale.value, { path: '/' }) } return { handleSelect diff --git a/dolphinscheduler-ui-next/src/service/service.ts b/dolphinscheduler-ui-next/src/service/service.ts index 862be8013..3d9ac1e08 100644 --- a/dolphinscheduler-ui-next/src/service/service.ts +++ b/dolphinscheduler-ui-next/src/service/service.ts @@ -19,6 +19,7 @@ import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios' import { useUserStore } from '@/store/user/user' import qs from 'qs' import _ from 'lodash' +import cookies from 'js-cookie' import router from '@/router' const userStore = useUserStore() @@ -56,6 +57,11 @@ const err = (err: AxiosError): Promise => { service.interceptors.request.use((config: AxiosRequestConfig) => { config.headers && (config.headers.sessionId = userStore.getSessionId) + const sIdCookie = cookies.get('sessionId') + const language = cookies.get('language') + config.headers = config.headers || {} + if (language) config.headers.language = language + if (sIdCookie) config.headers.sessionId = sIdCookie return config }, err)