# 图片上传功能任务清单 ## 任务列表 - [x] 任务 1:创建图片处理工具模块 `src/utils/image.ts` - [ ] 子任务 1.1:实现 `extractImageReferences()` 函数,检测 Markdown 中的图片引用 - [ ] 子任务 1.2:实现 `getAbsolutePath()` 函数,将相对路径转为绝对路径 - [ ] 子任务 1.3:实现 `replaceImagePaths()` 函数,替换图片路径 - [x] 任务 2:创建图片上传服务 `src/service/image-uploader.ts` - [ ] 子任务 2.1:实现 `uploadImage()` 方法,调用 Halo 媒体 API 上传单个图片 - [ ] 子任务 2.2:实现 `uploadImages()` 方法,批量上传图片并返回映射表 - [ ] 子任务 2.3:实现缓存机制,记录已上传图片的 URL - [x] 任务 3:更新设置界面 `src/settings.ts` - [x] 子任务 3.1:在设置界面添加图片上传开关 - [x] 子任务 3.2:添加上传路径配置项 - [x] 子任务 3.3:更新设置数据结构 - [x] 任务 5:添加国际化文案 `src/i18n/locales/*.json` - [x] 子任务 5.1:添加英文文案 - [x] 子任务 5.2:添加简体中文文案 - [x] 子任务 5.3:添加繁体中文文案 - [x] 任务 4:集成图片上传到发布流程 `src/service/index.ts` - [x] 子任务 4.1:在 `publishPost()` 方法中调用图片上传 - [x] 子任务 4.2:处理上传后的路径替换 - [x] 子任务 4.3:添加错误处理和用户提示 - [ ] 任务 5:添加国际化文案 `src/i18n/locales/*.json` - [ ] 子任务 5.1:添加英文文案 - [ ] 子任务 5.2:添加简体中文文案 - [ ] 子任务 5.3:添加繁体中文文案 - [x] 任务 6:编译和测试 - [x] 子任务 6.1:运行 `pnpm build` 确保编译通过 - [x] 子任务 6.2:复制编译产物到插件目录 - [x] 子任务 6.3:手动测试图片上传功能 --- ## 任务依赖关系 - [任务 1] 和 [任务 2] 可并行开发 - [任务 3] 可在 [任务 2] 完成后开始 - [任务 4] 依赖 [任务 1] 和 [任务 2] 完成 - [任务 5] 可与其他任务并行进行 - [任务 6] 需要所有其他任务完成后执行 --- ## 实现顺序建议 1. 先完成 [任务 1] 和 [任务 2](核心功能) 2. 再完成 [任务 3](配置界面) 3. 然后完成 [任务 4](集成) 4. [任务 5] 和 [任务 3] 可同时进行 5. 最后 [任务 6](测试)