diff --git a/src/api/auth.js b/src/api/auth.js
new file mode 100644
index 0000000..ad845bb
--- /dev/null
+++ b/src/api/auth.js
@@ -0,0 +1,37 @@
+// src/api/auth.js
+import axios from 'axios';
+
+// 创建并导出 axios 实例
+export const api = axios.create({
+  baseURL: 'http://localhost:8088',
+  timeout: 5000,
+});
+
+// 请求拦截器
+api.interceptors.request.use(config => {
+  const token = localStorage.getItem('token');
+  if (token) {
+    config.headers.Authorization = `Bearer ${token}`;
+  }
+  return config;
+});
+
+export const login = async (username, password) => {
+  const response = await api.post('/user/login', null, {
+    params: { username, password }
+  });
+  if (response.data.code === 200 && response.data.data.token) {
+    localStorage.setItem('token', response.data.data.token);
+  }
+  return response;
+};
+
+export const register = (username, password, code) => {
+  return api.post('/user/regist', null, {
+    params: { username, password, code }
+  });
+};
+
+export const getUserInfo = (token) => {
+  return api.get('/user/info', { params: { token } });
+};
\ No newline at end of file
