usrApi.ts 885 Bytes
// REQ-USR-004: USR 模块 API 封装(登录 + 版本下拉取数)。页面只调本文件,不散用 axios。
import request from './request';
import type { LoginPayload, LoginResult, CompanyOption } from './types';

// 响应拦截器已拆 Result.data,故此处返回类型即业务数据本体。
// axios 实例的方法类型仍标注为 AxiosResponse,运行时已被拦截器解包,用 as unknown 桥接。

/** POST /api/usr/login —— 登录认证,成功返回 { token, user } */
export function login(payload: LoginPayload): Promise<LoginResult> {
  return request.post('/usr/login', payload) as unknown as Promise<LoginResult>;
}

/** GET /api/usr/companies —— 登录「版本」下拉项(公司表只读) */
export function fetchCompanies(): Promise<CompanyOption[]> {
  return request.get('/usr/companies') as unknown as Promise<CompanyOption[]>;
}