1.5 KiB
1.5 KiB
Tauri IPC 模式
创建: 2026-06-10 | 状态: 初稿
⚠️ 已归档(2026-06-15):本文档为初稿,多处过时(:8「仅 greet 示例」→ 实际 68 commands;:16-23 待实施 5 项全落地;:35
frontend/src/→ 实际src/)。实际 IPC 模式见 ARCHITECTURE.md §三,本文件不再更新,原文保留作历史。
概述
Tauri v2 的 IPC 机制是 DevFlow 前后端通信的核心桥梁。本文档描述 DevFlow 中 Tauri IPC 的设计模式。
当前状态
- Tauri Commands: 仅
greet示例命令 - 业务 IPC: 待实施
设计要点
待实施内容
- Command 定义 — 在
src-tauri/src/commands/下按模块组织 - 序列化约定 — Rust 结构体 derive
Serialize/Deserialize - 错误传递 —
Result<T, String>返回给前端 - 流式支持 — AI 输出、Shell 输出的流式推送
- 状态注入 — 通过
tauri::State共享 Rust 运行时状态
IPC 层次
Vue Component
→ Pinia Store (Action)
→ @tauri-apps/api (invoke)
→ Tauri Command (Rust)
→ Crate 业务逻辑
→ df-storage (SQLite)
命名约定
- Rust command:
#[tauri::command] fn get_projects(...) - 前端调用:
invoke("get_projects", { ... }) - Store action:
async fetchProjects()
相关文件
src-tauri/src/main.rs— Tauri 入口src-tauri/src/commands/— IPC 命令目录frontend/src/stores/— Pinia Store