【Code With SOLO】用 TRAE SOLO 60分钟搭建一个完整的家政服务系统
一、摘要
使用 TRAE SOLO 辅助开发,从零开始构建了一个功能完整的家政服务预约平台。系统涵盖用户注册登录、服务浏览、在线预约、订单管理、评价反馈等核心功能,后端采用 Spring Boot + MyBatis-Plus,前端采用 Vue 3 + Element Plus。与传统开发方式相比,代码编写效率提升约 60%,整体项目搭建时间从预估 3-4 天缩短至 1 天内完成。
二、背景
职业角色: 全栈开发工程师
工作场景: 接到一个外包项目需求,客户希望快速搭建一个家政服务预约平台。传统开发流程需要:
-
编写需求文档和系统设计文档
-
搭建后端项目框架,配置 MyBatis-Plus、JWT、跨域等
-
编写实体类、Mapper、Service、Controller 各层代码
-
搭建前端 Vue 3 项目,配置路由、状态管理、Axios 封装
-
编写各页面组件和样式
面临挑战:
-
项目模块众多,代码量大,容易遗漏细节
-
重复性代码多,如 CRUD 操作、DTO 转换等
-
前后端联调时接口参数容易不一致
-
数据库表结构设计需要反复确认
三、实践过程
3.1 任务拆解
我将整个项目拆解为以下几个阶段:
| 阶段 | 任务内容 | 预期耗时 |
|---|---|---|
| 1 | 需求分析和数据库设计 | 2小时 |
| 2 | 后端项目搭建(框架、配置、Entity) | 1小时 |
| 3 | 后端 API 开发(Controller、Service) | 3小时 |
| 4 | 前端项目搭建和页面开发 | 4小时 |
| 5 | 前后端联调测试 | 2小时 |
3.2 SOLO 能力使用
在项目开发过程中,我主要使用了 SOLO 的以下能力:
1. 代码生成能力
-
生成实体类代码
-
生成 Mapper XML 文件模板
-
生成 Vue 组件代码
2. 代码补全和优化
-
自动补全重复性代码
-
优化代码结构和命名规范
-
生成 TypeScript 类型定义
3. 问题解答
-
MyBatis-Plus 分页插件配置问题
-
Vue 3 Composition API 使用问题
-
JWT Token 验证流程问题
3.3 关键 Prompt 示例
Prompt 1:生成后端实体类
帮我生成一个家政服务系统的订单实体类 Order,包含以下字段:
- id (Long, 主键自增)
- orderNo (String, 订单编号,唯一)
- userId (Long, 下单用户ID)
- workerId (Long, 服务人员ID)
- categoryId (Long, 服务类目ID)
- categoryName (String, 服务类目名称)
- appointmentTime (LocalDateTime, 预约时间)
- contactName (String, 联系人姓名)
- contactPhone (String, 联系人电话)
- address (String, 服务地址)
- remark (String, 备注)
- totalPrice (BigDecimal, 订单金额)
- status (Integer, 订单状态:0待派单 1已派单 2已接单 3进行中 4待评价 5已完成 6已取消 7已拒绝)
- createTime (LocalDateTime, 创建时间)
- updateTime (LocalDateTime, 更新时间)
- finishTime (LocalDateTime, 完成时间)
使用 Lombok 和 MyBatis-Plus 注解
Prompt 2:生成 Vue 列表页面
帮我生成一个 Vue 3 的家政服务列表页面 ServiceList.vue:
- 使用 Element Plus UI 组件库
- 使用 Composition API (<script setup>)
- 功能:展示服务类目列表,包含分类筛选、关键词搜索
- 每个服务卡片显示:图片、名称、描述、价格、评分
- 点击卡片跳转到服务详情页
- 使用 Pinia 状态管理
- 包含精美的 CSS 动画效果
Prompt 3:生成订单状态流转枚举
帮我生成一个订单状态枚举类 OrderStatus.java:
- 使用 Java 枚举实现
- 包含状态码和状态名称
- 待派单(0), 已派单(1), 已接单(2), 进行中(3), 待评价(4), 已完成(5), 已取消(6), 已拒绝(7)
- 提供获取描述信息的方法
- 提供状态流转判断方法(如是否可以取消、是否可以评价等)
3.4 开发流程记录
Day 1:后端框架搭建(使用 SOLO 辅助)
09:00 - 09:30 使用 SOLO 生成 Spring Boot 项目基础结构和 pom.xml 依赖配置
09:30 - 10:00 生成 application.yml 配置文件模板
10:00 - 11:00 使用 SOLO 生成所有实体类(User, Worker, ServiceCategory, Order, Review, Address)
11:00 - 12:00 生成 MyBatis-Plus 配置类和分页插件配置
遇到的问题:
-
MyBatis-Plus 分页插件配置在 Spring Boot 3.x 下有兼容性问题
-
解决方案:通过 SOLO 查询最新配置方式,使用 MybatisPlusInterceptor 配置
Day 2:后端 API 开发(使用 SOLO 辅助)
使用 SOLO 批量生成各模块的 Controller 和 Service 代码,重点生成:
-
认证模块(登录、注册、Token 验证)
-
用户模块(个人信息、地址管理)
-
服务类目模块(CRUD 操作)
-
订单模块(创建、查询、状态流转)
遇到的问题:
-
订单状态流转逻辑复杂,容易出错
-
解决方案:让 SOLO 生成完整的状态流转图和判断逻辑
Day 3-4:前端页面开发(使用 SOLO 辅助)
前端使用 Vue 3 + Element Plus 构建,主要页面包括:
用户端:
-
首页(服务推荐、搜索)
-
服务列表页(分类筛选、关键词搜索)
-
服务详情页
-
订单创建和管理页
-
个人中心
服务人员端:
-
工作台(订单列表、接单/拒单)
-
个人信息管理
管理后台:
-
用户管理
-
服务人员管理
-
订单管理(派单功能)
-
数据统计
3.5 踩坑记录
| 坑点 | 问题描述 | 解决方案 |
|---|---|---|
| 1 | Vue 3 provide/inject 使用误解 | SOLO 提醒正确使用方式:需要单独 import |
| 2 | Element Plus 图标引入方式变更 | 使用 @element-plus/icons-vue 包,按需引入 |
| 3 | MyBatis-Plus 分页 Page 参数问题 | 分页查询需要创建 Page 对象并传入 mapper 方法 |
| 4 | JWT Token 过期时间配置 | 配置文件中时间单位是毫秒,需要转换 |
| 5 | 跨域配置不生效 | 使用 CorsConfig 配置类而非 yml 配置 |
四、成果展示
4.1 系统功能模块
前端页面展示:
用户端首页 - 服务浏览和搜索
服务列表页 - 分类筛选和卡片展示
后端 API 接口:
采用 RESTful API 规范,提供以下核心接口:
| 模块 | 接口数量 | 主要功能 |
|---|---|---|
| 认证模块 | 4 | 注册、登录、登出、改密 |
| 用户模块 | 6 | 个人信息、地址管理 |
| 服务类目 | 3 | 列表、详情、搜索 |
| 订单模块 | 6 | 创建、查询、取消、确认 |
| 服务人员 | 8 | 列表、接单、拒单、完成 |
| 评价模块 | 3 | 提交、查看 |
| 管理后台 | 12 | 用户/服务人员/订单/评价管理 |
4.2 项目仓库
**GitHub 仓库地址:**https://github.com/1936388781/admin
项目结构:
homeservice-system/
├── homeservice-backend/ # Spring Boot 后端
│ └── src/main/java/com/example/homeservice/
│ ├── controller/ # 控制层
│ ├── service/ # 业务层
│ ├── mapper/ # 数据访问层
│ ├── entity/ # 实体类
│ ├── dto/ # 数据传输对象
│ ├── vo/ # 视图对象
│ ├── enums/ # 枚举类
│ ├── config/ # 配置类
│ └── security/ # 安全相关
│
└── homeservice-frontend/ # Vue 3 前端
└── src/
├── api/ # API 接口封装
├── views/ # 页面组件
├── layouts/ # 布局组件
├── stores/ # Pinia 状态管理
└── router/ # 路由配置
五、效果与总结
5.1 提效数据
| 指标 | 传统开发 | 使用 SOLO 辅助 | 提升比例 |
|---|---|---|---|
| 项目框架搭建 | 4-6 小时 | 1.5 小时 | 约 70% |
| CRUD 代码编写 | 8-10 小时 | 3-4 小时 | 约 60% |
| 前后端联调 | 4-6 小时 | 2-3 小时 | 约 50% |
| Bug 修复时间 | 3-4 小时 | 1-2 小时 | 约 60% |
| 总计 | 约 3-4 天 | 约 1 天 | 约 70% |
5.2 SOLO 在流程中的角色
强项:
-
重复性代码生成:实体类、Mapper、VO 等模板代码,SOLO 能快速准确生成
-
代码片段补全:对于常见的判断逻辑、循环处理,SOLO 能快速补全
-
问题快速解答:遇到配置问题或 API 使用问题时,SOLO 能给出准确答案
-
代码审查建议:生成代码后,SOLO 能指出潜在问题和优化建议
局限性:
-
复杂业务逻辑仍需人工设计和把控
-
前端样式代码需要人工调整以达到设计要求
-
数据库表结构设计需要人工规划
-
部分边界情况需要人工补充测试
5.3 可复用方法
Prompt 模板:
角色:你是 Java/Spring Boot 开发专家
任务:[具体任务描述]
技术栈:[使用的技术框架]
要求:
1. [具体要求1]
2. [具体要求2]
补充信息:[相关业务背景]
SOLO 使用技巧:
-
分步生成:不要一次性要求生成整个模块,先从实体类开始,逐步扩展
-
明确技术栈:Prompt 中明确指定框架版本和依赖版本
-
提供示例:给出参考示例,SOLO 生成的代码风格会更一致
-
迭代优化:先生成初版,再针对性要求优化和调整
5.4 心得体会
通过这次项目开发,我深刻体会到 AI 编程工具对开发效率的提升。TRAE SOLO 特别擅长处理:
-
模板化代码:减少重复劳动,让开发者聚焦核心业务
-
快速原型:能快速搭建项目框架,加快项目启动速度
-
学习辅助:遇到不熟悉的技术点时,能快速获取解决方案
但也需要注意:
-
AI 生成代码需要人工审查,不能直接 copy 使用
-
复杂业务逻辑需要人工设计和把关
-
代码质量仍需要通过规范和测试来保证
一句话总结: SOLO 是开发者的得力助手,但不是替代者。它让开发更高效,但核心能力(架构设计、业务理解、问题解决)仍需不断提升。
附录:技术栈清单
后端:
-
JDK 21
-
Spring Boot 3.2.x
-
MyBatis-Plus 3.5.x
-
Spring Security + JWT
-
MySQL 8.x
-
Knife4j (API 文档)
前端:
-
Vue 3.4.x
-
Vite 5.x
-
Element Plus 2.5.x
-
Pinia 2.x
-
Vue Router 4.x
-
Axios
-
SCSS
工具:
-
IntelliJ IDEA 2025.1.2
-
VS Code
-
Navicat (数据库管理)
-
Postman (API 测试)

