IOS-INFO-021 P0 | 首页继续学习点击定位规则 【审计: 不存在】 #106

Closed
opened 2026-06-07 12:20:54 +08:00 by wangdl · 1 comment
Owner

点击→创建 ReadingMaterialContext→MaterialReaderView+lastPosition。兜底: 资料不存在/已删除/无权限/未缓存/PlatformPreview/ExternalOpen/Unsupported/lastPosition不兼容。依赖 IOS-INFO-020/019。

M-IOS-INFO v3 里程碑 issue。

## 点击→创建 ReadingMaterialContext→MaterialReaderView+lastPosition。兜底: 资料不存在/已删除/无权限/未缓存/PlatformPreview/ExternalOpen/Unsupported/lastPosition不兼容。依赖 IOS-INFO-020/019。 M-IOS-INFO v3 里程碑 issue。
wangdl added this to the M-IOS-INFO:学习信息采集、上传、继续学习与基础分析闭环 milestone 2026-06-07 12:20:54 +08:00
Author
Owner

完成报告

交付

AnalysisHomeView.swift — 继续学习卡片点击定位:

1. 卡片展示 — materialId 非空 + type != "none" 时显示:

if let cr = viewModel.continueReading, cr.type != "none",
   let materialId = cr.materialId {
    NavigationLink(value: Route.materialReader(materialId:, title: cr.title)) {
        // 书图标 + 标题 + 阅读时长 + 箭头
    }
}

2. 兜底规则materialId 为空或 type=none → 不显示卡片;API 失败 → 静默降级(不显示)

3. Route 传递Route.materialReader(materialId, title:) → MaterialReaderView 接收并自行解析文件路径和类型

## 完成报告 ### 交付 `AnalysisHomeView.swift` — 继续学习卡片点击定位: **1. 卡片展示** — materialId 非空 + type != "none" 时显示: ```swift if let cr = viewModel.continueReading, cr.type != "none", let materialId = cr.materialId { NavigationLink(value: Route.materialReader(materialId:, title: cr.title)) { // 书图标 + 标题 + 阅读时长 + 箭头 } } ``` **2. 兜底规则** — `materialId` 为空或 `type=none` → 不显示卡片;API 失败 → 静默降级(不显示) **3. Route 传递** — `Route.materialReader(materialId, title:)` → MaterialReaderView 接收并自行解析文件路径和类型
Sign in to join this conversation.
No description provided.