feat: 项目结构重构优化

This commit is contained in:
Ray.Hao
2025-12-26 12:35:37 +08:00
parent 65ad4fe59f
commit aa374dd2ba
164 changed files with 11305 additions and 3103 deletions

View File

@@ -1,67 +1,55 @@
import { LayoutMode, ComponentSize, SidebarColor, ThemeMode, LanguageEnum } from "./enums";
const { pkg } = __APP_INFO__;
// 检查用户的操作系统是否使用深色模式
const mediaQueryList = window.matchMedia("(prefers-color-scheme: dark)");
export const defaultSettings: AppSettings = {
// 系统Title
title: pkg.name,
// 系统版本
version: pkg.version,
// 是否显示设置
showSettings: true,
// 是否显示标签视图
showTagsView: true,
// 是否显示应用Logo
showAppLogo: true,
// 布局方式,默认为左侧布局
layout: LayoutMode.LEFT,
// 主题,根据操作系统的色彩方案自动选择
theme: mediaQueryList.matches ? ThemeMode.DARK : ThemeMode.LIGHT,
// 组件大小 default | medium | small | large
size: ComponentSize.DEFAULT,
// 语言
language: LanguageEnum.ZH_CN,
// 主题颜色 - 修改此值时需同步修改 src/styles/element-plus-vars.scss
themeColor: "#4080FF",
// 是否显示水印
showWatermark: false,
// 水印内容
watermarkContent: pkg.name,
// 侧边栏配色方案
sidebarColorScheme: SidebarColor.CLASSIC_BLUE,
// 是否启用 AI 助手
enableAiAssistant: false,
};
/**
* 认证功能配置
* 应用配置
*/
export const authConfig = {
/**
* Token自动刷新开关
*
* true: 启用自动刷新 - ACCESS_TOKEN_INVALID时尝试刷新token
* false: 禁用自动刷新 - ACCESS_TOKEN_INVALID时直接跳转登录页
*
* 适用场景后端没有刷新接口或不需要自动刷新的项目可设为false
*/
enableTokenRefresh: true,
import { LayoutMode, ComponentSize, SidebarColor, ThemeMode, LanguageEnum } from "@/enums";
const env = import.meta.env;
const { pkg } = __APP_INFO__;
const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
// ============================================
// 应用配置
// ============================================
export const appConfig = {
name: pkg.name as string,
version: pkg.version as string,
title: (env.VITE_APP_TITLE as string) || pkg.name,
// 功能开关
tenantEnabled: env.VITE_APP_TENANT_ENABLED === "true",
aiEnabled: env.VITE_ENABLE_AI_ASSISTANT === "true",
} as const;
// 主题色预设 - 经典配色方案
// 注意:修改默认主题色时,需要同步修改 src/styles/element-plus-vars.scss 中的 primary.base
// ============================================
// 用户偏好默认
// ============================================
export const defaults = {
theme: prefersDark ? ThemeMode.DARK : ThemeMode.LIGHT,
themeColor: "#4080FF",
sidebarColorScheme: SidebarColor.CLASSIC_BLUE,
layout: LayoutMode.LEFT,
size: ComponentSize.DEFAULT,
language: LanguageEnum.ZH_CN,
showTagsView: true,
showAppLogo: true,
showWatermark: false,
showSettings: true,
watermarkContent: pkg.name,
} as const;
// ============================================
// 主题色预设
// ============================================
export const themeColorPresets = [
"#4080FF", // Arco Design 蓝 - 现代感强
"#1890FF", // Ant Design 蓝 - 经典商务
"#409EFF", // Element Plus 蓝 - 清新自然
"#FA8C16", // 活力橙 - 温暖友好
"#722ED1", // 优雅紫 - 高端大气
"#13C2C2", // 青色 - 科技感
"#52C41A", // 成功绿 - 活力清新
"#F5222D", // 警示红 - 醒目强烈
"#2F54EB", // 深蓝 - 稳重专业
"#EB2F96", // 品红 - 时尚个性
];
"#4080FF",
"#1890FF",
"#409EFF",
"#FA8C16",
"#722ED1",
"#13C2C2",
"#52C41A",
"#F5222D",
"#2F54EB",
"#EB2F96",
] as const;