feat(web): add API client, router, and app layout

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
dailz
2026-04-16 22:45:23 +08:00
parent 01a1119d13
commit 1356f91b9d
5 changed files with 132 additions and 0 deletions

24
web/src/api/client.ts Normal file
View File

@@ -0,0 +1,24 @@
import axios from 'axios'
import { ElMessage } from 'element-plus'
import type { ApiResponse } from '@/types/jobs'
const apiClient = axios.create({
baseURL: '/api/v1',
})
apiClient.interceptors.response.use(
(response) => {
return response.data
},
(error) => {
if (error.response?.data) {
const apiError = error.response.data as ApiResponse<unknown>
ElMessage.error(apiError.error || '请求失败')
} else {
ElMessage.error('无法连接到后端服务')
}
return Promise.reject(error)
}
)
export default apiClient