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
diff --git a/src/utils/request.ts b/src/utils/request.ts
new file mode 100644
index 0000000..7701fc0
--- /dev/null
+++ b/src/utils/request.ts
@@ -0,0 +1,33 @@
+import axios, { AxiosRequestConfig, AxiosResponse } from 'axios'
+import instance from './axios'
+
+// 封装基础请求方法
+const request = {
+  get<T = any>(url: string, config?: AxiosRequestConfig): Promise<T> {
+    return instance.get(url, config)
+  },
+
+  post<T = any>(
+    url: string,
+    data?: any,
+    config?: AxiosRequestConfig
+  ): Promise<T> {
+    return instance.post(url, data, config)
+  },
+
+  put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T> {
+    return instance.put(url, data, config)
+  },
+
+  delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<T> {
+    return instance.delete(url, config)
+  }
+}
+
+// 开发环境启用 Mock
+if (process.env.NODE_ENV === 'development') {
+  require('../mock') // 你的 Mock 配置文件
+}
+
+
+export default request
\ No newline at end of file