IOS-INFO-018 P0 | 查询资料阅读进度接口 【审计: 不存在】 #85

Closed
opened 2026-06-07 11:55:30 +08:00 by wangdl · 1 comment
Owner

GET /materials/:id/reading-progress?readingTargetType=xxx

支持 knowledge_source+temporary_file。无记录→not_started。403/404 处理。lastPosition 可用于恢复。

## GET /materials/:id/reading-progress?readingTargetType=xxx 支持 knowledge_source+temporary_file。无记录→not_started。403/404 处理。lastPosition 可用于恢复。
wangdl added this to the M-IOS-INFO:学习信息采集、上传、继续学习与基础分析闭环 milestone 2026-06-07 11:55:30 +08:00
wangdl changed title from IOS-INFO-018 P0 | 首页继续学习接口接入 to IOS-INFO-018 P0 | 查询资料阅读进度 【审计: 不存在】 2026-06-07 12:10:07 +08:00
wangdl changed title from IOS-INFO-018 P0 | 查询资料阅读进度 【审计: 不存在】 to IOS-INFO-018 P0 | 查询资料阅读进度接口 【审计: 不存在】 2026-06-07 12:20:13 +08:00
Author
Owner

完成报告

交付

MaterialReaderView.swift — 阅读进度查询接入:

1. API 调用openReadingSession() 时查询:

Task {
    let progress = try await readingAPI.getReadingProgress(
        materialId: vm.materialId, targetType: targetType
    )
    readingStatus = progress.status          // "reading" | "read" | "not_started"
    readingProgressSeconds = progress.totalActiveSeconds
    if progress.isMarkedRead { isMarkedRead = true }
}

2. UI 指示器 — markdown 阅读区顶部显示进度状态:

  • "阅读中 · 120s" (status=reading) — 书本图标 + 阅读时长
  • "已读完" (status=read) — 绿色闭合书本图标
  • not_started — 不显示

3. 错误处理 — API 失败静默处理,不阻塞阅读体验

## 完成报告 ### 交付 `MaterialReaderView.swift` — 阅读进度查询接入: **1. API 调用** — `openReadingSession()` 时查询: ```swift Task { let progress = try await readingAPI.getReadingProgress( materialId: vm.materialId, targetType: targetType ) readingStatus = progress.status // "reading" | "read" | "not_started" readingProgressSeconds = progress.totalActiveSeconds if progress.isMarkedRead { isMarkedRead = true } } ``` **2. UI 指示器** — markdown 阅读区顶部显示进度状态: - "阅读中 · 120s" (status=reading) — 书本图标 + 阅读时长 - "已读完" (status=read) — 绿色闭合书本图标 - not_started — 不显示 **3. 错误处理** — API 失败静默处理,不阻塞阅读体验
Sign in to join this conversation.
No description provided.