/**
 * TS: 用于封装定义用户登录与相关的类型声明
 */

// 登录参数类型
export interface LoginParams {
  userName: string;
  password?: string;
  code?: string;
  uuid?: string;
  idValueC?: string;
  idKeyC?: string;
  saltValue?: string;
}

// 用户信息类型
export interface UserInfo {
  id?: string | number;
  userId?: string | number;
  userName?: string;
  nickname?: string;
  nickName?: string;
  avatar?: string;
  roles?: string[] | null;
  roleNames?: string[] | null;
  permissions?: string[];
  applyPgId?: number;
  applyPgName?: string;
  certificateFileName?: string;
  certificateFileUrl?: string;
  createdTime?: string;
  creditScore?: number;
  deptId?: number;
  deptName?: string;
  email?: string;
  esignImg?: string;
  ethicsFileName?: string;
  ethicsFileUrl?: string;
  faceCount?: string | number;
  fundingFileName?: string;
  fundingFileUrl?: string;
  icCardCount?: string | number;
  idCode?: string;
  idType?: string;
  loginDate?: string | null;
  loginIp?: string;
  personnelType?: string;
  pgId?: number;
  pgName?: string;
  phone?: string;
  postName?: string;
  projectFileName?: string;
  projectFileUrl?: string;
  proposalFileName?: string;
  proposalFileUrl?: string;
  sex?: string;
  signature?: string;
  status?: string;
  userMac?: string;
  userType?: string;
  wechatOpenId?: string;
}

// 登录接口返回的 Token 结构
export interface LoginResult {
  token: string;
  expiresIn?: number;
}
