Reorganize docs and update reader search flows

This commit is contained in:
shenlei
2026-06-10 08:22:07 +08:00
parent 0e7c0577e3
commit d15187b730
72 changed files with 517 additions and 5214 deletions
+39 -2
View File
@@ -1,6 +1,6 @@
# ReadViewSDK UML 类图
> 最后更新:2026-06-04
> 最后更新:2026-06-09
> 图表格式:Mermaid(可在 GitHub / VS Code / Mermaid Live Editor 中渲染)
---
@@ -426,7 +426,14 @@ classDiagram
+chapterLoader: RDEPUBChapterLoader
+chapterRuntimeStore: RDEPUBChapterRuntimeStore
+summaryDiskCache: RDEPUBChapterSummaryDiskCache
+viewportMonitor: RDEPUBViewportMonitor
+pageResolver: RDEPUBPageResolver
+loadCoordinator: RDEPUBReaderLoadCoordinator
+paginationCoordinator: RDEPUBReaderPaginationCoordinator
+locationCoordinator: RDEPUBReaderLocationCoordinator
+searchCoordinator: RDEPUBReaderSearchCoordinator
+chromeCoordinator: RDEPUBReaderChromeCoordinator
+annotationCoordinator: RDEPUBReaderAnnotationCoordinator
+viewportMonitor: RDEPUBReaderViewportMonitor
+applyBookPageMap(_:restoreLocation:)
+refreshBookPageMapInPlace(_:)
}
@@ -440,6 +447,29 @@ classDiagram
-buildPageMap(from:summaries:) RDEPUBBookPageMap
}
class RDEPUBReaderLoadCoordinator {
-context: RDEPUBReaderContext
+startInitialLoadIfNeeded()
-loadPublication()
-applyParsedPublication()
}
class RDEPUBReaderSearchCoordinator {
-context: RDEPUBReaderContext
+search(keyword:)
+goToNextMatch()
+goToPreviousMatch()
+clearSearch()
}
class RDEPUBReaderAnnotationCoordinator {
-context: RDEPUBReaderContext
+addHighlight(from:)
+removeHighlight(id:)
+toggleBookmark(at:)
+handleSelectionMenuAction(_:)
}
class RDEPUBChapterLoader {
-context: RDEPUBReaderContext
+loadChapter(spineIndex:store:) async throws RDEPUBRuntimeChapter
@@ -496,6 +526,9 @@ classDiagram
RDEPUBReaderRuntime --> RDEPUBChapterLoader : owns
RDEPUBReaderRuntime --> RDEPUBChapterRuntimeStore : owns
RDEPUBReaderRuntime --> RDEPUBChapterSummaryDiskCache : owns
RDEPUBReaderRuntime --> RDEPUBReaderLoadCoordinator : owns
RDEPUBReaderRuntime --> RDEPUBReaderSearchCoordinator : owns
RDEPUBReaderRuntime --> RDEPUBReaderAnnotationCoordinator : owns
RDEPUBReaderPaginationCoordinator --> RDEPUBReaderContext : uses
RDEPUBChapterLoader --> RDEPUBReaderContext : uses
RDEPUBChapterLoader --> RDEPUBChapterRuntimeStore : uses
@@ -566,9 +599,13 @@ classDiagram
class RDEPUBAnnotation {
+id: String
+bookIdentifier: String?
+kind: RDEPUBAnnotationKind
+location: RDEPUBLocation
+text: String?
+rangeInfo: String?
+chapterTitle: String?
+createdAt: Date
+bookmark: RDEPUBBookmark?
+highlight: RDEPUBHighlight?
}