【AI项目实战日记-指尖魔镜】day2 业务建模与低代码开发
今日顺利完成核心业务建模与自动化部署体系建设。首先,设计了款式库与任务流水核心表,并利用代码生成引擎一键产出前后端CRUD代码,实现业务功能快速落地。其次,引入Docker分层构建技术,将Jar包拆解为依赖层与应用层,显著提升镜像构建与传输效率。最后,打通了基于阿里云ACR镜像仓库的交付链路,配合自动化脚本实现了云服务器的一键发布与开机自启。至此,项目已具备规范的业务管理能力与线上交付标准,为后续
一、 项目全局看板
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):
-
仓库选型:使用阿里云 ACR (容器镜像服务) 个人版,创建私有命名空间 chroma-tip。
-
鉴权机制 (Auth):
-
本地开发机执行 docker login,输入阿里云凭证。
-
云服务器同样执行 docker login,确保有拉取权限。
-
-
标准化打标 (Tagging):
-
格式:registry.cn-xxx.aliyuncs.com/namespace/repo:tag
-
我们采用 latest 作为最新开发版,后续上线使用 v1.0.0 语义化版本控制。
-
-
发布闭环 (The Cycle):
-
Push: 本地 docker build -> docker tag -> docker push。
-
Pull: 云端 deploy.sh 脚本执行 docker pull -> docker-compose up -d。
-
-
自动发布流程图:
3. 今日成果
-
业务表结构:
-
nail_style 与 nail_task 表已成功导入 MySQL 数据库,且包含完整的注释与索引。
-
-
管理后台功能上线:
成功在本地后台看到“美甲管理”顶级菜单,无需手写 Vue 代码即实现了增删改查功能。
-
云端服务在线:
-
镜像推送:本地镜像已成功推送到阿里云 ACR 私有仓库。
-
云端运行:通过公网 IP 访问云服务器 Swagger 接口成功。
-
自启验证:重启云服务器后,Docker 容器自动启动,服务在 20秒内 恢复可用。
-
-
代码仓库:
-
Git Repo: https://gitee.com/qqqq219/chroma-tip
-
分支: feature/day2 已提交。
-
三、 明日预告
关联需求:一期 - “AI 服务能生成逼真的试戴效果图”。
技术焦点:Python 算力服务搭建。
关联任务:
-
T-03: 算力服务基建 (对应冲刺路线图 Day 3)。
关键动作:
-
Python 环境初始化:搭建 FastAPI 项目骨架,配置虚拟环境。
-
基础接口开发:编写 POST /generate 接口(Mock 模式),并实现 Java 调用 Python 的 HTTP Client。
-
鉴权机制:实现简单的 Token 校验,防止 Python 算力接口被未授权调用。
更多推荐
所有评论(0)