1.3 KiB
1.3 KiB
Tasks: postmessage-duplex 通信层重构
1. 基础设施
- 1.1 安装 postmessage-duplex 依赖到 packages/drawnix
- 1.2 配置 SW 打包支持(内联 postmessage-duplex 到 SW bundle)
- 1.3 创建类型定义文件
sw-channel-types.ts
2. 应用层改造
- 2.1 创建
SWDuplexClient新服务(基于 ServiceWorkerChannel) - 2.2 实现任务创建 RPC 方法
task:create - 2.3 实现任务查询 RPC 方法
task:list,task:get - 2.4 实现任务操作 RPC 方法
task:cancel,task:retry,task:delete - 2.5 实现事件订阅
task:status,task:completed,task:failed - 2.6 实现 Chat 订阅
chat:chunk,chat:done,chat:error
3. Service Worker 改造
- 3.1 创建
SWChannelManager管理多客户端通道 - 3.2 注册 RPC 处理器(task:create, task:list 等)
- 3.3 实现事件广播(排除发起者)
- 3.4 改造任务创建逻辑(原子性检查 + 响应)
4. 集成测试
- 4.1 单页面任务创建测试
- 4.2 多页面同时创建相同任务测试
- 4.3 页面刷新后任务恢复测试
- 4.4 Chat 流式通信测试
5. 迁移与清理
- 5.1 迁移
swTaskQueueService使用新客户端 - 5.2 移除旧的 RxJS 订阅逻辑
- 5.3 更新相关文档