1.说明
本章解析的是src\enums
下的文件。可以直接拷贝文件夹,本章主要将代码加上了注释。
2.appEnum.ts
src\enums\appEnum.ts
// 无标题菜单的最小宽度
export const SIDE_BAR_MINI_WIDTH = 48;
// 有标题菜单的最小宽度
export const SIDE_BAR_SHOW_TIT_MINI_WIDTH = 80;
// 内容区域宽度的枚举类型
export enum ContentEnum {
// auto width
// 流式
FULL = 'full',
// fixed width
// 定宽
FIXED = 'fixed',
}
// app current theme
// 这个没地方用
export enum ThemeModeEnum {
LIGHT = 'light-mode',
DARK = 'dark-mode',
SEMI_DARK = 'semi-dark-mode',
}
// menu theme enum
// 菜单主题类型
export enum ThemeEnum {
DARK = 'dark',
LIGHT = 'light',
}
// 设置按钮的位置枚举
export enum SettingButtonPositionEnum {
// 两种都有
AUTO = 'auto',
// 头部
HEADER = 'header',
// 固定在窗口右侧
FIXED = 'fixed',
}
/**
* 权限模式
*/
export enum PermissionModeEnum {
// role
// 角色模式
ROLE = 'ROLE',
// black
// 根据用户ID从后端获取
BACK = 'BACK',
}
// Route switching animation
// 路由切换的动画类型
export enum RouterTransitionEnum {
ZOOM_FADE = 'zoom-fade',
ZOOM_OUT = 'zoom-out',
FADE_SIDE = 'fade-slide',
FADE = 'fade',
FADE_BOTTOM = 'fade-bottom',
FADE_SCALE = 'fade-scale',
}
3.breakpointEnum.ts
src\enums\breakpointEnum.ts
// 屏幕等级
export enum sizeEnum {
XS = 'XS',
SM = 'SM',
MD = 'MD',
LG = 'LG',
XL = 'XL',
XXL = 'XXL',
}
// 屏幕等级对应的像素
export enum screenEnum {
XS = 480,
SM = 576,
MD = 768,
LG = 992,
XL = 1200,
XXL = 1600,
}
// 屏幕等级像素Map
const screenMap = new Map<sizeEnum, number>();
screenMap.set(sizeEnum.XS, screenEnum.XS);
screenMap.set(sizeEnum.SM, screenEnum.SM);
screenMap.set(sizeEnum.MD, screenEnum.MD);
screenMap.set(sizeEnum.LG, screenEnum.LG);
screenMap.set(sizeEnum.XL, screenEnum.XL);
screenMap.set(sizeEnum.XXL, screenEnum.XXL);
// 根据等级获取像素
export { screenMap };
4.cacheEnum.ts
src\enums\cacheEnum.ts
// 存在内存和Storage中的缓存的Key
// token key
// 存在内存中的token的Key
// 具体是哪一种内存要看/@/settings/projectSetting中的permissionCacheType
export const TOKEN_KEY = 'TOKEN__';
// 存在LocalStorage中的国际化对象Key
export const LOCALE_KEY = 'LOCALE__';
// user info key
// 存在内存中的用户信息Key
// 具体是哪一种内存要看/@/settings/projectSetting中的permissionCacheType
export const USER_INFO_KEY = 'USER__INFO__';
// role info key
// 存在内存中的角色信息Key
// 具体是哪一种内存要看/@/settings/projectSetting中的permissionCacheType
export const ROLES_KEY = 'ROLES__KEY__';
// project config key
// 存在LocalStorage内存中的项目
export const PROJ_CFG_KEY = 'PROJ__CFG__KEY__';
// lock info
// 存在LocalStorage内存中的锁屏信息
export const LOCK_INFO_KEY = 'LOCK__INFO__KEY__';
// base global local key
// 存在LocalStorage中缓存的Key
export const APP_LOCAL_CACHE_KEY = 'COMMON__LOCAL__KEY__';
// base global session key
// 存在SessionStorage中缓存的Key
export const APP_SESSION_CACHE_KEY = 'COMMON__SESSION__KEY__';
// 缓存的类型
export enum CacheTypeEnum {
SESSION,
LOCAL,
}
5.exceptionEnum.ts
src\enums\exceptionEnum.ts
/**
* @description: Exception related enumeration
*/
// 错误选项枚举类
export enum ExceptionEnum {
// page not access
// 页面无权限错误
PAGE_NOT_ACCESS = 403,
// page not found
// 页面找不到
PAGE_NOT_FOUND = 404,
// error
// 服务器错误
ERROR = 500,
// net work error
// 前端Js错误
NET_WORK_ERROR = 10000,
// No data on the page. In fact, it is not an exception page
// 无数据页面
PAGE_NOT_DATA = 10100,
}
// 错误类型枚举
// 这些错误被存储在LocalStorage中
export enum ErrorTypeEnum {
// vue错误
VUE = 'vue',
// js错误
SCRIPT = 'script',
// 资源请求错误
RESOURCE = 'resource',
// ajax错误
AJAX = 'ajax',
// promise的错误
PROMISE = 'promise',
}
6.httpEnum.ts
src\enums\httpEnum.ts
/**
* @description: Request result set
*/
// http请求结果举类
export enum ResultEnum {
SUCCESS = 0,
ERROR = 1,
TIMEOUT = 401,
TYPE = 'success',
}
/**
* @description: request method
*/
// http请求类型
export enum RequestEnum {
GET = 'GET',
POST = 'POST',
PUT = 'PUT',
DELETE = 'DELETE',
}
/**
* @description: contentTyp
*/
// http请求的内容类型
export enum ContentTypeEnum {
// json
JSON = 'application/json;charset=UTF-8',
// form-data qs
FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
// form-data upload
FORM_DATA = 'multipart/form-data;charset=UTF-8',
}
7.keyCodeEnum.ts
src\enums\keyCodeEnum.ts
// 键盘按钮的KeyCode
export const enum KeyCodeEnum {
UP = 38,
DOWN = 40,
ENTER = 13,
ESC = 27,
}
src\enums\menuEnum.ts
/**
* @description: menu type
*/
// 菜单的四种类型
export enum MenuTypeEnum {
// left menu
// 左侧菜单模式
SIDEBAR = 'sidebar',
// 左侧菜单混合模式
MIX_SIDEBAR = 'mix-sidebar',
// mixin menu
// 顶部菜单混合模式
MIX = 'mix',
// top menu
// 顶部菜单
TOP_MENU = 'top-menu',
}
// 折叠触发器位置
export enum TriggerEnum {
// 不显示
NONE = 'NONE',
// 菜单底部
FOOTER = 'FOOTER',
// 头部
HEADER = 'HEADER',
}
// 这个没地方用
export type Mode = 'vertical' | 'vertical-right' | 'horizontal' | 'inline';
// menu mode
// 菜单的显示方式,参考type配置中的mode
export enum MenuModeEnum {
VERTICAL = 'vertical',
HORIZONTAL = 'horizontal',
VERTICAL_RIGHT = 'vertical-right',
INLINE = 'inline',
}
// 字面意思是菜单分割类型,但是意思不是很清晰,后面再说
export enum MenuSplitTyeEnum {
NONE,
TOP,
LEFT,
}
// 菜单在底部的对齐方式
export enum TopMenuAlignEnum {
CENTER = 'center',
START = 'start',
END = 'end',
}
// 混合菜单触发方式类型
export enum MixSidebarTriggerEnum {
HOVER = 'hover',
CLICK = 'click',
}
9.pageEnum.ts
src\enums\pageEnum.ts
// 基础页面路径枚举
export enum PageEnum {
// basic login path
BASE_LOGIN = '/login',
// basic home path
BASE_HOME = '/home',
// error page path
ERROR_PAGE = '/exception',
// error log page path
ERROR_LOG_PAGE = '/error-log/list',
}
10.roleEnum.ts
src\enums\roleEnum.ts
// 所有角色枚举
export enum RoleEnum {
// super admin
SUPER = 'super',
// tester
TEST = 'test',
}
11.sizeEnum.ts
src\enums\sizeEnum.ts
// antd组件中组件大小
export enum SizeEnum {
DEFAULT = 'default',
SMALL = 'small',
LARGE = 'large',
}
// 这个数字没地方用
export enum SizeNumberEnum {
DEFAULT = 48,
SMALL = 16,
LARGE = 64,
}
export const sizeMap: Map<SizeEnum, SizeNumberEnum> = (() => {
const map = new Map<SizeEnum, SizeNumberEnum>();
map.set(SizeEnum.DEFAULT, SizeNumberEnum.DEFAULT);
map.set(SizeEnum.SMALL, SizeNumberEnum.SMALL);
map.set(SizeEnum.LARGE, SizeNumberEnum.LARGE);
return map;
})();
上一章
第六十四章-iconKey集合生成器
下一章
第六十六章-VbenAdmin所有类型定义文件