Commit Graph

6 Commits

Author SHA1 Message Date
9e0a808635 新增: 桌面能力——AI 代理 + 文件系统(B5)
- ai_proxy: Rust reqwest 代理 AI 请求(彻底解决 CORS 问题)
- ai_proxy_stream: SSE 流式代理,通过 app.emit("ai-delta") 实时推送
- write_file/read_file: 文件读写命令(替代对话框)
- 前端 bridge.ts 新增 listen() 函数(接收 Rust 事件推送)
- 前后端零错误编译,40 测试通过
2026-07-12 22:43:56 +08:00
a1ac91c1ec 新增: Tauri IPC 命令 + useStore 统一接口(B4)
- commands.rs: exec_op/undo/redo/can_undo/can_redo/get_deck/set_navigation/save_file
  Rust AppState 持有 deck + 历史栈,所有写操作通过 Op Log
- bridge.ts: 安全 Tauri IPC 调用层(动态 import,Web 模式 mock)
- useStore.ts: 统一 store 接口,检测 __TAURI__ 环境
  Web 模式直接调 TS store;Tauri 模式走 invoke
- 50 个测试全部通过,前后端编译零错误
2026-07-12 22:41:10 +08:00
fc605b1a94 新增: Rust AI 引擎——prompt/规范化/SSE 解析(B3)
- ai.rs: 完整 Prompt 模板翻译(SYS_BASE/SYS_GENERATE/SYS_POLISH/SYS_CHAT)
- norm_style/norm_element/norm_slide/norm_slides: 数据规范化纯函数
- try_parse_json: AI 回复中提取 JSON(兼容 json 代码块标记)
- split_chat_reply: 按 %%PPT_JSON%% 分隔自然语言与操作
- 8 个单元测试: 样式规范化/元素解析/幻灯片解析/JSON提取/chat分隔/颜色校验/图表类型
- 40 个测试全部通过
2026-07-12 22:37:40 +08:00
664ca9c65c 新增: Rust Op reducer + 逆操作计算(B2)
- op.rs: 纯函数 apply_op(deck,op) → new_deck,覆盖全部 11 种 Op 类型
- invert_op(deck,op) → 逆 Op,支持完整的 undo 链路
- 所有 reducer 不 mutate 输入,返回新 deck
- 8 个单元测试: add_slide/del_slide/set_theme/update_element/del_element/
  move_slide/undo_update/undo_add_slide/replace_deck_undo
- ElementStyle 加 rename_all=camelCase 匹配 JS 协议
- 32 个测试全部通过(B1:23 + B2:9)
2026-07-12 22:33:41 +08:00
1430e9e061 新增: Rust 数据模型 + 颜色纯函数 + ts-rs 类型同步(B1)
- model.rs: 全部数据结构(Deck/Slide/Element/Style/Theme/AiCfg/LibItem/PageTemplate/ChatMessage/Op/RichSegment)
  所有结构体 derive Serialize/Deserialize/TS,自动生成 TS 类型到 bindings/types.ts
- color.rs: 颜色解析纯函数(resolve_color/resolve_bg/is_dark_bg/shade/hex_to_rgb)
  对应 store.ts 的颜色逻辑,23 个单元测试全部通过
- lib.rs: 新增 app_info IPC 命令
- ts-rs 自动生成的 bindings/types.ts 与手写 types.ts 类型一致
2026-07-12 18:20:49 +08:00
b9a388b570 新增: Tauri 2.0 桌面版脚手架(B0)
- src-tauri/ 完整项目结构: Cargo.toml / build.rs / tauri.conf.json
- Rust 入口 lib.rs: ping IPC 命令验证双向通信
- 应用图标生成(SVG → ico/icns/png 多尺寸)
- Tauri 窗口配置: 1280×800, 最小 900×600, 可缩放
- package.json 新增 tauri / tauri:dev / tauri:build 脚本
- vite.config.ts 环境检测: Tauri 模式端口 5173, Web 模式 8080
- @tauri-apps/cli + @tauri-apps/api 依赖安装
- cargo check 编译通过,前端构建不受影响
- 桌面版与 Web 版共享同一套前端代码
2026-07-12 15:11:35 +08:00