init

Change-Id: I62d8e17fdc3103133b9ddaff22c27ddd9ea9f6ac
diff --git a/src/utils/axios.ts b/src/utils/axios.ts
new file mode 100644
index 0000000..c7639b0
--- /dev/null
+++ b/src/utils/axios.ts
@@ -0,0 +1,44 @@
+import axios from 'axios'
+import type { AxiosRequestConfig, AxiosResponse } from 'axios'
+
+const instance = axios.create({
+    baseURL: process.env.API_BASE_URL,
+    timeout: 10000,
+    headers: {
+      'Content-Type': 'application/json'
+    }
+  })
+  
+  // 请求拦截器
+  instance.interceptors.request.use(
+    (config) => {
+      // 添加认证 token
+      const token = localStorage.getItem('access_token')
+      if (token) {
+        config.headers.Authorization = `Bearer ${token}`
+      }
+      return config
+    },
+    (error) => {
+      return Promise.reject(error)
+    }
+  )
+  
+  // 响应拦截器
+  instance.interceptors.response.use(
+    (response) => {
+      console.log('Response:', response)
+      // 统一处理响应数据格式
+      if (response.status === 200) {
+        return response.data
+      }
+      return Promise.reject(response.data)
+    },
+    (error) => {
+      // 统一错误处理
+      console.error('API Error:', error.response?.status, error.message)
+      return Promise.reject(error)
+    }
+  )
+
+export default instance
\ No newline at end of file