From 96d6cfcfa2681e4e2be52ee81e71b6d288e2cd8e Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Mon, 4 Dec 2023 16:54:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=BE=E6=A0=87=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=AF=AD=E8=A8=80=E4=B8=8A=E4=BC=A0=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/index.ts | 6 +- src/layouts/BasicLayout.vue | 38 +++++- src/plugins/file-static-url.ts | 21 ++++ src/store/modules/app.ts | 117 ++++-------------- src/views/login.vue | 35 ++++-- .../setting/components/change-help-doc.vue | 7 +- .../system/setting/components/change-logo.vue | 111 ++++++++++++----- 7 files changed, 188 insertions(+), 147 deletions(-) create mode 100644 src/plugins/file-static-url.ts diff --git a/src/api/index.ts b/src/api/index.ts index c2f450af..c8f4addd 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -79,12 +79,12 @@ export function getSysConf() { } /** - * 转存帮助文档 + * 转存上传文件到静态资源 * @returns object */ -export function transferHelpDoc(data: Record) { +export function transferStaticFile(data: Record) { return request({ - url: `/helpDoc`, + url: `/transferStaticFile`, method: 'post', data, }); diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue index c7bd8ecc..ac552185 100644 --- a/src/layouts/BasicLayout.vue +++ b/src/layouts/BasicLayout.vue @@ -23,7 +23,8 @@ import { getServerTime } from '@/api'; import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; import { onMounted } from 'vue'; import { parseDateToStr } from '@/utils/date-utils'; -const { t } = useI18n(); +import { parseUrlPath } from '@/plugins/file-static-url'; +const { t, currentLocale } = useI18n(); const routerStore = useRouterStore(); const tabsStore = useTabsStore(); const appStore = useAppStore(); @@ -121,6 +122,35 @@ function fnComponentSetName(component: any, to: any) { // 清空导航栏标签 tabsStore.clear(); +// LOGO地址 +const logoUrl = computed(() => { + let url = + appStore.logoType === 'brand' + ? parseUrlPath(appStore.filePathBrand) + : parseUrlPath(appStore.filePathIcon); + + if (url.indexOf('{language}') === -1) { + return url; + } + // 语言参数替换 + const local = currentLocale.value; + const lang = local.split('_')[0]; + return url.replace('{language}', lang); +}); + +// 系统使用手册地址 +const helpDocUrl = computed(() => { + let url = parseUrlPath(appStore.helpDoc); + + if (url.indexOf('{language}') === -1) { + return url; + } + // 语言参数替换 + const local = currentLocale.value; + const lang = local.split('_')[0]; + return url.replace('{language}', lang); +}); + /**系统使用手册跳转 */ function fnClickHelpDoc(language?: string) { const routeData = router.resolve({ name: 'HelpDoc' }); @@ -220,7 +250,7 @@ document.addEventListener('visibilitychange', function () { > @@ -231,7 +261,7 @@ document.addEventListener('visibilitychange', function () {