refactor: ♻️ 字典重构,系统权限模块优化
This commit is contained in:
1779
src/types/auto-imports.d.ts
vendored
Normal file
1779
src/types/auto-imports.d.ts
vendored
Normal file
File diff suppressed because it is too large
Load Diff
106
src/types/components.d.ts
vendored
Normal file
106
src/types/components.d.ts
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// Generated by unplugin-vue-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
export {}
|
||||
|
||||
declare module "vue" {
|
||||
export interface GlobalComponents {
|
||||
AppLink: (typeof import("./../components/AppLink/index.vue"))["default"];
|
||||
AppMain: (typeof import("./../layout/components/AppMain/index.vue"))["default"];
|
||||
BarChart: (typeof import("./../views/dashboard/components/BarChart.vue"))["default"];
|
||||
Breadcrumb: (typeof import("./../components/Breadcrumb/index.vue"))["default"];
|
||||
CURD: (typeof import("./../components/CURD/index.vue"))["default"];
|
||||
DeptTree: (typeof import("./../views/system/user/components/dept-tree.vue"))["default"];
|
||||
UserImport: (typeof import("./../views/system/user/components/user-import.vue"))["default"];
|
||||
Dictionary: (typeof import("./../components/Dictionary/index.vue"))["default"];
|
||||
DictItem: (typeof import("./../views/system/dict/components/dict-item.vue"))["default"];
|
||||
ElBacktop: (typeof import("element-plus/es"))["ElBacktop"];
|
||||
ElBreadcrumb: (typeof import("element-plus/es"))["ElBreadcrumb"];
|
||||
ElBreadcrumbItem: (typeof import("element-plus/es"))["ElBreadcrumbItem"];
|
||||
ElButton: (typeof import("element-plus/es"))["ElButton"];
|
||||
ElCard: (typeof import("element-plus/es"))["ElCard"];
|
||||
ElCheckbox: (typeof import("element-plus/es"))["ElCheckbox"];
|
||||
ElCheckboxGroup: (typeof import("element-plus/es"))["ElCheckboxGroup"];
|
||||
ElCol: (typeof import("element-plus/es"))["ElCol"];
|
||||
ElColorPicker: (typeof import("element-plus/es"))["ElColorPicker"];
|
||||
ElConfigProvider: (typeof import("element-plus/es"))["ElConfigProvider"];
|
||||
ElDatePicker: (typeof import("element-plus/es"))["ElDatePicker"];
|
||||
ElDialog: (typeof import("element-plus/es"))["ElDialog"];
|
||||
ElDivider: (typeof import("element-plus/es"))["ElDivider"];
|
||||
ElDrawer: (typeof import("element-plus/es"))["ElDrawer"];
|
||||
ElDropdown: (typeof import("element-plus/es"))["ElDropdown"];
|
||||
ElDropdownItem: (typeof import("element-plus/es"))["ElDropdownItem"];
|
||||
ElDropdownMenu: (typeof import("element-plus/es"))["ElDropdownMenu"];
|
||||
ElForm: (typeof import("element-plus/es"))["ElForm"];
|
||||
ElFormItem: (typeof import("element-plus/es"))["ElFormItem"];
|
||||
ElIcon: (typeof import("element-plus/es"))["ElIcon"];
|
||||
ElImage: (typeof import("element-plus/es"))["ElImage"];
|
||||
ElInput: (typeof import("element-plus/es"))["ElInput"];
|
||||
ElInputNumber: (typeof import("element-plus/es"))["ElInputNumber"];
|
||||
ElLink: (typeof import("element-plus/es"))["ElLink"];
|
||||
ElMenu: (typeof import("element-plus/es"))["ElMenu"];
|
||||
ElMenuItem: (typeof import("element-plus/es"))["ElMenuItem"];
|
||||
ElOption: (typeof import("element-plus/es"))["ElOption"];
|
||||
ElPagination: (typeof import("element-plus/es"))["ElPagination"];
|
||||
ElPopover: (typeof import("element-plus/es"))["ElPopover"];
|
||||
ElRadio: (typeof import("element-plus/es"))["ElRadio"];
|
||||
ElRadioGroup: (typeof import("element-plus/es"))["ElRadioGroup"];
|
||||
ElRow: (typeof import("element-plus/es"))["ElRow"];
|
||||
ElScrollbar: (typeof import("element-plus/es"))["ElScrollbar"];
|
||||
ElSelect: (typeof import("element-plus/es"))["ElSelect"];
|
||||
ElStatistic: (typeof import("element-plus/es"))["ElStatistic"];
|
||||
ElSubMenu: (typeof import("element-plus/es"))["ElSubMenu"];
|
||||
ElSwitch: (typeof import("element-plus/es"))["ElSwitch"];
|
||||
ElTable: (typeof import("element-plus/es"))["ElTable"];
|
||||
ElTableColumn: (typeof import("element-plus/es"))["ElTableColumn"];
|
||||
ElTag: (typeof import("element-plus/es"))["ElTag"];
|
||||
ElText: (typeof import("element-plus/es"))["ElText"];
|
||||
ElTooltip: (typeof import("element-plus/es"))["ElTooltip"];
|
||||
ElTreeSelect: (typeof import("element-plus/es"))["ElTreeSelect"];
|
||||
ElUpload: (typeof import("element-plus/es"))["ElUpload"];
|
||||
ElWatermark: (typeof import("element-plus/es"))["ElWatermark"];
|
||||
Form: (typeof import("./../components/CURD/Form.vue"))["default"];
|
||||
FunnelChart: (typeof import("./../views/dashboard/components/FunnelChart.vue"))["default"];
|
||||
GithubCorner: (typeof import("./../components/GithubCorner/index.vue"))["default"];
|
||||
Hamburger: (typeof import("./../components/Hamburger/index.vue"))["default"];
|
||||
IconSelect: (typeof import("./../components/IconSelect/index.vue"))["default"];
|
||||
IEpArrowDown: (typeof import("~icons/ep/arrow-down"))["default"];
|
||||
IEpArrowUp: (typeof import("~icons/ep/arrow-up"))["default"];
|
||||
IEpClose: (typeof import("~icons/ep/close"))["default"];
|
||||
IEpDownload: (typeof import("~icons/ep/download"))["default"];
|
||||
LangSelect: (typeof import("./../components/LangSelect/index.vue"))["default"];
|
||||
LayoutSelect: (typeof import("./../layout/components/Settings/components/LayoutSelect.vue"))["default"];
|
||||
MultiUpload: (typeof import("./../components/Upload/MultiUpload.vue"))["default"];
|
||||
NavBar: (typeof import("./../layout/components/NavBar/index.vue"))["default"];
|
||||
NavbarLeft: (typeof import("./../layout/components/NavBar/components/NavbarLeft.vue"))["default"];
|
||||
NavbarRight: (typeof import("./../layout/components/NavBar/components/NavbarRight.vue"))["default"];
|
||||
PageContent: (typeof import("./../components/CURD/PageContent.vue"))["default"];
|
||||
PageForm: (typeof import("./../components/CURD/PageForm.vue"))["default"];
|
||||
PageModal: (typeof import("./../components/CURD/PageModal.vue"))["default"];
|
||||
PageSearch: (typeof import("./../components/CURD/PageSearch.vue"))["default"];
|
||||
Pagination: (typeof import("./../components/Pagination/index.vue"))["default"];
|
||||
PieChart: (typeof import("./../views/dashboard/components/PieChart.vue"))["default"];
|
||||
RadarChart: (typeof import("./../views/dashboard/components/RadarChart.vue"))["default"];
|
||||
RouterLink: (typeof import("vue-router"))["RouterLink"];
|
||||
RouterView: (typeof import("vue-router"))["RouterView"];
|
||||
Settings: (typeof import("./../layout/components/Settings/index.vue"))["default"];
|
||||
Sidebar: (typeof import("./../layout/components/Sidebar/index.vue"))["default"];
|
||||
SidebarLogo: (typeof import("./../layout/components/Sidebar/components/SidebarLogo.vue"))["default"];
|
||||
SidebarMenu: (typeof import("./../layout/components/Sidebar/components/SidebarMenu.vue"))["default"];
|
||||
SidebarMenuItem: (typeof import("./../layout/components/Sidebar/components/SidebarMenuItem.vue"))["default"];
|
||||
SidebarMenuItemTitle: (typeof import("./../layout/components/Sidebar/components/SidebarMenuItemTitle.vue"))["default"];
|
||||
SidebarMixTopMenu: (typeof import("./../layout/components/Sidebar/components/SidebarMixTopMenu.vue"))["default"];
|
||||
SingleUpload: (typeof import("./../components/Upload/SingleUpload.vue"))["default"];
|
||||
SizeSelect: (typeof import("./../components/SizeSelect/index.vue"))["default"];
|
||||
SvgIcon: (typeof import("./../components/SvgIcon/index.vue"))["default"];
|
||||
TableSelect: (typeof import("./../components/TableSelect/index.vue"))["default"];
|
||||
TagsView: (typeof import("./../layout/components/TagsView/index.vue"))["default"];
|
||||
ThemeColorPicker: (typeof import("./../layout/components/Settings/components/ThemeColorPicker.vue"))["default"];
|
||||
WangEditor: (typeof import("./../components/WangEditor/index.vue"))["default"];
|
||||
}
|
||||
export interface ComponentCustomProperties {
|
||||
vLoading: (typeof import("element-plus/es"))["ElLoadingDirective"];
|
||||
}
|
||||
}
|
||||
40
src/types/env.d.ts
vendored
Normal file
40
src/types/env.d.ts
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
// https://cn.vitejs.dev/guide/env-and-mode
|
||||
|
||||
declare module "*.vue" {
|
||||
import { DefineComponent } from "vue";
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
|
||||
const component: DefineComponent<{}, {}, any>;
|
||||
export default component;
|
||||
}
|
||||
|
||||
// TypeScript 类型提示都为 string: https://github.com/vitejs/vite/issues/6930
|
||||
interface ImportMetaEnv {
|
||||
/** 应用端口 */
|
||||
VITE_APP_PORT: number;
|
||||
/** API 基础路径(代理前缀) */
|
||||
VITE_APP_BASE_API: string;
|
||||
/** API 地址 */
|
||||
VITE_APP_API_URL: string;
|
||||
/** 是否开启 Mock 服务 */
|
||||
VITE_MOCK_DEV_SERVER: boolean;
|
||||
}
|
||||
|
||||
interface ImportMeta {
|
||||
readonly env: ImportMetaEnv;
|
||||
}
|
||||
|
||||
/**
|
||||
* 平台的名称、版本、运行所需的`node`版本、依赖、构建时间的类型提示
|
||||
*/
|
||||
declare const __APP_INFO__: {
|
||||
pkg: {
|
||||
name: string;
|
||||
version: string;
|
||||
engines: {
|
||||
node: string;
|
||||
};
|
||||
dependencies: Record<string, string>;
|
||||
devDependencies: Record<string, string>;
|
||||
};
|
||||
buildTimestamp: number;
|
||||
};
|
||||
95
src/types/global.d.ts
vendored
Normal file
95
src/types/global.d.ts
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
declare global {
|
||||
/**
|
||||
* 响应数据
|
||||
*/
|
||||
interface ResponseData<T = any> {
|
||||
code: string;
|
||||
data: T;
|
||||
msg: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询参数
|
||||
*/
|
||||
interface PageQuery {
|
||||
pageNum: number;
|
||||
pageSize: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页响应对象
|
||||
*/
|
||||
interface PageResult<T> {
|
||||
/** 数据列表 */
|
||||
list: T;
|
||||
/** 总数 */
|
||||
total: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 页签对象
|
||||
*/
|
||||
interface TagView {
|
||||
/** 页签名称 */
|
||||
name: string;
|
||||
/** 页签标题 */
|
||||
title: string;
|
||||
/** 页签路由路径 */
|
||||
path: string;
|
||||
/** 页签路由完整路径 */
|
||||
fullPath: string;
|
||||
/** 页签图标 */
|
||||
icon?: string;
|
||||
/** 是否固定页签 */
|
||||
affix?: boolean;
|
||||
/** 是否开启缓存 */
|
||||
keepAlive?: boolean;
|
||||
/** 路由查询参数 */
|
||||
query?: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统设置
|
||||
*/
|
||||
interface AppSettings {
|
||||
/** 系统标题 */
|
||||
title: string;
|
||||
/** 系统版本 */
|
||||
version: string;
|
||||
/** 是否显示设置 */
|
||||
showSettings: boolean;
|
||||
/** 是否固定头部 */
|
||||
fixedHeader: boolean;
|
||||
/** 是否显示多标签导航 */
|
||||
tagsView: boolean;
|
||||
/** 是否显示侧边栏Logo */
|
||||
sidebarLogo: boolean;
|
||||
/** 导航栏布局(left|top|mix) */
|
||||
layout: string;
|
||||
/** 主题颜色 */
|
||||
themeColor: string;
|
||||
/** 主题模式(dark|light) */
|
||||
theme: string;
|
||||
/** 布局大小(default |large |small) */
|
||||
size: string;
|
||||
/** 语言( zh-cn| en) */
|
||||
language: string;
|
||||
/** 是否开启水印 */
|
||||
watermarkEnabled: boolean;
|
||||
/** 水印内容 */
|
||||
watermarkContent: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 组件数据源
|
||||
*/
|
||||
interface OptionType {
|
||||
/** 值 */
|
||||
value: string | number;
|
||||
/** 文本 */
|
||||
label: string;
|
||||
/** 子列表 */
|
||||
children?: OptionType[];
|
||||
}
|
||||
}
|
||||
export {};
|
||||
60
src/types/router.d.ts
vendored
Normal file
60
src/types/router.d.ts
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
import "vue-router";
|
||||
|
||||
declare module "vue-router" {
|
||||
// https://router.vuejs.org/zh/guide/advanced/meta.html#typescript
|
||||
// 可以通过扩展 RouteMeta 接口来输入 meta 字段
|
||||
interface RouteMeta {
|
||||
/**
|
||||
* 菜单名称
|
||||
* @example 'Dashboard'
|
||||
*/
|
||||
title?: string;
|
||||
|
||||
/**
|
||||
* 菜单图标
|
||||
* @example 'el-icon-edit'
|
||||
*/
|
||||
icon?: string;
|
||||
|
||||
/**
|
||||
* 是否隐藏菜单项
|
||||
* true 隐藏, false 显示
|
||||
* @default false
|
||||
*/
|
||||
hidden?: boolean;
|
||||
|
||||
/**
|
||||
* 始终显示父级菜单,即使只有一个子菜单
|
||||
* true 显示父级菜单, false 隐藏父级菜单,显示唯一子节点
|
||||
* @default false
|
||||
*/
|
||||
alwaysShow?: boolean;
|
||||
|
||||
/**
|
||||
* 是否固定在页签上
|
||||
* true 固定, false 不固定
|
||||
* @default false
|
||||
*/
|
||||
affix?: boolean;
|
||||
|
||||
/**
|
||||
* 是否缓存页面
|
||||
* true 缓存, false 不缓存
|
||||
* @default false
|
||||
*/
|
||||
keepAlive?: boolean;
|
||||
|
||||
/**
|
||||
* 是否在面包屑导航中隐藏
|
||||
* true 隐藏, false 显示
|
||||
* @default false
|
||||
*/
|
||||
breadcrumb?: boolean;
|
||||
|
||||
/**
|
||||
* 拥有访问该菜单权限的角色编码集合
|
||||
* @example ['admin', 'editor']
|
||||
*/
|
||||
roles?: string[];
|
||||
}
|
||||
}
|
||||
6
src/types/socket.d.ts
vendored
Normal file
6
src/types/socket.d.ts
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
// https://github.com/sockjs/sockjs-client/issues/565
|
||||
|
||||
declare module "sockjs-client/dist/sockjs.min.js" {
|
||||
import Client from "sockjs-client";
|
||||
export default Client;
|
||||
}
|
||||
Reference in New Issue
Block a user