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