export type LoginType = "admin" | "teacher" | "student"; export interface IUser { id?: number; createBy: number; createTime: Date; updateBy: string; updateTime: string; remark: string; userId: number; deptId: number; collegeName: string; schoolName: string; employeeId: string; schoolId: number; collegeId: number; userName: string; nickName: string; email: string; phonenumber: string; sex: string; avatar: string | null; password: string; status: string; delFlag: string; loginIp: string; loginDate: Date; dept: IUserDept; roles: IUserRole[]; roleIds: null; postIds: null; roleId: null; loginType: LoginType; admin: boolean; } export interface IUserDept { createBy: null; createTime: null; updateBy: null; updateTime: null; remark: null; deptId: number; parentId: number; ancestors: string; deptName: string; orderNum: number; leader: string; phone: null; email: null; status: string; delFlag: null; parentName: null; children?: []; } export interface IUserRole { createBy: null; createTime: null; updateBy: null; updateTime: null; remark: null; roleId: number; roleName: string; roleKey: string; roleSort: number; dataScope: string; menuCheckStrictly: boolean; deptCheckStrictly: boolean; status: string; delFlag: null; flag: boolean; menuIds: null; deptIds: null; permissions: null; admin: boolean; }