一、 项目全局看板

1. 产品愿景

针对美甲行业“试错成本高、效果不可预见”的痛点,开发一款基于生成式 AI 的虚拟试戴工具。用户通过 Web、H5 或 App 等多端前端上传手部照片和美甲款式图,系统利用 AI 技术将款式“穿”在用户手上,实现“所见即所得”,打造一款商业级的 AI 美甲虚拟试戴 SaaS 平台,连接 C 端用户“试色”需求与 B 端美甲店“引流”需求。

2. 总体需求迭代矩阵

阶段 核心目标 关键用户故事/功能清单 商业/技术价值
一期 核心能力验证 (POC)

1. 管理员后台可上传美甲款式图并打标签;

2. 系统能接收手部图片并记录任务;

3. AI 服务能生成逼真的试戴效果图;

4. 内部后台可查看生成结果与耗时。

验证技术可行性 (TR),规避核心算法风险,搭建后端基座。
二期 核心能力优化

1. 优化手部遮罩 (Mask) 分割精度,解决边缘溢出问题;

2. 调优光影融合算法,提升指甲材质真实感;

3. 提升生成速度,引入并发队列机制;

4. 建立 AI 效果自动化评测指标。

重点攻坚:将“能用”提升至“商用”级别,确保生成效果逼真,消除“贴纸感”。
三期 多端前端发布 (MVP)

1. C端前端 (Web/H5) 上线,支持拍照与选图;

2. 提供“拍照辅助线”引导与多端适配;

3. 用户可对比原图与效果图并保存;

4. 前端展示排队进度动画。

跑通 C 端用户体验,获取首批种子用户反馈,验证跨端架构。
四期 商业化 V1.0

1. 接入会员订阅与单次付费体系;

2. 接入通用支付渠道 (微信/支付宝/Stripe);

3. 每日免费次数限制逻辑;

4. 高并发队列优化 (Redis Stream)。

实现营收闭环,保证系统在高负载下的稳定性。
五期 B端赋能 (SaaS)

1. 美甲店商户入驻与专属色板上传;

2. C端用户一键导航至门店;

3. 生成“指尖流光”短视频 (SVD技术)。

拓展 B 端收入,通过视频传播实现社交裂变。

3. 当前进度

  • 所处阶段一期: 核心能力验证 (POC) - Day 2

  • 本期冲刺路线图

    • ✅ Day 1: 基础设施搭建与双核架构落地 [Java基座/环境初始化]

    • 👉 Day 2: 业务建模与低代码开发 [表结构设计/代码生成/Docker化]

    • ⬜ Day 3: 算力服务基建 [Python FastAPI搭建/基础接口/Token鉴权]

    • ⬜ Day 4: AI 工作流攻坚 (上) [ComfyUI部署/手部Mask分割/基础生图]

    • ⬜ Day 5: AI 工作流攻坚 (下) [ControlNet手部结构控制/IP-Adapter风格迁移]

    • ⬜ Day 6: 异构系统联调 [Java异步调用Python/OSS图片流转/状态机]

    • ⬜ Day 7: 闭环验证与演示 [全流程跑通/内部验收/性能基准测试]

  • 今日焦点业务建模与低代码开发

    • 为了支撑“款式管理”和“任务记录”的需求,今日重点是将业务逻辑转化为数据库模型,并利用代码生成器快速产出前后端 CRUD 代码;同时完成 Docker 镜像构建,并将服务自动发布到云服务器,实现开机自启。


二、 开发日记正文

CI/CD 状态:本地构建通过 / 镜像推送到云仓库 / 云服务器部署成功

1. 今日任务清单

核心策略:利用 Ruoyi-Vue-Pro 内置的代码生成器提效开发;引入“镜像仓库”作为中转站,结合 Docker Compose 实现云端服务器的一键发布与自动灾备启动。

ID 任务项 关联需求/业务价值 状态
T-01 业务数据库设计 (ER建模) 设计 nail_style (款式表) 和 nail_task (任务表),包含必要的审计字段。 一期-数据持久化 确立核心业务的数据结构,为“款式上传”和“任务流转”提供存储支撑。 ✅ 完成
T-02 低代码生成与落地 配置生成器参数,一键生成 Controller/Service/Mapper 及 Vue 界面代码,并集成到 yudao-module-nail 模块。 一期-管理后台 快速产出“款式管理”的可视化界面,验证了管理员上传图片的流程,提效 90%。 ✅ 完成
T-03 菜单与权限配置 在系统后台配置新生成的菜单路由,并分配给管理员角色。 一期-权限控制 确保生成的业务功能能被前端正确加载和访问,打通 RBAC 链路。 ✅ 完成
T-04 后端 Docker 化 编写 Dockerfile,配置 JDK 基础镜像与 JVM 参数,完成本地镜像构建测试。 CI/CD 前置 实现“一次构建,到处运行”,解决环境一致性问题。 ✅ 完成
T-05 云端自动发布与自启配置 搭建私有镜像仓库(阿里云ACR),编写发布脚本,实现云服务器一键拉取镜像并配置 Docker 开机自启。 CI/CD 交付 确立线上交付标准,确保服务宕机或服务器重启后能自动恢复,保障业务高可用。 ✅ 完成

2. 核心原理

今日工作着重于数据层的设计与云端自动化交付体系的构建,以下是详细的技术实现原理。

(1) 业务核心数据模型设计

为满足一期需求,我们设计了两个核心表。所有表均继承了芋道框架的标准审计字段(创建/更新人、时间、逻辑删除、租户ID)。

表 1:美甲款式表 (nail_style)
用于存储系统的核心资产——美甲款式库。

字段名 类型 必填 含义/说明
id bigint Y 主键 ID,自增或雪花算法
name varchar(64) Y 款式名称 (如:冰透猫眼)
cover_url varchar(512) Y 款式参考图 URL (OSS地址),AI 将提取此图的纹理
tags varchar(255) N 标签 (JSON数组),用于分类筛选 (如:显白, 纯欲)
status tinyint Y 状态 (0:开启, 1:禁用),控制C端是否可见
deleted bit Y 逻辑删除 (0:未删, 1:已删),防止数据物理丢失
creator varchar(64) N 创建者,记录上传款式的运营人员
create_time datetime N 创建时间

表 2:试戴任务表 (nail_task)
用于记录每一次用户的生成请求,作为异步任务流转的核心凭证。

字段名 类型 必填 含义/说明
id bigint Y 任务 ID (TaskID),前端轮询凭证
user_id bigint Y 用户 ID,关联 C 端用户表
hand_image_url varchar(512) Y 用户原图 (手部照片)
style_id bigint Y 关联款式 ID,指向 nail_style 表
result_image_url varchar(512) N 生成结果图,AI 跑完后回填此字段
status tinyint Y 任务状态 (0:排队中, 10:生成中, 20:成功, 30:失败)
trace_id varchar(64) N 链路追踪 ID,用于在日志中串联 Java 与 Python 的调用链
cost_ms int N 耗时 (毫秒),用于统计 AI 服务性能
(2) Docker 镜像分层构建原理 (Layered Jar Architecture)
  • 场景描述:传统的 Java 镜像构建直接将 app.jar (100MB+) 复制进镜像。每次修改哪怕一行代码,整个 Jar 包都会变化,导致 Docker 无法利用缓存,每次上传/拉取镜像都要消耗大量带宽和时间。

  • 构建策略:我们在 Dockerfile 中利用多阶段构建,依照依赖变更的频率从低到高进行分层复制。

分层结构图与构建流程:

(3) 云端自动发布与自启架构 (Cloud Auto-Deploy)
  • 场景描述:本地开发环境与云服务器物理隔离。我们拒绝使用 FTP 上传 Jar 包这种原始方式,而是采用标准的 Registry (镜像仓库) 模式进行交付。

  • 技术原理 (Registry Implementation Detail)

    1. 仓库选型:使用阿里云 ACR (容器镜像服务) 个人版,创建私有命名空间 chroma-tip。

    2. 鉴权机制 (Auth)

      • 本地开发机执行 docker login,输入阿里云凭证。

      • 云服务器同样执行 docker login,确保有拉取权限。

    3. 标准化打标 (Tagging)

      • 格式:registry.cn-xxx.aliyuncs.com/namespace/repo:tag

      • 我们采用 latest 作为最新开发版,后续上线使用 v1.0.0 语义化版本控制。

    4. 发布闭环 (The Cycle)

      • Push: 本地 docker build -> docker tag -> docker push。

      • Pull: 云端 deploy.sh 脚本执行 docker pull -> docker-compose up -d。

自动发布流程图:

3. 今日成果

  1. 业务表结构

    • nail_style 与 nail_task 表已成功导入 MySQL 数据库,且包含完整的注释与索引。

  2. 管理后台功能上线
    成功在本地后台看到“美甲管理”顶级菜单,无需手写 Vue 代码即实现了增删改查功能。

  3. 云端服务在线

    • 镜像推送:本地镜像已成功推送到阿里云 ACR 私有仓库。

    • 云端运行:通过公网 IP 访问云服务器 Swagger 接口成功。

    • 自启验证:重启云服务器后,Docker 容器自动启动,服务在 20秒内 恢复可用。

  4. 代码仓库

    • Git Repo: https://gitee.com/qqqq219/chroma-tip

    • 分支: feature/day2 已提交。


三、 明日预告

关联需求:一期 - “AI 服务能生成逼真的试戴效果图”。

技术焦点:Python 算力服务搭建。

关联任务

  • T-03算力服务基建 (对应冲刺路线图 Day 3)。

关键动作

  1. Python 环境初始化:搭建 FastAPI 项目骨架,配置虚拟环境。

  2. 基础接口开发:编写 POST /generate 接口(Mock 模式),并实现 Java 调用 Python 的 HTTP Client。

  3. 鉴权机制:实现简单的 Token 校验,防止 Python 算力接口被未授权调用。

更多推荐