证件照工坊 MVP 开发拆解计划
目标:跑通核心闭环,完成最小可行性产品上架。 原则:先验证最大技术风险,再堆叠业务逻辑,最后铺 UI。
阶段零:技术"命门"验证(最重要,必须先做)
这是整个 App 成立的基础。如果这步走不通,项目直接终止或转向。
| 任务 | 目标 | 验证标准 |
|---|---|---|
| 0.1 跑通环境 | 安装 DevEco Studio,创建纯血鸿蒙 Demo | 能在真机/云真机上跑出 Hello World |
| 0.2 核心抠图验证 | 调用 Core Vision Kit 的人像分割能力 | 传入一张带背景的人像照,能返回精准的透明底 PNG |
| 0.3 简单合成验证 | 用 Canvas 或 Image 组件 | 能将返回的透明底 PNG 叠在红色/蓝色背景上并显示 |
阶段一:底层核心能力封装(不写界面,只写工具类)
把图像处理的脏活累活封装成纯净的函数,方便后续页面调用。
| 任务 | 目标 | 输入输出 |
|---|---|---|
| 1.1 图片读取与转换 | 封装 fileIo,处理相册选图 | uri -> PixelMap |
| 1.2 尺寸裁剪引擎 | 封装 Image Kit 的 crop 接口 | PixelMap + 目标宽高(px) -> 新 PixelMap |
| 1.3 背景替换引擎 | 整合 Core Vision Kit + 底色填充 | PixelMap + 颜色值 -> 新 PixelMap |
| 1.4 迭代压缩引擎 | 二分法压缩图片大小 | PixelMap + 目标大小(KB) -> 满足大小的二进制流 |
| 1.5 图片保存封装 | 封装保存到相册/文件的操作 | 二进制流 -> 保存成功提示 |
阶段二:业务数据与逻辑架构
搭建脱离 UI 的业务流。
| 任务 | 目标 | 详情 |
|---|---|---|
| 2.1 构造尺寸数据库 | 建立 spec-db.json | 包含:名称、宽(px)、高(px)、背景色要求、文件大小(KB)限制 |
| 2.2 状态管理设计 | 定义全局状态/页面级状态 | 当前选中的尺寸、原始原图、抠图后的图、最终生成的图 |
阶段三:MVP UI 开发(拼积木)
基于 ArkUI 构建最简陋但可用的界面。
| 任务 | 页面/组件 | 功能点 |
|---|---|---|
| 3.1 首页 (尺寸列表) | Index.ets | 读取 JSON 渲染列表、支持关键词搜索、点击进入制作页 |
| 3.2 制作页 (相机/相册) | Make.ets | 调起相册/相机选图、显示原图预览 |
| 3.3 处理中态 (Loading) | LoadingDialog | 显示"正在智能抠图..." (抠图耗时,必须有阻断式 loading) |
| 3.4 效果预览与微调 | Preview.ets | 上方显示合成图;下方提供底色切换(红/蓝/白)按钮 |
| 3.5 结果保存页 | Result.ets | 显示最终大小,提供"保存到相册"按钮,触发压缩逻辑 |
阶段四:上架准备(非技术工作)
| 任务 | 内容 |
|---|---|
| 4.1 隐私合规 | 编写用户协议和隐私政策(声明纯本地处理,不上传照片) |
| 4.2 素材准备 | 图标设计(1个)、应用市场截图(3-5张)、应用描述(突出免费、纯本地) |
| 4.3 资质与上架 | 申请开发者认证、提包审核 |
执行建议
- 绝对不要一上来就写 UI:如果 Core Vision Kit 的抠图效果奇差无比,你前面画的页面全废了。
- 第一周的任务只有阶段零:想尽一切办法(买二手手机/借/云测),把阶段零跑通。跑通了,这个项目成功了 60%。
