• Joined on 2026-05-02
wangdl pushed to main at wangdl/api-server 2026-06-08 21:10:50 +08:00
1f678409b5 fix: add reverse relations for ReadingEvent/MaterialReadingProgress/TemporaryReadingMaterial on User model
wangdl pushed to main at wangdl/api-server 2026-06-08 21:09:21 +08:00
38a8629e42 feat: M8 学习信息收集系统完整实现
wangdl commented on issue wangdl/api-server#123 2026-06-08 21:06:21 +08:00
API-INFO-028 P1 | 学习信息收集 API 文档 【status:todo】

完成报告

交付

docs/learning-info-api.md — 学习信息收集 API 文档,包含:

  • 9 个端点完整定义:请求/响应 shape、参数、错误码
  • readingTargetType…
wangdl closed issue wangdl/api-server#123 2026-06-08 21:06:21 +08:00
API-INFO-028 P1 | 学习信息收集 API 文档 【status:todo】
wangdl commented on issue wangdl/api-server#134 2026-06-08 21:04:22 +08:00
API-INFO-024 P0 | 权限校验:KnowledgeSource / temporary file 【status:todo】

完成报告

交付

ReadingEventProcessorService.validateReadingAccess(userId, targetType, materialId) — 统一权限校验:

async validateReadingAccess(userId,
wangdl closed issue wangdl/api-server#134 2026-06-08 21:04:22 +08:00
API-INFO-024 P0 | 权限校验:KnowledgeSource / temporary file 【status:todo】
wangdl closed issue wangdl/api-server#120 2026-06-08 21:03:10 +08:00
API-INFO-022 P1 | active session 中断清理机制 【status:todo】
wangdl commented on issue wangdl/api-server#120 2026-06-08 21:03:09 +08:00
API-INFO-022 P1 | active session 中断清理机制 【status:todo】

完成报告

交付

ReadingEventProcessorService.cleanupInterruptedSessions(userId) — 写路径懒清理:

async cleanupInterruptedSessions(userId: string):
wangdl opened issue wangdl/api-server#159 2026-06-08 21:02:07 +08:00
M8 P2
wangdl commented on issue wangdl/api-server#133 2026-06-08 20:59:50 +08:00
API-INFO-023 P1 | ReadingEvent 重放 / 修复处理接口 【status:todo】

完成报告

交付

1. POST /internal/learning/reading-events/:id/reprocess — 单事件重处理:

// 读取原始事件 → 重新 processOne
// processed…
wangdl closed issue wangdl/api-server#133 2026-06-08 20:59:50 +08:00
API-INFO-023 P1 | ReadingEvent 重放 / 修复处理接口 【status:todo】
wangdl commented on issue wangdl/api-server#132 2026-06-08 20:58:47 +08:00
API-INFO-021 P1 | 学习历史记录接口 【status:todo】

完成报告

交付

GET /learning/records?cursor=&limit=20&type=reading — 学习历史记录:

{
  "items": [
    {
      "id": "cuid_rec_001",
      "recordType":
wangdl closed issue wangdl/api-server#132 2026-06-08 20:58:47 +08:00
API-INFO-021 P1 | 学习历史记录接口 【status:todo】
wangdl commented on issue wangdl/api-server#118 2026-06-08 20:57:38 +08:00
API-INFO-020 P1 | heatmap 日期过滤与阅读数据接入 【status:partial】

完成报告

交付

1. Repository 新增 findByDateRange — 日期范围过滤代替全表扫描:

async findByDateRange(userId: string, from: Date, to: Date) {
 
wangdl closed issue wangdl/api-server#118 2026-06-08 20:57:38 +08:00
API-INFO-020 P1 | heatmap 日期过滤与阅读数据接入 【status:partial】
wangdl commented on issue wangdl/api-server#117 2026-06-08 20:56:09 +08:00
API-INFO-019 P0 | 纯数据 trend 接口 【status:partial】

完成报告

交付

GET /learning/trend?days=7 — 阅读趋势:

{
  "days": 7,
  "series": [
    { "date": "2026-06-02", "value": 120 },
    { "date": "2026-06-03",
wangdl closed issue wangdl/api-server#117 2026-06-08 20:56:09 +08:00
API-INFO-019 P0 | 纯数据 trend 接口 【status:partial】
wangdl commented on issue wangdl/api-server#116 2026-06-08 20:55:01 +08:00
API-INFO-018 P0 | 学习 summary 接口 【status:partial】

完成报告

交付

GET /learning/summary — 学习摘要:

{
  "todaySeconds": 300,        // 今日阅读秒数
  "weekSeconds": 1800,        // 近 7 天阅读秒数
 
wangdl closed issue wangdl/api-server#116 2026-06-08 20:55:01 +08:00
API-INFO-018 P0 | 学习 summary 接口 【status:partial】
wangdl closed issue wangdl/api-server#115 2026-06-08 20:53:41 +08:00
API-INFO-017 P0 | 首页继续学习接口 【status:todo】