admin-projects/docs/admin-learning-info-design.md
wangdl a9a7d651bb
Some checks failed
Deploy Admin Frontend / build-and-deploy (push) Failing after 8s
feat: ADMIN-INFO admin learning dashboard frontend (21/21)
- Dashboard page with statistics cards
- Data pages: ReadingEvents, Sessions, Progress, DailyActivities, Records
- Diagnostic: Anomalies, User/Material Diagnose
- API service: learningAdmin.ts
- Routes: /learning/*

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-09 21:55:52 +08:00

2.3 KiB

学习信息后台 总设计

ADMIN-INFO-000 | v1.0 | 2026-06-09

1. 概述

基于 M8 + M-API-ADMIN-INFO 后端接口,构建学习信息管理后台的前端页面。

2. 技术栈

  • React 19 + TypeScript
  • Ant Design 5 (antd)
  • @ant-design/pro-components (ProTable)
  • React Router v6
  • @tanstack/react-query
  • ECharts (图表)

3. 路由结构

/admin/learning/dashboard          — Dashboard
/admin/learning/reading-events     — 阅读事件列表
/admin/learning/reading-events/:id — 事件详情
/admin/learning/sessions           — 学习会话列表
/admin/learning/progress           — 阅读进度列表
/admin/learning/daily-activities   — 每日活动/热力图
/admin/learning/records            — 学习记录列表
/admin/learning/anomalies          — 异常数据
/admin/learning/user-diagnose      — 用户诊断
/admin/learning/material-diagnose  — 资料诊断
/admin/learning/temporary-materials — 临时文件
/admin/learning/export             — 数据导出

4. 组件树

AdminLayout
├── DashboardPage        — 统计卡片 + 图表
├── ReadingEventPage     — ProTable + 筛选
│   └── EventDetailPage  — 描述列表
├── SessionPage          — ProTable
├── ProgressPage         — ProTable
├── DailyActivityPage    — 日历热力图
├── RecordPage           — ProTable
├── AnomalyPage          — 异常列表
├── UserDiagnosePage     — 用户数据面板
├── MaterialDiagnosePage — 资料数据面板
├── TempMaterialPage     — 临时文件管理
└── ExportPage           — 导出表单

5. API 对接

所有接口 base: /admin/learning/*

页面 API
Dashboard GET /admin/learning/dashboard
事件列表 GET /admin/learning/reading-events
事件详情 GET /admin/learning/reading-events/:id
会话列表 GET /admin/learning/sessions
进度列表 GET /admin/learning/progress
每日活动 GET /admin/learning/daily-activities
记录列表 GET /admin/learning/records
用户诊断 GET /admin/learning/user-diagnose?userId=
资料诊断 GET /admin/learning/material-diagnose?materialId=
异常数据 GET /admin/learning/anomalies
重算 POST /admin/learning/recalculate
导出 GET /admin/learning/export