feat(presentation): add Smart Presentation Layer for Pipeline output
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
- Add PresentationAnalyzer in Rust backend (13 tests passing) - Add PresentationContainer with auto type detection - Add TypeSwitcher for manual type switching - Add ChartRenderer, QuizRenderer, SlideshowRenderer, DocumentRenderer - Integrate ResultModal into PipelinesPanel for result display - Update docs: pipeline-overview.md, README.md, roadmap.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -393,7 +393,77 @@ desktop/src/
|
||||
|
||||
---
|
||||
|
||||
## 九、扩展指南
|
||||
## 九、智能展示层 (Smart Presentation Layer)
|
||||
|
||||
### 9.1 概述
|
||||
|
||||
智能展示层是 Pipeline 输出的渲染系统,能够自动分析数据结构并推荐最佳展示格式。
|
||||
|
||||
### 9.2 支持的展示类型
|
||||
|
||||
| 类型 | 说明 | 检测规则 |
|
||||
|------|------|---------|
|
||||
| `document` | Markdown 文档 | 包含 content 或 text 字段 |
|
||||
| `chart` | 数据可视化 | 包含 datasets、series 或 chartType |
|
||||
| `quiz` | 互动测验 | 包含 questions 数组 |
|
||||
| `slideshow` | 幻灯片 | 包含 slides 数组 |
|
||||
| `whiteboard` | 交互式白板 | 包含 elements 数组 |
|
||||
|
||||
### 9.3 Rust 后端组件
|
||||
|
||||
| 组件 | 职责 | 位置 |
|
||||
|------|------|------|
|
||||
| PresentationType | 类型枚举 | `crates/zclaw-pipeline/src/presentation/types.rs` |
|
||||
| PresentationAnalyzer | 数据分析器 | `crates/zclaw-pipeline/src/presentation/analyzer.rs` |
|
||||
| PresentationRegistry | 渲染器注册表 | `crates/zclaw-pipeline/src/presentation/registry.rs` |
|
||||
|
||||
### 9.4 React 前端组件
|
||||
|
||||
| 组件 | 职责 | 位置 |
|
||||
|------|------|------|
|
||||
| PresentationContainer | 主容器组件 | `desktop/src/components/presentation/PresentationContainer.tsx` |
|
||||
| TypeSwitcher | 类型切换器 | `desktop/src/components/presentation/TypeSwitcher.tsx` |
|
||||
| ChartRenderer | 图表渲染 | `desktop/src/components/presentation/renderers/ChartRenderer.tsx` |
|
||||
| QuizRenderer | 测验渲染 | `desktop/src/components/presentation/renderers/QuizRenderer.tsx` |
|
||||
| SlideshowRenderer | 幻灯片渲染 | `desktop/src/components/presentation/renderers/SlideshowRenderer.tsx` |
|
||||
| DocumentRenderer | 文档渲染 | `desktop/src/components/presentation/renderers/DocumentRenderer.tsx` |
|
||||
|
||||
### 9.5 使用示例
|
||||
|
||||
```tsx
|
||||
import { PresentationContainer } from '@/components/presentation';
|
||||
|
||||
// 在 Pipeline 结果展示中使用
|
||||
<PresentationContainer
|
||||
data={pipelineOutput}
|
||||
pipelineId="classroom-generator"
|
||||
supportedTypes={['document', 'chart', 'quiz', 'slideshow']}
|
||||
/>
|
||||
```
|
||||
|
||||
### 9.6 Tauri 命令
|
||||
|
||||
| 命令 | 说明 | 参数 |
|
||||
|------|------|------|
|
||||
| `analyze_presentation` | 分析数据推荐展示类型 | `data: Value` |
|
||||
|
||||
### 9.7 检测算法
|
||||
|
||||
```rust
|
||||
// 检测逻辑示例
|
||||
fn detect_quiz(data: &Value) -> f64 {
|
||||
if let Some(obj) = data.as_object() {
|
||||
if obj.contains_key("questions") && obj["questions"].is_array() {
|
||||
return 0.95;
|
||||
}
|
||||
}
|
||||
0.0
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 十、扩展指南
|
||||
|
||||
### 9.1 添加新 Pipeline
|
||||
|
||||
@@ -412,9 +482,10 @@ desktop/src/
|
||||
|
||||
---
|
||||
|
||||
## 十、变更历史
|
||||
## 十一、变更历史
|
||||
|
||||
| 日期 | 版本 | 变更内容 |
|
||||
|------|------|---------|
|
||||
| 2026-03-26 | v0.5.0 | 新增智能展示层 (Smart Presentation Layer),支持自动类型检测和多种渲染器 |
|
||||
| 2026-03-25 | v0.4.0 | 代码现状验证:90% 完整度,新增 Action 实现状态表 |
|
||||
| 2026-03-25 | v0.3.0 | Pipeline DSL 系统实现,包含 5 类 Pipeline 模板 |
|
||||
|
||||
Reference in New Issue
Block a user