fix: resolve double data unwrapping issue in API calls

Issue: projectApi and agentApi were unwrapping response.data twice:
1. request interceptor returns response.data
2. API functions returned response.data again (undefined)

This caused all API calls to fail silently with 'response.success' being undefined.

Fixed:
- projectApi: Removed redundant .data access
- agentApi: Removed redundant .data access

All API functions now correctly return the backend response:
{ success: true, data: [...] }

This fixes:
- '鑾峰彇椤圭洰鍒楄〃澶辫触' error on page load
- '鍒涘缓椤圭洰澶辫触' error when creating projects
- Any other API call failures
This commit is contained in:
AI Clinical Dev Team
2025-10-10 21:33:38 +08:00
parent bfba0ef8b8
commit b9cb173eb6
3 changed files with 100 additions and 22 deletions

View File

@@ -33,32 +33,27 @@ export interface ApiResponse<T = any> {
export const agentApi = {
// 获取所有智能体列表
getAll: async (): Promise<ApiResponse<AgentConfig[]>> => {
const response = await request.get('/agents');
return response.data;
return await request.get('/agents');
},
// 获取启用的智能体列表
getEnabled: async (): Promise<ApiResponse<AgentConfig[]>> => {
const response = await request.get('/agents/enabled');
return response.data;
return await request.get('/agents/enabled');
},
// 获取单个智能体详情
getById: async (id: string): Promise<ApiResponse<AgentConfig>> => {
const response = await request.get(`/agents/${id}`);
return response.data;
return await request.get(`/agents/${id}`);
},
// 根据分类获取智能体
getByCategory: async (category: string): Promise<ApiResponse<AgentConfig[]>> => {
const response = await request.get(`/agents/by-category?category=${encodeURIComponent(category)}`);
return response.data;
return await request.get(`/agents/by-category?category=${encodeURIComponent(category)}`);
},
// 获取智能体的系统Prompt
getSystemPrompt: async (id: string): Promise<ApiResponse<{ agentId: string; systemPrompt: string }>> => {
const response = await request.get(`/agents/${id}/system-prompt`);
return response.data;
return await request.get(`/agents/${id}/system-prompt`);
},
// 渲染用户Prompt
@@ -70,8 +65,7 @@ export const agentApi = {
knowledgeBaseContext?: string;
}
): Promise<ApiResponse<{ agentId: string; renderedPrompt: string }>> => {
const response = await request.post(`/agents/${id}/render-prompt`, data);
return response.data;
return await request.post(`/agents/${id}/render-prompt`, data);
},
};

View File

@@ -23,20 +23,17 @@ export interface UpdateProjectRequest {
export const projectApi = {
// 获取项目列表
getProjects: async (): Promise<ApiResponse<Project[]>> => {
const response = await request.get('/projects');
return response.data;
return await request.get('/projects');
},
// 获取单个项目详情
getProjectById: async (id: string): Promise<ApiResponse<Project>> => {
const response = await request.get(`/projects/${id}`);
return response.data;
return await request.get(`/projects/${id}`);
},
// 创建项目
createProject: async (data: CreateProjectRequest): Promise<ApiResponse<Project>> => {
const response = await request.post('/projects', data);
return response.data;
return await request.post('/projects', data);
},
// 更新项目
@@ -44,14 +41,12 @@ export const projectApi = {
id: string,
data: UpdateProjectRequest
): Promise<ApiResponse<Project>> => {
const response = await request.put(`/projects/${id}`, data);
return response.data;
return await request.put(`/projects/${id}`, data);
},
// 删除项目
deleteProject: async (id: string): Promise<ApiResponse> => {
const response = await request.delete(`/projects/${id}`);
return response.data;
return await request.delete(`/projects/${id}`);
},
};