import { apiAdminGet } from './base' /** * Dashboard API模块 * 用于管理员查看所有用户的对话记录 */ export const dashboardApi = { /** * 获取所有对话记录 * @param {Object} params - 查询参数 * @param {string} params.user_id - 用户ID过滤 * @param {string} params.agent_id - 智能体ID过滤 * @param {string} params.status - 状态过滤 (active/deleted/all) * @param {number} params.limit - 每页数量 * @param {number} params.offset - 偏移量 * @returns {Promise} - 对话列表 */ getConversations: (params = {}) => { const queryParams = new URLSearchParams() if (params.user_id) queryParams.append('user_id', params.user_id) if (params.agent_id) queryParams.append('agent_id', params.agent_id) if (params.status) queryParams.append('status', params.status) if (params.limit) queryParams.append('limit', params.limit) if (params.offset) queryParams.append('offset', params.offset) return apiAdminGet(`/api/dashboard/conversations?${queryParams.toString()}`) }, /** * 获取对话详情 * @param {string} threadId - 对话线程ID * @returns {Promise} - 对话详情 */ getConversationDetail: (threadId) => { return apiAdminGet(`/api/dashboard/conversations/${threadId}`) }, /** * 获取Dashboard统计信息 * @returns {Promise} - 统计信息 */ getStats: () => { return apiAdminGet('/api/dashboard/stats') }, /** * 获取用户反馈列表 * @param {Object} params - 查询参数 * @param {string} params.rating - 反馈类型过滤 (like/dislike/all) * @param {string} params.agent_id - 智能体ID过滤 * @returns {Promise} - 反馈列表 */ getFeedbacks: (params = {}) => { const queryParams = new URLSearchParams() if (params.rating && params.rating !== 'all') queryParams.append('rating', params.rating) if (params.agent_id) queryParams.append('agent_id', params.agent_id) return apiAdminGet(`/api/dashboard/feedbacks?${queryParams.toString()}`) }, // ========== 新增并行API接口 ========== /** * 获取用户活跃度统计 * @returns {Promise} - 用户活跃度统计信息 */ getUserStats: () => { return apiAdminGet('/api/dashboard/stats/users') }, /** * 获取工具调用统计 * @returns {Promise} - 工具调用统计信息 */ getToolStats: () => { return apiAdminGet('/api/dashboard/stats/tools') }, /** * 获取知识库统计 * @returns {Promise} - 知识库统计信息 */ getKnowledgeStats: () => { return apiAdminGet('/api/dashboard/stats/knowledge') }, /** * 获取AI智能体分析数据 * @returns {Promise} - AI智能体分析信息 */ getAgentStats: () => { return apiAdminGet('/api/dashboard/stats/agents') }, /** * 批量获取所有统计数据(并行请求) * @returns {Promise} - 所有统计数据 */ getAllStats: async () => { try { const [basicStats, userStats, toolStats, knowledgeStats, agentStats] = await Promise.all([ apiAdminGet('/api/dashboard/stats'), apiAdminGet('/api/dashboard/stats/users'), apiAdminGet('/api/dashboard/stats/tools'), apiAdminGet('/api/dashboard/stats/knowledge'), apiAdminGet('/api/dashboard/stats/agents') ]) return { basic: basicStats, users: userStats, tools: toolStats, knowledge: knowledgeStats, agents: agentStats } } catch (error) { console.error('批量获取统计数据失败:', error) throw error } }, /** * 获取调用统计时间序列数据 * @param {string} type - 数据类型 (models/agents/tokens/tools) * @param {string} timeRange - 时间范围 (14hours/14days/14weeks) * @returns {Promise} - 时间序列统计数据 */ getCallTimeseries: (type = 'models', timeRange = '14days') => { return apiAdminGet(`/api/dashboard/stats/calls/timeseries?type=${type}&time_range=${timeRange}`) } }