IOS-M3-01 新增 MaterialReaderView 统一资料阅读入口 #29

Closed
opened 2026-06-02 20:46:06 +08:00 by wangdl · 1 comment
Owner

目标

新增 MaterialReaderView 作为统一资料阅读入口。

对应 zhixi-document-runtime #18 IOS-DOC-001。

支持格式

格式 策略 实现
Markdown NativeReader Rust FFI parseMarkdown[DocumentBlock] → SwiftUI 渲染
TXT NativeReader Rust FFI parseText[DocumentBlock] + readTextStats
图片 NativeReader Rust FFI readImageMeta + SwiftUI Image
PDF PlatformPreview QuickLook sheet
Word/Excel PlatformPreview QuickLook sheet
PPT ExternalOpen ShareLink 外部打开

完成情况

已完成

  • Features/MaterialReader/MaterialReaderView.swift — 主视图 + ViewModel + DocumentBlockView(8 种 block 渲染器)+ QuickLook wrapper
  • ViewModel 调 Rust FFI:detectMaterialType / parseMarkdown / parseText / readImageMeta
  • 根据 PreviewMode 分发 4 种渲染路径
  • Route 新增 .materialReader(materialId:filePath:materialType:)
  • 所有渲染走 Rust 解析,iOS 不做重复解析逻辑

待 Xcode 配置

  • 添加 bindings/ios/generated/zx_document.swift 到项目
  • 链接 bindings/ios/ZxDocumentRuntime.xcframework
## 目标 新增 MaterialReaderView 作为统一资料阅读入口。 对应 zhixi-document-runtime #18 IOS-DOC-001。 ## 支持格式 | 格式 | 策略 | 实现 | |---|---|---| | Markdown | NativeReader | Rust FFI `parseMarkdown` → `[DocumentBlock]` → SwiftUI 渲染 | | TXT | NativeReader | Rust FFI `parseText` → `[DocumentBlock]` + `readTextStats` | | 图片 | NativeReader | Rust FFI `readImageMeta` + SwiftUI Image | | PDF | PlatformPreview | QuickLook sheet | | Word/Excel | PlatformPreview | QuickLook sheet | | PPT | ExternalOpen | ShareLink 外部打开 | ## 完成情况 ### 已完成 ✅ - `Features/MaterialReader/MaterialReaderView.swift` — 主视图 + ViewModel + DocumentBlockView(8 种 block 渲染器)+ QuickLook wrapper - ViewModel 调 Rust FFI:`detectMaterialType` / `parseMarkdown` / `parseText` / `readImageMeta` - 根据 `PreviewMode` 分发 4 种渲染路径 - Route 新增 `.materialReader(materialId:filePath:materialType:)` - 所有渲染走 Rust 解析,iOS 不做重复解析逻辑 ### 待 Xcode 配置 - 添加 `bindings/ios/generated/zx_document.swift` 到项目 - 链接 `bindings/ios/ZxDocumentRuntime.xcframework`
wangdl added this to the M3:iOS 资料阅读闭环 milestone 2026-06-02 20:46:06 +08:00
Author
Owner

关闭

MaterialReaderView 已实现。

## 关闭 MaterialReaderView 已实现。
Sign in to join this conversation.
No description provided.