zhangwei
2025-08-27 dade6a8b4772abc113383246d05ab59162630e7c
src/api/types.ts
@@ -1,6 +1,20 @@
import type { TenderInfo } from "@/views/system/dept/utils/types";
export type Result = {
  success: boolean;
  result: Array<any>;
  code: string | number;
  message: string;
};
type page = {
  items: Array<any>;
  total: number;
  pageSize: number;
  page: number;
};
export type PageResult = {
  success: boolean;
  result: page;
  code: string | number;
  message: string;
};
@@ -12,8 +26,103 @@
  id: string;
};
type getUploadToken = {
  policy: string;
  message: string;
  DirPath: string;
  id: string;
  x_oss_signature_version: string;
  x_oss_credential: string;
  x_oss_date: string;
  signature: string;
  security_token: string;
  url: string;
};
export type getUploadTokenResult = {
  success: boolean;
  result: getUploadToken;
  code: string | number;
};
export type CaptchaResult = {
  success: boolean;
  result: captchaImg;
  code: string | number;
};
export type UserResult = {
  success: boolean;
  data: {
    /** 头像 */
    avatar: string;
    /** 用户名 */
    username: string;
    /** 昵称 */
    nickname: string;
    /** 当前登录用户的角色 */
    roles: Array<string>;
    /** 按钮级别权限 */
    permissions: Array<string>;
    /** `token` */
    accessToken: string;
    /** 用于调用刷新`accessToken`的接口时所需的`token` */
    refreshToken: string;
    /** `accessToken`的过期时间(格式'xxxx/xx/xx xx:xx:xx') */
    expires: Date;
  };
};
// 企业信息项类型
interface CustomerEx {
  customerUserID: number;
  enterpriseName: string;
  isManger: boolean; // 注意:原数据中可能存在拼写错误(应为isManager),此处保持与原数据一致
  unifiedSocialCreditCode: string;
}
// 整体结果类型
export interface LoginResult {
  theLastLogo: boolean;
  accessToken: string | null;
  refreshToken: string | null;
  exRoles: any | null; // exRoles为null,具体类型可根据实际业务场景细化
  code: string;
  isManager: boolean;
  customerExs: CustomerEx[];
  expires: string;
  roles: [];
  username: string;
  avatar: string;
  nickname: string;
  permissions: [];
}
export type LoginData = {
  message: string;
  success: boolean;
  code: string | number;
  result: LoginResult;
};
export interface RoleItem {
  id: number;
  name: string;
  code: string;
  orderNo: number;
  dataScope: number;
  remark: string | null; // 可能为null或字符串
  status: number;
}
// 角色列表
export type RoleData = {
  message: string;
  success: boolean;
  code: string | number;
  result: RoleItem[];
};
export type ChangeDetail = {
  message: string;
  success: boolean;
  code: string | number;
  result: TenderInfo;
};