// REQ-USR-004: 前端跨 task 共享类型契约(对齐 docs/05 § REQ-USR-004 / spec § 4) /** 登录用户(对齐 Result<{ token, user }> 的 user 字段) */ export interface AuthUser { id: number; sUserName: string; sUserType: string; sLanguage: string; } /** POST /api/usr/login 请求体 */ export interface LoginPayload { sUserName: string; password: string; companyId: number; } /** POST /api/usr/login 成功响应(已拆 Result.data) */ export interface LoginResult { token: string; user: AuthUser; } /** GET /api/usr/companies 列表项(登录「版本」下拉,D8;sVersion 可空) */ export interface CompanyOption { id: number; sCompanyName: string; sVersion: string | null; } // === REQ-USR-003 用户列表查询契约(FE-03) === /** * 用户列表行 VO(已在 api 层把 docs/05 中文键 `员工名`/`部门` 归一为 ASCII * `employeeName`/`departmentName`,组件/列定义统一用 ASCII 键,D-PLAN-2 / spec D9)。 */ export interface UserVO { id: number; sUserName: string; employeeName: string | null; sUserNo: string | null; departmentName: string | null; sUserType: string; sLanguage: string; iIsVoid: number; tLastLoginDate: string | null; sCreator: string; tCreateDate: string; } /** 统一分页返回体(docs/04 § 1.4 / § 3.2) */ export interface PageResult { records: T[]; total: number; pageNum: number; pageSize: number; } /** * GET /api/usr/users 查询参数(提交给后端的 query)。 * `queryValue` 为空字符串时由 listUsers 省略(空为全部,BR3)。 */ export interface UserListQuery { queryField?: string; matchType?: string; queryValue?: string; pageNum: number; pageSize: number; }