refactor: API类型声明优化调整

Former-commit-id: 0ae696c2e872fa90feba0c5df9a92391c02d3e0b
This commit is contained in:
haoxr
2022-11-08 22:53:42 +08:00
parent 94b93f02a1
commit b39ff7b1f6
38 changed files with 468 additions and 513 deletions

View File

@@ -1,9 +0,0 @@
export interface PageQueryParam {
pageNum: number;
pageSize: number;
}
export interface PageResult<T> {
list: T;
total: number;
}

View File

@@ -1,35 +0,0 @@
/**
* 部门查询参数类型声明
*/
export interface DeptQueryParam {
keywords: string | undefined;
status: number | undefined;
}
/**
* 部门列表项声明
*/
export interface DeptItem {
id: string;
name: string;
parentId: string;
treePath: string;
sort: number;
status: number;
leader?: string;
mobile?: string;
email?: string;
children: DeptItem[];
}
/**
* 部门表单类型声明
*/
export interface DeptFormData {
id?: string;
parentId: string;
name: string;
sort: number;
status: number;
}

View File

@@ -1,86 +0,0 @@
import { PageQueryParam, PageResult } from './base';
/**
* 字典查询参数类型声明
*/
export interface DictQueryParam extends PageQueryParam {
/**
* 字典名称
*/
name: string | undefined;
}
/**
* 字典分页列表项声明
*/
export interface Dict {
id: number;
code: string;
name: string;
status: number;
remark: string;
}
/**
* 字典分页项类型声明
*/
export type DictPageResult = PageResult<Dict[]>;
/**
* 字典表单类型声明
*/
export interface DictTypeFormData {
id: number | undefined;
name: string;
code: string;
status: number;
remark: string;
}
/**
* 字典项查询参数类型声明
*/
export interface DictItemQueryParam extends PageQueryParam {
/**
* 字典项名称
*/
name?: string;
/**
* 字典类型编码
*/
typeCode?: string;
}
/**
* 字典分页列表项声明
*/
export interface DictItem {
id: number;
name: string;
value: string;
dictCode: string;
sort: number;
status: number;
defaulted: number;
remark?: string;
}
/**
* 字典分页项类型声明
*/
export type DictItemPageResult = PageResult<DictItem[]>;
/**
* 字典表单类型声明
*/
export interface DictItemFormData {
id?: number;
typeCode?: string;
typeName?: string;
name: string;
code: string;
value: string;
status: number;
sort: number;
remark: string;
}

View File

@@ -1,105 +0,0 @@
/**
* 菜单查询参数类型声明
*/
export interface MenuQueryParam {
keywords?: string;
}
/**
* 菜单分页列表项声明
*/
export interface MenuItem {
id?: number;
parentId: number;
type?: string | 'CATEGORY' | 'MENU' | 'EXTLINK';
createTime: string;
updateTime: string;
name: string;
icon: string;
component: string;
sort: number;
visible: number;
children: MenuItem[];
}
/**
* 菜单表单类型声明
*/
export interface MenuFormData {
/**
* 菜单ID
*/
id?: string;
/**
* 父菜单ID
*/
parentId: string;
/**
* 菜单名称
*/
name: string;
/**
* 菜单是否可见(1:是;0:否;)
*/
visible: number;
icon?: string;
/**
* 排序
*/
sort: number;
/**
* 组件路径
*/
component?: string;
/**
* 路由路径
*/
path: string;
/**
* 跳转路由路径
*/
redirect?: string;
/**
* 菜单类型
*/
type: string;
/**
* 权限标识
*/
perm?: string;
}
/**
* 资源(菜单+权限)类型
*/
export interface Resource {
/**
* 菜单值
*/
value: string;
/**
* 菜单文本
*/
label: string;
/**
* 子菜单
*/
children: Resource[];
}
/**
* 权限类型
*/
export interface Permission {
/**
* 权限值
*/
value: string;
/**
* 权限文本
*/
label: string;
}

View File

@@ -1,37 +0,0 @@
import { PageQueryParam, PageResult } from './base';
/**
* 权限查询参数类型声明
*/
export interface PermQueryParam extends PageQueryParam {
menuId: any;
name: string | undefined;
}
/**
* 权限分页列表项声明
*/
export interface PermItem {
id: number;
name: string;
menuId: string;
urlPerm: string;
btnPerm: string;
roles?: string[];
}
/**
* 权限分页项类型声明
*/
export type PermPageResult = PageResult<PermItem[]>;
/**
* 权限表单类型声明
*/
export interface PermFormData {
id: number | undefined;
name: string;
urlPerm: string;
btnPerm: string;
menuId: string;
}

View File

@@ -1,46 +0,0 @@
import { PageQueryParam, PageResult } from './base';
/**
* 角色查询参数类型
*/
export interface RoleQueryParam extends PageQueryParam {
keywords?: string;
}
/**
* 角色分页列表项
*/
export interface RoleItem {
id: string;
name: string;
code: string;
sort: number;
status: number;
deleted: number;
menuIds?: any;
permissionIds?: any;
}
/**
* 角色分页项类型
*/
export type RolePageResult = PageResult<RoleItem[]>;
/**
* 角色表单类型
*/
export interface RoleFormData {
id: string | undefined;
name: string;
code: string;
sort: number;
status: number;
}
/**
*
*/
export interface RoleResource {
menuIds: string[];
permIds: string[];
}

View File

@@ -1,84 +0,0 @@
import { PageQueryParam, PageResult } from './base';
/**
* 登录表单
*/
export interface LoginFormData {
username: string;
password: string;
grant_type: string;
}
/**
* 登录响应
*/
export interface LoginResponseData {
access_token: string;
token_type: string;
}
/**
* 登录用户信息
*/
export interface UserInfo {
nickname: string;
avatar: string;
roles: string[];
perms: string[];
}
/**
* 用户查询参数
*/
export interface UserQueryParam extends PageQueryParam {
keywords: string;
status: number;
deptId: number;
}
/**
* 用户分页列表项声明
*/
export interface UserItem {
id: string;
username: string;
nickname: string;
mobile: string;
gender: number;
avatar: string;
email: string;
status: number;
deptName: string;
roleNames: string;
createTime: string;
}
/**
* 用户分页项类型声明
*/
export type UserPageResult = PageResult<UserItem[]>;
/**
* 用户表单类型声明
*/
export interface UserFormData {
id: number | undefined;
deptId: number;
username: string;
nickname: string;
password: string;
mobile: string;
email: string;
gender: number;
status: number;
remark: string;
roleIds: number[];
}
/**
* 用户导入表单类型声明
*/
export interface UserImportData {
deptId: number;
roleIds: number[];
}

17
src/types/common.d.ts vendored
View File

@@ -1,17 +0,0 @@
/**
* 弹窗类型
*/
export interface Dialog {
title: string;
visible: boolean;
}
/**
* 通用组件选择项类型
*/
export interface Option {
value: string;
label: string;
checked?: boolean;
children?: Option[];
}

View File

@@ -1,12 +0,0 @@
/**
* 系统类型声明
*/
export interface AppState {
device: string;
sidebar: {
opened: boolean;
withoutAnimation: boolean;
};
language: string;
size: string;
}

View File

@@ -1,7 +0,0 @@
/**
* 权限类型声明
*/
export interface PermissionState {
routes: RouteRecordRaw[];
addRoutes: RouteRecordRaw[];
}

View File

@@ -1,10 +0,0 @@
/**
* 设置状态类型声明
*/
export interface SettingState {
theme: string;
tagsView: boolean;
fixedHeader: boolean;
showSettings: boolean;
sidebarLogo: boolean;
}

View File

@@ -1,13 +0,0 @@
import { RouteLocationNormalized } from 'vue-router';
/**
* 标签状态类型声明
*/
export interface TagView extends Partial<RouteLocationNormalized> {
title?: string;
}
export interface TagsViewState {
visitedViews: TagView[];
cachedViews: string[];
}

View File

@@ -1,7 +0,0 @@
export interface UserState {
token: string;
nickname: string;
avatar: string;
roles: string[];
perms: string[];
}