import { Config } from "../config" import { RequestConfig } from "@/types/HttpClientType.uts" import { LoginData, LoginResult } from "./types" import { HttpMethod } from "@/enum/HttpMethod" import { HttpClient } from "@/utils/HttpClient" export class LoginApi { private static http = HttpClient.getInstance() static async login(config : LoginData) : Promise { const configData : any = { username: config.username, password: config.password, rememberMe: config.rememberMe, socialCode: config.socialCode, socialState: config.socialState, source: config.source, code: config.code, uuid: config.uuid, clientId: Config.VITE_APP_CLIENT_ID, grantType: 'password' } // 请求参数处理 const Requestconfig = new RequestConfig() Requestconfig.url = "/auth/login" Requestconfig.headers!.isToken = false Requestconfig.headers!.isEncrypt = true Requestconfig.headers!.repeatSubmit = false Requestconfig.method = HttpMethod.POST Requestconfig.data = configData //发起请求 const res = await this.http.request(Requestconfig) const data = res.data console.log(data); if (data == null) { throw new Error("登陆失败") } // 格式化返回数据 手动转换 UTSJSONObject 到 VerifyCodeResult const result : LoginResult = { access_token: data["access_token"] as string } console.log(result.access_token); return result } }