前端types修改
This commit is contained in:
86
schoolNewsWeb/src/types/auth/index.ts
Normal file
86
schoolNewsWeb/src/types/auth/index.ts
Normal file
@@ -0,0 +1,86 @@
|
||||
/**
|
||||
* @description 认证相关类型定义
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
import { SysUser, SysUserInfo } from '../user';
|
||||
import { DeptRoleVO } from '../dept';
|
||||
import { SysPermission } from '../permission';
|
||||
import { SysMenu } from '../menu';
|
||||
import { LoginType } from '../enums';
|
||||
|
||||
/**
|
||||
* 登录参数
|
||||
*/
|
||||
export interface LoginParam {
|
||||
/** 登录类型 */
|
||||
loginType?: LoginType;
|
||||
/** 用户名 */
|
||||
username?: string;
|
||||
/** 邮箱 */
|
||||
email?: string;
|
||||
/** 手机号 */
|
||||
phone?: string;
|
||||
/** 微信ID */
|
||||
wechatID?: string;
|
||||
/** 密码 */
|
||||
password?: string;
|
||||
/** 验证码 */
|
||||
captcha?: string;
|
||||
/** 验证码ID */
|
||||
captchaId?: string;
|
||||
/** 记住我 */
|
||||
rememberMe?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录域对象 - 包含登录后的所有用户信息
|
||||
*/
|
||||
export interface LoginDomain {
|
||||
/** 用户基本信息 */
|
||||
user?: SysUser;
|
||||
/** 用户详细信息 */
|
||||
userInfo?: SysUserInfo;
|
||||
/** 用户角色列表 */
|
||||
roles?: DeptRoleVO[];
|
||||
/** 用户权限列表 */
|
||||
permissions?: SysPermission[];
|
||||
/** 用户菜单列表 */
|
||||
menus?: SysMenu[];
|
||||
/** JWT令牌 */
|
||||
token?: string;
|
||||
/** 令牌过期时间 */
|
||||
tokenExpireTime?: string;
|
||||
/** 登录时间 */
|
||||
loginTime?: string;
|
||||
/** 登录IP地址 */
|
||||
ipAddress?: string;
|
||||
/** 登录类型 */
|
||||
loginType?: LoginType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录日志
|
||||
*/
|
||||
export interface SysLoginLog {
|
||||
/** ID */
|
||||
id?: string;
|
||||
/** 用户ID */
|
||||
userID?: string;
|
||||
/** 用户名 */
|
||||
username?: string;
|
||||
/** 登录状态 0-失败 1-成功 */
|
||||
status?: number;
|
||||
/** 登录消息 */
|
||||
message?: string;
|
||||
/** 登录时间 */
|
||||
loginTime?: string;
|
||||
/** 登录IP */
|
||||
ipAddress?: string;
|
||||
/** 浏览器 */
|
||||
browser?: string;
|
||||
/** 操作系统 */
|
||||
os?: string;
|
||||
}
|
||||
|
||||
76
schoolNewsWeb/src/types/base/index.ts
Normal file
76
schoolNewsWeb/src/types/base/index.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
/**
|
||||
* @description 基础数据传输对象类型定义
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
/**
|
||||
* 基础DTO - 包含所有实体的公共字段
|
||||
*/
|
||||
export interface BaseDTO {
|
||||
/** 主键ID */
|
||||
id?: string;
|
||||
/** 创建时间 */
|
||||
createTime?: string;
|
||||
/** 更新时间 */
|
||||
updateTime?: string;
|
||||
/** 删除时间 */
|
||||
deleteTime?: string;
|
||||
/** 是否删除 */
|
||||
deleted?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页参数
|
||||
*/
|
||||
export interface PageParam {
|
||||
/** 当前页码 */
|
||||
page?: number;
|
||||
/** 每页条数 */
|
||||
size?: number;
|
||||
/** 排序字段 */
|
||||
orderBy?: string;
|
||||
/** 排序方向 asc/desc */
|
||||
orderDirection?: 'asc' | 'desc';
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页结果
|
||||
*/
|
||||
export interface PageDomain<T> {
|
||||
/** 当前页码 */
|
||||
page: number;
|
||||
/** 每页条数 */
|
||||
size: number;
|
||||
/** 总记录数 */
|
||||
total: number;
|
||||
/** 总页数 */
|
||||
pages: number;
|
||||
/** 数据列表 */
|
||||
records: T[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 统一返回结果
|
||||
*/
|
||||
export interface ResultDomain<T> {
|
||||
/** 状态码 */
|
||||
code: number;
|
||||
/** 返回消息 */
|
||||
message: string;
|
||||
/** 操作是否成功 */
|
||||
success: boolean;
|
||||
/** 是否登录 */
|
||||
login: boolean;
|
||||
/** 是否有权限 */
|
||||
auth: boolean;
|
||||
/** 返回数据 */
|
||||
data?: T;
|
||||
/** 返回数据列表 */
|
||||
dataList?: T[];
|
||||
/** 分页参数 */
|
||||
pageParam?: PageParam;
|
||||
/** 分页信息 */
|
||||
pageDomain?: PageDomain<T>;
|
||||
}
|
||||
|
||||
30
schoolNewsWeb/src/types/constants/index.ts
Normal file
30
schoolNewsWeb/src/types/constants/index.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* @description 常量定义
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
/**
|
||||
* 存储键名常量
|
||||
*/
|
||||
export const StorageKeys = {
|
||||
/** Token */
|
||||
TOKEN: 'token',
|
||||
/** 用户信息 */
|
||||
USER_INFO: 'userInfo',
|
||||
/** 登录信息 */
|
||||
LOGIN_INFO: 'loginInfo'
|
||||
} as const;
|
||||
|
||||
/**
|
||||
* 分页默认值常量
|
||||
*/
|
||||
export const PageDefaults = {
|
||||
/** 默认页码 */
|
||||
PAGE: 1,
|
||||
/** 默认每页条数 */
|
||||
SIZE: 10,
|
||||
/** 每页条数选项 */
|
||||
SIZE_OPTIONS: [10, 20, 50, 100]
|
||||
} as const;
|
||||
|
||||
47
schoolNewsWeb/src/types/dept/index.ts
Normal file
47
schoolNewsWeb/src/types/dept/index.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* @description 部门相关类型定义
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
import { BaseDTO } from '../base';
|
||||
import { SysRole } from '../role';
|
||||
|
||||
/**
|
||||
* 系统部门
|
||||
*/
|
||||
export interface SysDept extends BaseDTO {
|
||||
/** 部门ID */
|
||||
deptID?: string;
|
||||
/** 父部门ID */
|
||||
parentID?: string;
|
||||
/** 部门名称 */
|
||||
name?: string;
|
||||
/** 部门描述 */
|
||||
description?: string;
|
||||
/** 创建人 */
|
||||
creator?: string;
|
||||
/** 更新人 */
|
||||
updater?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 部门角色VO
|
||||
*/
|
||||
export interface DeptRoleVO {
|
||||
/** 部门信息 */
|
||||
dept?: SysDept;
|
||||
/** 角色信息 */
|
||||
role?: SysRole;
|
||||
}
|
||||
|
||||
/**
|
||||
* 部门角色关联
|
||||
*/
|
||||
export interface SysDeptRole extends BaseDTO {
|
||||
/** 部门ID */
|
||||
deptID?: string;
|
||||
/** 角色ID */
|
||||
roleID?: string;
|
||||
}
|
||||
|
||||
76
schoolNewsWeb/src/types/enums/index.ts
Normal file
76
schoolNewsWeb/src/types/enums/index.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
/**
|
||||
* @description 枚举类型统一导出
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
/**
|
||||
* HTTP 状态码枚举
|
||||
*/
|
||||
export enum HttpStatus {
|
||||
/** 成功 */
|
||||
OK = 200,
|
||||
/** 错误请求 */
|
||||
BAD_REQUEST = 400,
|
||||
/** 未授权 */
|
||||
UNAUTHORIZED = 401,
|
||||
/** 禁止访问 */
|
||||
FORBIDDEN = 403,
|
||||
/** 未找到 */
|
||||
NOT_FOUND = 404,
|
||||
/** 服务器错误 */
|
||||
INTERNAL_SERVER_ERROR = 500
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户状态枚举
|
||||
*/
|
||||
export enum UserStatus {
|
||||
/** 正常 */
|
||||
NORMAL = 0,
|
||||
/** 禁用 */
|
||||
DISABLED = 1,
|
||||
/** 锁定 */
|
||||
LOCKED = 2
|
||||
}
|
||||
|
||||
/**
|
||||
* 性别枚举
|
||||
*/
|
||||
export enum Gender {
|
||||
/** 未知 */
|
||||
UNKNOWN = 0,
|
||||
/** 男 */
|
||||
MALE = 1,
|
||||
/** 女 */
|
||||
FEMALE = 2
|
||||
}
|
||||
|
||||
/**
|
||||
* 菜单类型枚举
|
||||
*/
|
||||
export enum MenuType {
|
||||
/** 目录 */
|
||||
DIRECTORY = 0,
|
||||
/** 菜单 */
|
||||
MENU = 1,
|
||||
/** 按钮 */
|
||||
BUTTON = 2
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录类型枚举
|
||||
*/
|
||||
export enum LoginType {
|
||||
/** 用户名登录 */
|
||||
USERNAME = 'username',
|
||||
/** 邮箱登录 */
|
||||
EMAIL = 'email',
|
||||
/** 手机号登录 */
|
||||
PHONE = 'phone',
|
||||
/** 微信登录 */
|
||||
WECHAT = 'wechat',
|
||||
/** 密码登录 */
|
||||
PASSWORD = 'password'
|
||||
}
|
||||
|
||||
33
schoolNewsWeb/src/types/index.ts
Normal file
33
schoolNewsWeb/src/types/index.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
* @description 类型定义统一导出入口
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
// 基础类型
|
||||
export * from './base';
|
||||
|
||||
// 用户相关
|
||||
export * from './user';
|
||||
|
||||
// 角色相关
|
||||
export * from './role';
|
||||
|
||||
// 部门相关
|
||||
export * from './dept';
|
||||
|
||||
// 菜单相关
|
||||
export * from './menu';
|
||||
|
||||
// 权限相关
|
||||
export * from './permission';
|
||||
|
||||
// 认证相关
|
||||
export * from './auth';
|
||||
|
||||
// 枚举类型
|
||||
export * from './enums';
|
||||
|
||||
// 常量
|
||||
export * from './constants';
|
||||
|
||||
59
schoolNewsWeb/src/types/menu/index.ts
Normal file
59
schoolNewsWeb/src/types/menu/index.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
/**
|
||||
* @description 菜单相关类型定义
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
import { BaseDTO } from '../base';
|
||||
import { MenuType } from '../enums';
|
||||
|
||||
/**
|
||||
* 系统菜单
|
||||
*/
|
||||
export interface SysMenu extends BaseDTO {
|
||||
/** 菜单ID */
|
||||
menuID?: string;
|
||||
/** 父菜单ID */
|
||||
parentID?: string;
|
||||
/** 菜单名称 */
|
||||
name?: string;
|
||||
/** 菜单描述 */
|
||||
description?: string;
|
||||
/** 菜单URL/路径 */
|
||||
url?: string;
|
||||
/** 菜单图标 */
|
||||
icon?: string;
|
||||
/** 菜单顺序 */
|
||||
orderNum?: number;
|
||||
/** 菜单类型 0-目录 1-菜单 2-按钮 */
|
||||
type?: MenuType;
|
||||
/** 创建人 */
|
||||
creator?: string;
|
||||
/** 更新人 */
|
||||
updater?: string;
|
||||
/** 子菜单列表(前端使用) */
|
||||
children?: SysMenu[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 菜单权限关联
|
||||
*/
|
||||
export interface SysMenuPermission extends BaseDTO {
|
||||
/** 菜单ID */
|
||||
menuID?: string;
|
||||
/** 权限ID */
|
||||
permissionID?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 菜单树节点(用于树形展示)
|
||||
*/
|
||||
export interface MenuTreeNode extends SysMenu {
|
||||
/** 子节点 */
|
||||
children?: MenuTreeNode[];
|
||||
/** 是否展开 */
|
||||
expanded?: boolean;
|
||||
/** 是否选中 */
|
||||
checked?: boolean;
|
||||
}
|
||||
|
||||
26
schoolNewsWeb/src/types/permission/index.ts
Normal file
26
schoolNewsWeb/src/types/permission/index.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* @description 权限相关类型定义
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
import { BaseDTO } from '../base';
|
||||
|
||||
/**
|
||||
* 系统权限
|
||||
*/
|
||||
export interface SysPermission extends BaseDTO {
|
||||
/** 权限ID */
|
||||
permissionID?: string;
|
||||
/** 权限名称 */
|
||||
name?: string;
|
||||
/** 权限描述 */
|
||||
description?: string;
|
||||
/** 权限编码 */
|
||||
code?: string;
|
||||
/** 创建人 */
|
||||
creator?: string;
|
||||
/** 更新人 */
|
||||
updater?: string;
|
||||
}
|
||||
|
||||
34
schoolNewsWeb/src/types/role/index.ts
Normal file
34
schoolNewsWeb/src/types/role/index.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* @description 角色相关类型定义
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
import { BaseDTO } from '../base';
|
||||
|
||||
/**
|
||||
* 系统角色
|
||||
*/
|
||||
export interface SysRole extends BaseDTO {
|
||||
/** 角色ID */
|
||||
roleID?: string;
|
||||
/** 角色名称 */
|
||||
name?: string;
|
||||
/** 角色描述 */
|
||||
description?: string;
|
||||
/** 创建人 */
|
||||
creator?: string;
|
||||
/** 更新人 */
|
||||
updater?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 角色权限关联
|
||||
*/
|
||||
export interface SysRolePermission extends BaseDTO {
|
||||
/** 角色ID */
|
||||
roleID?: string;
|
||||
/** 权限ID */
|
||||
permissionID?: string;
|
||||
}
|
||||
|
||||
70
schoolNewsWeb/src/types/user/index.ts
Normal file
70
schoolNewsWeb/src/types/user/index.ts
Normal file
@@ -0,0 +1,70 @@
|
||||
/**
|
||||
* @description 用户相关类型定义
|
||||
* @author yslg
|
||||
* @since 2025-10-06
|
||||
*/
|
||||
|
||||
import { BaseDTO } from '../base';
|
||||
|
||||
/**
|
||||
* 系统用户
|
||||
*/
|
||||
export interface SysUser extends BaseDTO {
|
||||
/** 用户名 */
|
||||
username?: string;
|
||||
/** 密码(不应在前端显示) */
|
||||
password?: string;
|
||||
/** 邮箱 */
|
||||
email?: string;
|
||||
/** 手机号 */
|
||||
phone?: string;
|
||||
/** 微信ID */
|
||||
wechatID?: string;
|
||||
/** 用户状态 0-正常 1-禁用 */
|
||||
status?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户详细信息
|
||||
*/
|
||||
export interface SysUserInfo extends BaseDTO {
|
||||
/** 用户ID */
|
||||
userID?: string;
|
||||
/** 真实姓名 */
|
||||
realName?: string;
|
||||
/** 昵称 */
|
||||
nickname?: string;
|
||||
/** 头像URL */
|
||||
avatar?: string;
|
||||
/** 性别 0-未知 1-男 2-女 */
|
||||
gender?: number;
|
||||
/** 出生日期 */
|
||||
birthday?: string;
|
||||
/** 个人简介 */
|
||||
bio?: string;
|
||||
/** 地址 */
|
||||
address?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户VO - 用于前端展示
|
||||
*/
|
||||
export interface UserVO {
|
||||
/** 用户基本信息 */
|
||||
user?: SysUser;
|
||||
/** 用户详细信息 */
|
||||
userInfo?: SysUserInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户部门角色关联
|
||||
*/
|
||||
export interface SysUserDeptRole extends BaseDTO {
|
||||
/** 用户ID */
|
||||
userID?: string;
|
||||
/** 部门ID */
|
||||
deptID?: string;
|
||||
/** 角色ID */
|
||||
roleID?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user