WebVue/src/service/security/authService.ts
2026-08-06 13:15:04 +08:00

144 lines
5.8 KiB
TypeScript

import { request } from "@/utils/request";
import type { LoginData } from "@/data/auto/loginData";
import type { LoginProfile } from "@/data/auto/loginProfile";
import type { RegisterData } from "@/data/auto/registerData";
import type { JwtInfo } from "@/data/auto/jwtInfo";
import type { FinishBiometricRegistrationData } from "@/data/auto/finishBiometricRegistrationData";
import type { BiometricRegistrationResultDto } from "@/data/auto/biometricRegistrationResultDto";
import type { BiometricLoginChallengeDto } from "@/data/auto/biometricLoginChallengeDto";
import type { FinishBiometricLoginData } from "@/data/auto/finishBiometricLoginData";
class AuthService{
async Login(data: LoginData) {
return request<LoginProfile>(
{
url: "/Auth/Login",
method: "post",
data,
}
)
};
async LoginAgent(data: LoginData) {
return request<LoginProfile>(
{
url: "/Auth/LoginAgent",
method: "post",
data,
}
)
};
async Register(data: RegisterData) {
return request<string>(
{
url: "/Auth/Register",
method: "post",
data,
}
)
};
async AmendPassword(data: LoginData) {
return request<LoginProfile>(
{
url: "/Auth/AmendPassword",
method: "post",
data,
}
)
};
async GetRsaPublicKey() {
return request<string>(
{
url: "/Auth/GetRsaPublicKey",
method: "get",
}
)
};
async RefreshToken(data: JwtInfo) {
return request<JwtInfo>(
{
url: "/Auth/RefreshToken",
method: "post",
data,
}
)
};
async Logout() {
return request<any>(
{
url: "/Auth/Logout",
method: "post",
}
)
};
async ConfirmPassword(data: string) {
return request<any>(
{
url: "/Auth/ConfirmPassword?password="+data,
method: "post",
data,
}
)
};
async BeginBiometricRegistration(data: string) {
return request<string>(
{
url: "/Auth/BeginBiometricRegistration?deviceName="+data,
method: "post",
data,
}
)
};
async FinishBiometricRegistration(data: FinishBiometricRegistrationData) {
return request<BiometricRegistrationResultDto>(
{
url: "/Auth/FinishBiometricRegistration",
method: "post",
data,
}
)
};
async BeginBiometricLogin(data: string) {
return request<BiometricLoginChallengeDto>(
{
url: "/Auth/BeginBiometricLogin?username="+data,
method: "post",
data,
}
)
};
async FinishBiometricLogin(data: FinishBiometricLoginData) {
return request<LoginProfile>(
{
url: "/Auth/FinishBiometricLogin",
method: "post",
data,
}
)
};
async RemoveBiometric() {
return request<any>(
{
url: "/Auth/RemoveBiometric",
method: "post",
}
)
};
}
const authService= new AuthService();
export default authService;