import { http } from "@/utils/http";
import { baseUrlApi } from "./utils";
// import { getConfig } from "@/config";

export type UserResult = {
  success: boolean;
  /** 登录信息 */
  msg: string;
  data: {
    /** 用户名 */
    username: string;
    /** 当前登陆用户的角色 */
    roles: Array<string>;
    /** `token` */
    accessToken: string;
    /** 用于调用刷新`accessToken`的接口时所需的`token` */
    refreshToken: string;
    /** `accessToken`的过期时间（格式'xxxx/xx/xx xx:xx:xx'） */
    expires: Date;
  };
};

export type RefreshTokenResult = {
  success: boolean;
  data: {
    /** `token` */
    accessToken: string;
    /** 用于调用刷新`accessToken`的接口时所需的`token` */
    refreshToken: string;
    /** `accessToken`的过期时间（格式'xxxx/xx/xx xx:xx:xx'） */
    expires: Date;
  };
};

/** 登录 */
// export const getLogin = (data?: object) => {
//   return http.request<UserResult>("post", "/login", { data });
// };
export const getLogin = (data?: object) => {
  return http.request<UserResult>("post", baseUrlApi("user/login/"), { data });
};

// export const getLogin = (data?: object) => {
//   const AdminHostUrl = getConfig().AdminHostUrl;
//   const url = AdminHostUrl + "login";
//   return http.request<UserResult>("post", url, { data });
// };

/** 刷新token */
export const refreshTokenApi = (data?: object) => {
  return http.request<RefreshTokenResult>("post", baseUrlApi("/refreshToken"), {
    data
  });
};
