diff --git a/src/api/Auth/AuthApi.ts b/src/api/Auth/AuthApi.ts
new file mode 100644
index 0000000..9eae3fb
--- /dev/null
+++ b/src/api/Auth/AuthApi.ts
@@ -0,0 +1,45 @@
+import axios, { type AxiosResponse } from 'axios';
+import type { RejisterRequest , ResetPasswordRequest} from './type';
+import type{ LoginRequest } from './type';
+import type { CommonResponse } from '../type';
+
+class AuthAPI {
+
+    static sendVerificationCode(email: string): Promise<AxiosResponse<CommonResponse>> {
+        return axios.post('/api/auth/sendVerification', { email });
+    }
+
+    static register(request: RejisterRequest): Promise<AxiosResponse<CommonResponse>> {
+        return axios.post('/api/auth/register', request);
+    }
+
+    static sendResetCode(email: string):Promise<AxiosResponse<CommonResponse>> {
+        return axios.post('/api/auth/sendResetCode', { email });
+    }
+
+    static resetPassword( request: ResetPasswordRequest ):Promise<AxiosResponse<CommonResponse>> {
+        return axios.post('/api/auth/resetPassword', request);
+    }
+    
+
+    static refreshToken(oldToken : string): Promise<AxiosResponse<CommonResponse<string>>> {
+        return axios.post(
+            '/api/auth/refreshToken',
+            {}, // 请求体空
+            {
+                headers: {
+                    token: oldToken,
+                },
+            }
+        );
+    }
+    
+    
+    static login(loginRequest: LoginRequest): Promise<AxiosResponse<CommonResponse<string>>> {
+        return axios.post('/api/auth/login', loginRequest);
+    }
+
+}
+
+export default AuthAPI;
+
diff --git a/src/api/Auth/type.ts b/src/api/Auth/type.ts
new file mode 100644
index 0000000..fd6f87d
--- /dev/null
+++ b/src/api/Auth/type.ts
@@ -0,0 +1,19 @@
+export interface LoginRequest {
+    email: string;
+    password: string;
+}
+
+export interface RejisterRequest {
+    username: string,
+    email: string,
+    verificationCode: string,
+    password: string,
+}
+
+export interface ResetPasswordRequest {
+    email: string,
+    code: string,
+    newPassword: string,
+}
+
+
