第六十五章-VbenAdmin的枚举类型

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,
}

8.menuEnum.ts

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所有类型定义文件

# vben 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×