4.7 KiB
4.7 KiB
🚀 快速开始指南
📦 前置条件
已完成的设置:
- ✅ Excel数据已导入(191条家庭教育档案)
- ✅ 数据库已初始化(支持天数标签分类)
- ✅ API端点已添加(指导周期统计)
- ✅ 前端界面已更新(指导周期分析面板)
🎯 使用步骤(3步)
1️⃣ 启动服务器
cd /Users/inkling/Desktop/dmp
node server.js
输出应该看起来是这样的:
🚀 DMP 服务启动: http://localhost:3456
📡 导入 API: POST /api/import/users
📡 标签 API: POST /api/import/user-tags
📡 计算 API: POST /api/compute
2️⃣ 打开浏览器
访问:http://localhost:3456
你会看到:
- 左侧:标签卡片看板
- 指导周期 分类(黄色)
- 60天课程:187人
- 180天课程:1人
3️⃣ 查看指导周期分析
方式A:通过导航栏按钮
- 点击顶部导航栏的"📊 指导周期分析"按钮
- 右侧面板显示详细的周期分析数据
方式B:通过标签筛选
- 在左侧卡片看板中点击"60天课程"或"180天课程"
- 顶部会显示该周期的人数和占比
- 底部右侧栏会更新统计数据
📊 数据说明
导入的数据内容
每条档案包含以下信息:
{
"fileName": "聊天记录101", // 档案编号
"childName": "笑笑", // 孩子姓名
"guardian1Name": "马晓娜", // 监护人1姓名
"childAge": 16, // 孩子年龄
"grade": "高一", // 年级
"learningScore": "优秀", // 学习成绩
"familyAddress": "...", // 家庭地址
"questionnaireSummary": "...", // 问卷评估
"duration": "60天" // ⭐ 指导周期
}
统计数据
| 指导周期 | 人数 | 占比 |
|---|---|---|
| 60天课程 | 187 | 97.91% |
| 180天课程 | 1 | 0.52% |
| 合计 | 188 | 98.43% |
注:存在3条记录未指定周期
🔄 完整工作流
Excel档案
↓
导入脚本 (scripts/import-excel.js)
↓
SQLite数据库
↓
后端API (GET /api/duration-stats)
↓
前端面板 (指导周期分析)
↓
用户查看分析数据
🛠️ 常见任务
导入新的档案Excel
# 准备新的Excel文件(格式同原文件)
# 将最后一列(天数)填入"60天"或"180天"或其他周期
# 运行导入脚本
node scripts/import-excel.js /path/to/新档案文件.xlsx
通过API获取统计数据
curl http://localhost:3456/api/duration-stats
# 返回
{
"totalUsers": 191,
"durationBreakdown": [
{
"id": 1,
"key": "duration_60",
"name": "60天课程",
"count": 187,
"rate": 97.91
},
...
]
}
筛选特定周期的用户
通过前端:
- 点击"60天课程"标签
- 看板更新,显示该周期的相关分析
通过API:
curl -X POST http://localhost:3456/api/compute \
-H "Content-Type: application/json" \
-d '{
"selected": [
{"tagId": 1, "mode": "include"}
]
}'
📈 功能亮点
✨ 实时计算
- 点击标签卡片时实时计算交集
- 防抖处理,避免频繁请求
- 350ms延迟时间
🎨 可视化
- 进度条展示各周期占比
- 颜色编码区分标签分类
- 柔滑过渡动画
📊 详细统计
- 展示每个周期的绝对数和百分比
- 用户样本快速预览
- 导出就地分析
⚙️ 技术栈
| 组件 | 选择 | 优势 |
|---|---|---|
| 数据库 | SQLite | 轻量级,支持WAL并发 |
| 缓存 | 内存LRU | 5分钟TTL,防止重复计算 |
| 交叉计算 | SQL INTERSECT | O(n log n) 复杂度,原生支持 |
| 前端 | 原生JS | 无依赖,快速响应 |
💡 扩展建议
后续可以考虑:
- 🎯 增加更多阶段(30天、90天、365天等)
- 📉 生成周期相关的报告
- 🔍 按周期分析用户的学习进度
- 📱 移动端优化
- 🔐 用户认证和权限管理
🆘 故障排除
问题:数据库被锁定
# 删除锁文件并重启
rm /Users/inkling/Desktop/dmp/dmp.db-wal
rm /Users/inkling/Desktop/dmp/dmp.db-shm
node server.js
问题:API返回HTML而不是JSON
# 检查服务器是否正常启动
ps aux | grep "node server"
# 重启服务器
pkill -f "node server"
node server.js
问题:导入脚本找不到Excel文件
# 指定完整路径
node scripts/import-excel.js /Users/inkling/Desktop/dmp/家庭教育档案-天数.xlsx
📞 支持
如需帮助,请检查:
/tmp/dmp_server.log- 服务器日志IMPLEMENTATION_SUMMARY.md- 实现细节test-api.sh- API测试脚本
现在就开始使用吧!🎉