- 将 cli/ 目录合并到 client/ - InputEvent::Message 改为简单 String 类型,移除对 ChatMessage 的依赖 - cli 模块从 lib.rs 移除 - client/mod.rs 添加 mod channel 和 mod input 声明 - 添加设计文档 docs/plans/2026-04-26-client-refactor-design.md
1.1 KiB
1.1 KiB
客户端代码整合设计
目标
将分散在 src/cli/ 和 src/client/ 的客户端代码整合到 src/client/ 目录。
变更
目录结构
src/
├── client/ # 整合后的客户端模块
│ ├── mod.rs # 主程序入口 (run 函数)
│ ├── input.rs # InputHandler + InputCommand (从 cli/input.rs 合并)
│ └── channel.rs # CliChannel (从 cli/channel.rs 合并)
├── cli/ # 删除
└── protocol.rs # 保留
关键变更
| 变更 | 说明 |
|---|---|
InputEvent::Message(String) |
简化为只携带文本内容,不再使用 ChatMessage |
cli 模块删除 |
代码合并到 client |
| 解耦 | client 不再依赖 bus::ChatMessage |
实施步骤
- 创建
src/client/input.rs- 从cli/input.rs合并,修改InputEvent::Message为String - 创建
src/client/channel.rs- 从cli/channel.rs直接复制 - 更新
src/client/mod.rs- 更新 import - 更新
src/lib.rs- 删除pub mod cli; - 删除
src/cli/目录
验证
cargo build通过- 功能保持不变