创建请求验证码和登录接口
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
import { RequestConfig } from "@/types/HttpClientType.uts"
|
||||||
|
import { HttpMethod } from "@/enum/HttpMethod.uts"
|
||||||
|
import { VerifyCodeResult } from "@/api/types.uts"
|
||||||
|
import { HttpClient } from "@/utils/HttpClient"
|
||||||
|
|
||||||
|
export class CodeApi {
|
||||||
|
|
||||||
|
private static http = HttpClient.getInstance()
|
||||||
|
|
||||||
|
static async getImgCode() : Promise<VerifyCodeResult> {
|
||||||
|
const config = new RequestConfig()
|
||||||
|
config.url = "/auth/code"
|
||||||
|
config.method = HttpMethod.GET
|
||||||
|
|
||||||
|
const res = await this.http.request<UTSJSONObject>(config)
|
||||||
|
const data = res.data
|
||||||
|
if (data == null) {
|
||||||
|
throw new Error("验证码数据异常")
|
||||||
|
}
|
||||||
|
// 手动转换 UTSJSONObject 到 VerifyCodeResult
|
||||||
|
const result: VerifyCodeResult = {
|
||||||
|
captchaEnabled: data["captchaEnabled"] as boolean ?? false,
|
||||||
|
uuid: data["uuid"] as string ?? "",
|
||||||
|
img: data["img"] as string ?? ""
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
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<LoginResult> {
|
||||||
|
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<UTSJSONObject>(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
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
/**
|
||||||
|
* 注册
|
||||||
|
*/
|
||||||
|
export type RegisterForm = {
|
||||||
|
username : string;
|
||||||
|
password : string;
|
||||||
|
confirmPassword ?: string;
|
||||||
|
code ?: string;
|
||||||
|
uuid ?: string;
|
||||||
|
userType ?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录请求
|
||||||
|
*/
|
||||||
|
export class LoginData {
|
||||||
|
username ?: string;
|
||||||
|
password ?: string;
|
||||||
|
rememberMe ?: boolean;
|
||||||
|
socialCode ?: string;
|
||||||
|
socialState ?: string;
|
||||||
|
source ?: string;
|
||||||
|
code ?: string;
|
||||||
|
uuid ?: string;
|
||||||
|
clientId : string = "";
|
||||||
|
grantType : string = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录响应
|
||||||
|
*/
|
||||||
|
export type LoginResult {
|
||||||
|
access_token : string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证码返回
|
||||||
|
*/
|
||||||
|
export type VerifyCodeResult = {
|
||||||
|
captchaEnabled : boolean
|
||||||
|
uuid : string
|
||||||
|
img : string
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页返回结果
|
||||||
|
*/
|
||||||
|
export interface PageResult<T = any> {
|
||||||
|
total : number;
|
||||||
|
rows : T[];
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
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<LoginResult> {
|
||||||
|
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<UTSJSONObject>(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
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user