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:
@@ -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);
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -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}`);
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user