feat: 迁移专家工作台和管理后台到web2
专家工作台(4页面): - WorkbenchPendingServices: 待确认服务 - WorkbenchPending: 待回复咨询 - WorkbenchReplied: 已回复咨询 - WorkbenchUsers: 服务中用户 - shared.tsx: 共享hook/弹窗/外壳 管理后台(5页面): - AdminStats: 平台统计 - AdminAiUsage: AI使用情况(含图表) - AdminExpertActivity: 专家沟通情况(含图表) - AdminUsers: 用户管理(搜索/重置密码/停用) - AdminExperts: 专家管理(上下架/编辑/头像) - constants.ts: 标签映射和图表配色 路由: workbench/* 和 admin/* 接入实际页面 适配: EmptyState icon 从JSX元素改为ComponentType 修正: 管理端场景标签"法务参谋"→"私人法务" Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
+20
-2
@@ -313,8 +313,26 @@ export const api = {
|
||||
users: number; experts_active: number; experts_total: number;
|
||||
services_active: number; consultations_total: number; consultations_pending: number;
|
||||
}>('/admin/stats'),
|
||||
adminAiUsage: () => request<Record<string, unknown>>('/admin/ai-usage'),
|
||||
adminExpertActivity: () => request<Record<string, unknown>>('/admin/expert-activity'),
|
||||
adminAiUsage: () => request<{
|
||||
total_questions: number
|
||||
active_users: number
|
||||
by_scene: Array<{ scene: string; count: number }>
|
||||
by_mode: Array<{ mode: string; count: number }>
|
||||
by_risk: Array<{ level: string; count: number }>
|
||||
by_inference: Array<{ location: string; count: number }>
|
||||
daily_trend: Array<{ date: string; count: number }>
|
||||
by_user: Array<{ phone_masked: string; questions: number; replies: number; last_active: string | null; top_scene: string | null }>
|
||||
}>('/admin/ai-usage'),
|
||||
adminExpertActivity: () => request<{
|
||||
total: number
|
||||
replied: number
|
||||
pending: number
|
||||
by_status: Array<{ status: string; count: number }>
|
||||
by_category: Array<{ category: string; count: number }>
|
||||
by_expert: Array<{ name: string; category: string; title: string; total: number; replied: number; pending: number; avg_rating: number; rating_count: number }>
|
||||
daily_trend: Array<{ date: string; count: number }>
|
||||
by_user: Array<{ phone_masked: string; consultations: number; last_active: string | null }>
|
||||
}>('/admin/expert-activity'),
|
||||
|
||||
// ===== 对话历史 =====
|
||||
listHistorySessions: (mode?: 'normal' | 'confidential') =>
|
||||
|
||||
Reference in New Issue
Block a user