// import { baseRequestClient, requestClient } from '#/api/request';

export namespace AuthApi {
  /** 登录接口参数 */
  export interface LoginParams {
    password?: string;
    username?: string;
  }

  /** 登录接口返回值 */
  export interface LoginResult {
    accessToken: string;
  }

  export interface RefreshTokenResult {
    data: string;
    status: number;
  }
}

/**
 * 登录
 * TODO: 临时注释掉真实API调用，使用模拟数据
 */
export async function loginApi(_data: AuthApi.LoginParams) {
  // return requestClient.post<AuthApi.LoginResult>('/auth/login', data);
  
  // 模拟登录成功，返回模拟token
  return Promise.resolve({
    accessToken: 'mock-access-token-12345',
  } as AuthApi.LoginResult);
}

/**
 * 刷新accessToken
 * TODO: 临时注释掉真实API调用，使用模拟数据
 */
export async function refreshTokenApi() {
  // return baseRequestClient.post<AuthApi.RefreshTokenResult>('/auth/refresh', {
  //   withCredentials: true,
  // });
  
  // 模拟刷新token成功
  return Promise.resolve({
    data: 'mock-refresh-token-67890',
    status: 200,
  } as AuthApi.RefreshTokenResult);
}

/**
 * 退出登录
 * TODO: 临时注释掉真实API调用，使用模拟数据
 */
export async function logoutApi() {
  // return baseRequestClient.post('/auth/logout', {
  //   withCredentials: true,
  // });
  
  // 模拟登出成功
  return Promise.resolve({ success: true });
}

/**
 * 获取用户权限码
 * TODO: 临时注释掉真实API调用，使用模拟数据
 */
export async function getAccessCodesApi() {
  // return requestClient.get<string[]>('/auth/codes');
  
  // 模拟权限代码数据
  return Promise.resolve(['*'] as string[]);
}
