refactor: 重构项目结构 - enums/config/types/plugins

- 重构 enums: 按业务域合并为 5 个文件
- 创建 config: storage.ts, vxe-table.ts
- 删除 plugins,功能迁移到 main.ts
- 创建完整 types 结构
- 新增 utils: validators, websocket, register-components
- 创建 router/guards/permission.ts
- 更新配置文件
This commit is contained in:
Ray.Hao
2025-12-12 13:59:40 +08:00
parent add4237b1f
commit 9fb1942619
45 changed files with 836 additions and 834 deletions

View File

@@ -1,5 +1,12 @@
/**
* API响应码枚
* API
*
* @description
* API
*/
/**
* API
*/
export const enum ApiCodeEnum {
/**

47
src/enums/business.ts Normal file
View File

@@ -0,0 +1,47 @@
/**
* 业务相关枚举
*
* @description
* 包含菜单、用户、角色等业务实体的枚举定义
*/
/**
* 菜单类型枚举
*/
export enum MenuTypeEnum {
CATALOG = "C", // 目录
MENU = "M", // 菜单
BUTTON = "B", // 按钮
}
/**
* 用户性别枚举
*/
export enum UserGender {
/** 未知 */
UNKNOWN = 0,
/** 男 */
MALE = 1,
/** 女 */
FEMALE = 2,
}
/**
* 超级管理员角色标识
*
* @description
* 拥有系统最高权限,可以访问所有资源
*/
export const ROLE_ROOT = "ROOT";
/**
* 角色类型枚举
*/
export enum RoleType {
/** 超级管理员 */
ROOT = "ROOT",
/** 管理员 */
ADMIN = "ADMIN",
/** 普通用户 */
USER = "USER",
}

View File

@@ -1,3 +1,26 @@
/**
*
*
* @description
*
*/
/**
*
*/
export const FormTypeEnum: Record<string, OptionType> = {
INPUT: { value: 1, label: "输入框" },
SELECT: { value: 2, label: "下拉框" },
RADIO: { value: 3, label: "单选框" },
CHECK_BOX: { value: 4, label: "复选框" },
INPUT_NUMBER: { value: 5, label: "数字输入框" },
SWITCH: { value: 6, label: "开关" },
TEXT_AREA: { value: 7, label: "文本域" },
DATE: { value: 8, label: "日期框" },
DATE_TIME: { value: 9, label: "日期时间框" },
HIDDEN: { value: 10, label: "隐藏域" },
};
/**
*
*/

View File

@@ -1,15 +0,0 @@
/**
* 表单类型枚举
*/
export const FormTypeEnum: Record<string, OptionType> = {
INPUT: { value: 1, label: "输入框" },
SELECT: { value: 2, label: "下拉框" },
RADIO: { value: 3, label: "单选框" },
CHECK_BOX: { value: 4, label: "复选框" },
INPUT_NUMBER: { value: 5, label: "数字输入框" },
SWITCH: { value: 6, label: "开关" },
TEXT_AREA: { value: 7, label: "文本域" },
DATE: { value: 8, label: "日期框" },
DATE_TIME: { value: 9, label: "日期时间框" },
HIDDEN: { value: 10, label: "隐藏域" },
};

46
src/enums/common.ts Normal file
View File

@@ -0,0 +1,46 @@
/**
* 通用枚举
*
* @description
* 包含对话框模式、通用状态等跨业务的枚举定义
*/
/**
* 对话框模式枚举
*
* @description
* 定义对话框的操作模式(创建、编辑、查看)
*/
export enum DialogMode {
/** 创建模式 - 新增数据 */
CREATE = "create",
/** 编辑模式 - 修改数据 */
EDIT = "edit",
/** 查看模式 - 只读展示 */
VIEW = "view",
}
/**
* 通用状态枚举
*
* @description
* 适用于大多数业务实体的启用/禁用状态
*/
export enum CommonStatus {
/** 禁用 */
DISABLED = 0,
/** 启用 */
ENABLED = 1,
}
/**
* 审核状态枚举
*/
export enum AuditStatus {
/** 待审核 */
PENDING = 0,
/** 已通过 */
APPROVED = 1,
/** 已拒绝 */
REJECTED = 2,
}

View File

@@ -1,12 +0,0 @@
/**
* 通用对话框模式枚举
* @description 定义对话框的操作模式(创建、编辑、查看)
*/
export enum DialogMode {
/** 创建模式 - 新增数据 */
CREATE = "create",
/** 编辑模式 - 修改数据 */
EDIT = "edit",
/** 查看模式 - 只读展示 */
VIEW = "view",
}

View File

@@ -1,22 +0,0 @@
/**
* 通用状态枚举
* 适用于大多数业务实体的启用/禁用状态
*/
export enum CommonStatus {
/** 禁用 */
DISABLED = 0,
/** 启用 */
ENABLED = 1,
}
/**
* 审核状态枚举
*/
export enum AuditStatus {
/** 待审核 */
PENDING = 0,
/** 已通过 */
APPROVED = 1,
/** 已拒绝 */
REJECTED = 2,
}

View File

@@ -1,15 +1,12 @@
export * from "./api/code-enum";
/**
* 枚举统一导出
*
* @description
* 按业务域分组的枚举定义
*/
export * from "./codegen/form-enum";
export * from "./codegen/query-enum";
export * from "./settings/layout-enum";
export * from "./settings/theme-enum";
export * from "./settings/locale-enum";
export * from "./settings/device-enum";
export * from "./common/dialog-enum";
export * from "./common/status-enum";
export * from "./system/menu-enum";
export * from "./system/user-enum";
export * from "./api";
export * from "./business";
export * from "./codegen";
export * from "./common";
export * from "./settings";

123
src/enums/settings.ts Normal file
View File

@@ -0,0 +1,123 @@
/**
* 设置相关枚举
*
* @description
* 包含主题、布局、语言、设备等应用设置的枚举定义
*/
/**
* 主题模式枚举
*/
export const enum ThemeMode {
/**
* 明亮主题
*/
LIGHT = "light",
/**
* 暗黑主题
*/
DARK = "dark",
/**
* 系统自动
*/
AUTO = "auto",
}
/**
* 侧边栏配色方案枚举
*/
export const enum SidebarColor {
/**
* 经典蓝
*/
CLASSIC_BLUE = "classic-blue",
/**
* 极简白
*/
MINIMAL_WHITE = "minimal-white",
}
/**
* 菜单布局枚举
*/
export const enum LayoutMode {
/**
* 左侧菜单布局
*/
LEFT = "left",
/**
* 顶部菜单布局
*/
TOP = "top",
/**
* 混合菜单布局
*/
MIX = "mix",
}
/**
* 侧边栏状态枚举
*/
export const enum SidebarStatus {
/**
* 展开
*/
OPENED = "opened",
/**
* 关闭
*/
CLOSED = "closed",
}
/**
* 组件尺寸枚举
*/
export const enum ComponentSize {
/**
* 默认
*/
DEFAULT = "default",
/**
* 大型
*/
LARGE = "large",
/**
* 小型
*/
SMALL = "small",
}
/**
* 语言枚举
*/
export const enum LanguageEnum {
/**
* 中文
*/
ZH_CN = "zh-cn",
/**
* 英文
*/
EN = "en",
}
/**
* 设备枚举
*/
export const enum DeviceEnum {
/**
* 宽屏设备
*/
DESKTOP = "desktop",
/**
* 窄屏设备
*/
MOBILE = "mobile",
}

View File

@@ -1,14 +0,0 @@
/**
* 设备枚举
*/
export const enum DeviceEnum {
/**
* 宽屏设备
*/
DESKTOP = "desktop",
/**
* 窄屏设备
*/
MOBILE = "mobile",
}

View File

@@ -1,53 +0,0 @@
/**
* 菜单布局枚举
*/
export const enum LayoutMode {
/**
* 左侧菜单布局
*/
LEFT = "left",
/**
* 顶部菜单布局
*/
TOP = "top",
/**
* 混合菜单布局
*/
MIX = "mix",
}
/**
* 侧边栏状态枚举
*/
export const enum SidebarStatus {
/**
* 展开
*/
OPENED = "opened",
/**
* 关闭
*/
CLOSED = "closed",
}
/**
* 组件尺寸枚举
*/
export const enum ComponentSize {
/**
* 默认
*/
DEFAULT = "default",
/**
* 大型
*/
LARGE = "large",
/**
* 小型
*/
SMALL = "small",
}

View File

@@ -1,14 +0,0 @@
/**
* 语言枚举
*/
export const enum LanguageEnum {
/**
* 中文
*/
ZH_CN = "zh-cn",
/**
* 英文
*/
EN = "en",
}

View File

@@ -1,32 +0,0 @@
/**
* 主题枚举
*/
export const enum ThemeMode {
/**
* 明亮主题
*/
LIGHT = "light",
/**
* 暗黑主题
*/
DARK = "dark",
/**
* 系统自动
*/
AUTO = "auto",
}
/**
* 侧边栏配色方案枚举
*/
export const enum SidebarColor {
/**
* 经典蓝
*/
CLASSIC_BLUE = "classic-blue",
/**
* 极简白
*/
MINIMAL_WHITE = "minimal-white",
}

View File

@@ -1,6 +0,0 @@
// 核心枚举定义
export enum MenuTypeEnum {
CATALOG = "C", // 目录
MENU = "M", // 菜单
BUTTON = "B", // 按钮
}

View File

@@ -1,11 +0,0 @@
/**
* 用户性别枚举
*/
export enum UserGender {
/** 未知 */
UNKNOWN = 0,
/** 男 */
MALE = 1,
/** 女 */
FEMALE = 2,
}