Align frontend branding defaults

This commit is contained in:
2026-06-09 08:44:04 +08:00
parent a8e264f652
commit 959624240f
7 changed files with 33 additions and 8 deletions
+2
View File
@@ -1,4 +1,6 @@
# public path # public path
VITE_APP_TITLE=AI Agent Admin
VITE_BASE=/ VITE_BASE=/
# Basic interface address SPA # Basic interface address SPA
+2
View File
@@ -1,6 +1,8 @@
# 端口号 # 端口号
VITE_PORT=5777 VITE_PORT=5777
VITE_APP_TITLE=AI Agent Admin
VITE_BASE=/ VITE_BASE=/
# 接口地址 # 接口地址
+11
View File
@@ -128,6 +128,17 @@ async function initApplication() {
// 4. 合并配置:后端配置优先级高于前端配置 // 4. 合并配置:后端配置优先级高于前端配置
// defu/merge 的特点是第一个参数优先,所以后端配置放前面 // defu/merge 的特点是第一个参数优先,所以后端配置放前面
const finalPreferences = merge({}, backendPreferences, overridesPreferences); const finalPreferences = merge({}, backendPreferences, overridesPreferences);
if (overridesPreferences.app?.name) {
finalPreferences.app = finalPreferences.app || {};
finalPreferences.app.name = overridesPreferences.app.name;
}
if (overridesPreferences.copyright) {
finalPreferences.copyright = merge(
{},
overridesPreferences.copyright,
finalPreferences.copyright,
);
}
console.log('[配置加载] 合并后配置:', finalPreferences); console.log('[配置加载] 合并后配置:', finalPreferences);
// 5. app偏好设置初始化 // 5. app偏好设置初始化
+1 -1
View File
@@ -93,7 +93,7 @@ async function loadAndConvertEnv(
.filter((item) => item === 'brotli' || item === 'gzip'); .filter((item) => item === 'brotli' || item === 'gzip');
return { return {
appTitle: getString(VITE_APP_TITLE, 'Vben Admin'), appTitle: getString(VITE_APP_TITLE, 'AI Agent Admin'),
archiver: getBoolean(VITE_ARCHIVER), archiver: getBoolean(VITE_ARCHIVER),
base: getString(VITE_BASE, '/'), base: getString(VITE_BASE, '/'),
compress: compressTypes.length > 0, compress: compressTypes.length > 0,
@@ -17,7 +17,7 @@ exports[`defaultPreferences immutability test > should not modify the config obj
"contentPaddingRight": 0, "contentPaddingRight": 0,
"contentPaddingTop": 0, "contentPaddingTop": 0,
"defaultAvatar": "https://unpkg.com/@vbenjs/static-source@0.1.7/source/avatar-v1.webp", "defaultAvatar": "https://unpkg.com/@vbenjs/static-source@0.1.7/source/avatar-v1.webp",
"defaultHomePath": "/analytics", "defaultHomePath": "/control-center",
"dynamicTitle": true, "dynamicTitle": true,
"enableCheckUpdates": true, "enableCheckUpdates": true,
"enablePreferences": true, "enablePreferences": true,
@@ -27,7 +27,7 @@ exports[`defaultPreferences immutability test > should not modify the config obj
"layout": "sidebar-nav", "layout": "sidebar-nav",
"locale": "zh-CN", "locale": "zh-CN",
"loginExpiredMode": "page", "loginExpiredMode": "page",
"name": "Vben Admin", "name": "AI Agent Admin",
"preferencesButtonPosition": "auto", "preferencesButtonPosition": "auto",
"watermark": false, "watermark": false,
"watermarkContent": "", "watermarkContent": "",
@@ -41,12 +41,15 @@ exports[`defaultPreferences immutability test > should not modify the config obj
"styleType": "normal", "styleType": "normal",
}, },
"copyright": { "copyright": {
"companyName": "Vben", "companyName": "ZQ-Platform",
"companySiteLink": "https://www.vben.pro", "companySiteLink": "https://django-ninja.zq-platform.cn/analytics",
"date": "2024", "date": "2025",
"enable": true, "enable": true,
"icp": "", "icp": "",
"icpLink": "", "icpLink": "",
"loginOnly": true,
"policeIcp": "",
"policeIcpLink": "",
"settingShow": true, "settingShow": true,
}, },
"footer": { "footer": {
@@ -131,10 +134,10 @@ exports[`defaultPreferences immutability test > should not modify the config obj
"lockScreen": true, "lockScreen": true,
"notification": true, "notification": true,
"refresh": true, "refresh": true,
"sidebarBranding": true,
"sidebarToggle": true, "sidebarToggle": true,
"themeToggle": true, "themeToggle": true,
"timezone": true, "timezone": true,
"sidebarBranding": true,
}, },
} }
`; `;
+1 -1
View File
@@ -27,7 +27,7 @@ const defaultPreferences: Preferences = {
layout: 'sidebar-nav', layout: 'sidebar-nav',
locale: 'zh-CN', locale: 'zh-CN',
loginExpiredMode: 'page', loginExpiredMode: 'page',
name: 'Vben Admin', name: 'AI Agent Admin',
preferencesButtonPosition: 'auto', preferencesButtonPosition: 'auto',
watermark: false, watermark: false,
watermarkContent: '', watermarkContent: '',
@@ -100,6 +100,13 @@ class PreferenceManager {
if (overrides?.logo?.enable !== undefined) { if (overrides?.logo?.enable !== undefined) {
mergedPreference.logo.enable = overrides.logo.enable; mergedPreference.logo.enable = overrides.logo.enable;
} }
if (overrides?.copyright) {
mergedPreference.copyright = merge(
{},
overrides.copyright,
mergedPreference.copyright,
);
}
// 更新偏好设置 // 更新偏好设置
this.updatePreferences(mergedPreference); this.updatePreferences(mergedPreference);