// ==================== Types ==================== export interface SystemUser { id: string name: string account: string nickName?: string phone?: string avatarId?: string gender?: number // 0=未知 1=男 2=女 roles?: any[] // 可能是 string[] 也可能是 SystemRole[] menus?: SystemMenu[] // 菜单树(仅 /auth/info 返回) createdAt?: number // Unix 时间戳(秒) roleIds?: string[] // 关联角色 ID(用户管理接口) } export interface SystemRole { id: string name: string code: string sort?: number menuIds?: string[] // 关联菜单 ID 列表 createdAt?: number // Unix 时间戳(秒) } export interface SystemMenu { id: string parentId?: string category?: number // 1=菜单 2=按钮/权限 name: string // 路由名(英文) title?: string // 显示标题(中文) code?: string // 权限标识 path?: string // 路由路径 permission?: string // 操作权限标识 locale?: string // 国际化 key icon?: string // 图标名称 sort?: number // 排序 children?: SystemMenu[] } export interface SystemOss { id: string; name: string; key: string; url: string; suffix?: string tag?: string; md5?: string; width?: number; height?: number createdAt: string; updatedAt: string } export interface StorageConfig { id: string type: string name: string endpoint: string accessKeyId: string accessKeySecret: string bucketName: string bucketUrl: string region?: string isDefault: number status: number remark?: string } export interface SystemClient { id: string clientId: string name: string grantType?: string additionalInfo?: string activeTimeout?: number // Token有效期(秒) } export interface OperationLog { id: string clientId: string ip: string method: string path: string status: number latency: number // 纳秒 agent: string errorMessage: string body: string // 请求体 JSON 字符串 resp: string // 响应体 JSON 字符串 userId: string createdAt: number // Unix 时间戳(秒) } export interface DictInfo { id: string type: string label: string value: string sort: number desc: string }