From 4a45d6c79b2157a149afcb3b49ba504ff7c5075f Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 28 十月 2026 11:51:55 +0800
Subject: [PATCH] feat(portal): 门户字号改为保存到数据库全局生效
---
src/layouts/basic.vue | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 43 insertions(+), 1 deletions(-)
diff --git a/src/layouts/basic.vue b/src/layouts/basic.vue
index ff20779..4b7667b 100644
--- a/src/layouts/basic.vue
+++ b/src/layouts/basic.vue
@@ -4,6 +4,9 @@
import { computed, onMounted, ref, watch } from 'vue';
+import { useDebounceFn } from '@vueuse/core';
+import { message } from 'ant-design-vue';
+
import { AuthenticationLoginExpiredModal, useVbenModal } from '@vben/common-ui';
import { VBEN_DOC_URL, VBEN_GITHUB_URL } from '@vben/constants';
import { useWatermark } from '@vben/hooks';
@@ -35,6 +38,10 @@
import { $t } from '#/locales';
import { router } from '#/router';
import { useAuthStore } from '#/store';
+import {
+ loadPortalUiConfig,
+ savePortalUiConfigToServer,
+} from '#/utils/portal-ui-config';
import LoginForm from '#/views/_core/authentication/login.vue';
import PortalBrandText from '#/components/portal/portal-brand-text.vue';
@@ -156,8 +163,43 @@
handleNotificationGetUnreadCount();
}
+// ========== 闂ㄦ埛瀛楀彿鍏ㄥ眬閰嶇疆锛堝瓨鏁版嵁搴擄紝鎵�鏈夌敤鎴峰叡鐢級 ==========
+/** 宸插悓姝ュ埌鏁版嵁搴撶殑瀛楀彿锛岀敤浜庨伩鍏嶈鍙栧悗鍥炲啓 */
+let portalFontBaseline: null | { home: number; menu: number } = null;
+/** 淇濆瓨澶辫触鍙彁绀轰竴娆★紝閬垮厤杩炵画璋冭妭鏃跺弽澶嶅脊绐� */
+let portalFontSaveWarned = false;
+
+const persistPortalFontConfig = useDebounceFn(async () => {
+ const home = preferences.app.homeFontSize;
+ const menu = preferences.navigation.fontSize;
+ if (portalFontBaseline && portalFontBaseline.home === home && portalFontBaseline.menu === menu) {
+ return;
+ }
+ try {
+ await savePortalUiConfigToServer({ homeFontSize: home, menuFontSize: menu });
+ portalFontBaseline = { home, menu };
+ portalFontSaveWarned = false;
+ } catch {
+ if (!portalFontSaveWarned) {
+ portalFontSaveWarned = true;
+ message.warning('瀛楀彿宸插湪鏈満鐢熸晥锛屼絾淇濆瓨鍒板叏灞�澶辫触锛岃纭鏄惁鏈夊弬鏁伴厤缃慨鏀规潈闄�');
+ }
+ }
+}, 800);
+
+watch(
+ () => [preferences.app.homeFontSize, preferences.navigation.fontSize],
+ () => persistPortalFontConfig(),
+);
+
// ========== 鍒濆鍖� ==========
-onMounted(() => {
+onMounted(async () => {
+ // 璇诲彇鏁版嵁搴撲腑鐨勫叏灞�瀛楀彿閰嶇疆骞跺簲鐢�
+ await loadPortalUiConfig();
+ portalFontBaseline = {
+ home: preferences.app.homeFontSize,
+ menu: preferences.navigation.fontSize,
+ };
// 棣栨鍔犺浇鏈鏁伴噺
handleNotificationGetUnreadCount();
// 杞鍒锋柊鏈鏁伴噺
--
Gitblit v1.9.3