From be00cc0d6d6f463bfc23bd7a4f8ab4ec244def41 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Mon, 18 Aug 2025 17:19:17 +0800 Subject: [PATCH] feat(appearance Management): System appearance settings --- .../src/assets/svg/menu/icon_chat_filled.svg | 4 +- .../assets/svg/menu/icon_dashboard_filled.svg | 10 +- .../assets/svg/menu/icon_database_filled.svg | 8 +- .../assets/svg/menu/icon_dataset_filled.svg | 4 +- .../assets/svg/menu/icon_embedded_filled.svg | 4 +- .../assets/svg/menu/icon_member_filled.svg | 6 +- .../menu/icon_moments-categories_filled.svg | 6 +- .../assets/svg/menu/icon_setting_filled.svg | 4 +- frontend/src/components/layout/Person.vue | 9 +- frontend/src/stores/appearance.ts | 24 ++-- frontend/src/views/login/index.vue | 12 +- .../views/system/appearance/LoginPreview.vue | 5 +- .../src/views/system/appearance/index.vue | 134 ++++++++---------- 13 files changed, 108 insertions(+), 122 deletions(-) diff --git a/frontend/src/assets/svg/menu/icon_chat_filled.svg b/frontend/src/assets/svg/menu/icon_chat_filled.svg index 93417643..fd007ada 100644 --- a/frontend/src/assets/svg/menu/icon_chat_filled.svg +++ b/frontend/src/assets/svg/menu/icon_chat_filled.svg @@ -1,3 +1,3 @@ - - + + diff --git a/frontend/src/assets/svg/menu/icon_dashboard_filled.svg b/frontend/src/assets/svg/menu/icon_dashboard_filled.svg index 7fd632b9..11f5dbb5 100644 --- a/frontend/src/assets/svg/menu/icon_dashboard_filled.svg +++ b/frontend/src/assets/svg/menu/icon_dashboard_filled.svg @@ -1,6 +1,6 @@ - - - - - + + + + + diff --git a/frontend/src/assets/svg/menu/icon_database_filled.svg b/frontend/src/assets/svg/menu/icon_database_filled.svg index 46c5d5cc..637979dc 100644 --- a/frontend/src/assets/svg/menu/icon_database_filled.svg +++ b/frontend/src/assets/svg/menu/icon_database_filled.svg @@ -1,5 +1,5 @@ - - - - + + + + diff --git a/frontend/src/assets/svg/menu/icon_dataset_filled.svg b/frontend/src/assets/svg/menu/icon_dataset_filled.svg index 923fe6d6..36bd596c 100644 --- a/frontend/src/assets/svg/menu/icon_dataset_filled.svg +++ b/frontend/src/assets/svg/menu/icon_dataset_filled.svg @@ -1,3 +1,3 @@ - - + + diff --git a/frontend/src/assets/svg/menu/icon_embedded_filled.svg b/frontend/src/assets/svg/menu/icon_embedded_filled.svg index 70a595c8..e32d61c5 100644 --- a/frontend/src/assets/svg/menu/icon_embedded_filled.svg +++ b/frontend/src/assets/svg/menu/icon_embedded_filled.svg @@ -1,3 +1,3 @@ - - + + diff --git a/frontend/src/assets/svg/menu/icon_member_filled.svg b/frontend/src/assets/svg/menu/icon_member_filled.svg index fded3173..21fb4391 100644 --- a/frontend/src/assets/svg/menu/icon_member_filled.svg +++ b/frontend/src/assets/svg/menu/icon_member_filled.svg @@ -1,4 +1,4 @@ - - - + + + diff --git a/frontend/src/assets/svg/menu/icon_moments-categories_filled.svg b/frontend/src/assets/svg/menu/icon_moments-categories_filled.svg index 7b4cde3b..246826f5 100644 --- a/frontend/src/assets/svg/menu/icon_moments-categories_filled.svg +++ b/frontend/src/assets/svg/menu/icon_moments-categories_filled.svg @@ -1,4 +1,4 @@ - - - + + + diff --git a/frontend/src/assets/svg/menu/icon_setting_filled.svg b/frontend/src/assets/svg/menu/icon_setting_filled.svg index 8c1a1927..621a03c7 100644 --- a/frontend/src/assets/svg/menu/icon_setting_filled.svg +++ b/frontend/src/assets/svg/menu/icon_setting_filled.svg @@ -1,3 +1,3 @@ - - + + diff --git a/frontend/src/components/layout/Person.vue b/frontend/src/components/layout/Person.vue index 92a9d832..8d0c7b2e 100644 --- a/frontend/src/components/layout/Person.vue +++ b/frontend/src/components/layout/Person.vue @@ -3,7 +3,7 @@ import { ref, computed } from 'vue' import Default_avatar from '@/assets/workspace/default_avatar.png' import icon_admin_outlined from '@/assets/svg/icon_admin_outlined.svg' import icon_info_outlined_1 from '@/assets/svg/icon_info_outlined_1.svg' - +import { useAppearanceStoreWithOut } from '@/stores/appearance' import icon_maybe_outlined from '@/assets/svg/icon-maybe_outlined.svg' import icon_key_outlined from '@/assets/svg/icon-key_outlined.svg' import icon_translate_outlined from '@/assets/svg/icon_translate_outlined.svg' @@ -18,6 +18,7 @@ import { useUserStore } from '@/stores/user' import { userApi } from '@/api/auth' const router = useRouter() +const appearanceStore = useAppearanceStoreWithOut() const userStore = useUserStore() const pwdFormRef = ref() const { t, locale } = useI18n() @@ -62,7 +63,7 @@ const changeLanguage = (lang: string) => { } const openHelp = () => { - window.open('https://dataease.cn/sqlbot/', '_blank') + window.open(appearanceStore.getHelp || 'https://dataease.cn/sqlbot/', '_blank') } const openPwd = () => { @@ -138,13 +139,13 @@ const logout = () => { -
+
{{ $t('about.title') }}
-
+
diff --git a/frontend/src/stores/appearance.ts b/frontend/src/stores/appearance.ts index 6697264e..fe737b7a 100644 --- a/frontend/src/stores/appearance.ts +++ b/frontend/src/stores/appearance.ts @@ -1,13 +1,13 @@ import { defineStore } from 'pinia' import { store } from '@/stores/index' // import { defaultFont, list } from '@/api/font' -// import { uiLoadApi } from '@/api/login' +import { request } from '@/utils/request' import colorFunctions from 'less/lib/less/functions/color.js' import colorTree from 'less/lib/less/tree/color.js' import { setTitle } from '@/utils/utils' -const basePath = import.meta.env.VITE_API_BASEPATH -const baseUrl = basePath + '/appearance/image/' +const basePath = import.meta.env.VITE_API_BASE_URL +const baseUrl = basePath + '/system/appearance/picture/' import { isBtnShow } from '@/utils/utils' import type { LinkHTMLAttributes } from 'vue' interface AppearanceState { @@ -248,17 +248,15 @@ export const useAppearanceStore = defineStore('appearanceStore', { // if (!isDataEaseBi) { // document.title = '' // } - // const res = await uiLoadApi() - const res = { data: [] } + const resData = await request.get('/system/appearance') this.loaded = true - const resData = res.data - // if (!resData?.length) { - // if (!isDataEaseBi) { - // document.title = 'SQLBot' - // setLinkIcon() - // } - // return - // } + if (!resData?.length) { + if (!isDataEaseBi) { + document.title = 'SQLBot' + setLinkIcon() + } + return + } const data: AppearanceState = { loaded: false, community: true } let isCommunity = false resData.forEach((item: KeyValue) => { diff --git a/frontend/src/views/login/index.vue b/frontend/src/views/login/index.vue index 147f99d7..583b7da3 100644 --- a/frontend/src/views/login/index.vue +++ b/frontend/src/views/login/index.vue @@ -1,12 +1,14 @@