• Joined on 2026-05-02
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】
wangdl commented on issue wangdl/api-server#115 2026-06-08 20:53:22 +08:00
API-INFO-017 P0 | 首页继续学习接口 【status:todo】

完成报告

交付

GET /learning/continue — 首页继续学习:

@Get("learning/continue")
async continueLearning(req) {
  // 查询最新阅读进度的资料
 
wangdl commented on issue wangdl/api-server#114 2026-06-08 20:51:59 +08:00
API-INFO-016 P0 | 查询资料阅读进度接口 【status:todo】

完成报告

交付

ReadingController.getProgress() — 资料阅读进度查询:

GET /materials/:id/reading-progress?readingTargetType=knowledge_source
Authorization: Bearer…
wangdl closed issue wangdl/api-server#114 2026-06-08 20:51:59 +08:00
API-INFO-016 P0 | 查询资料阅读进度接口 【status:todo】
wangdl commented on issue wangdl/api-server#137 2026-06-08 20:47:03 +08:00
API-INFO-026 P0 | 幂等去重与重复统计测试 【status:todo】

实现提醒(来自 Batch C 审查 F2)

DailyLearningActivity.materialsReadCount 同日重复打开同一资料会重复计数。需去重:同一 (userId, materialId) 当日首次…