家政管理系统服务平台

【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 封装

  • 编写各页面组件和样式

面临挑战:

  1. 项目模块众多,代码量大,容易遗漏细节

  2. 重复性代码多,如 CRUD 操作、DTO 转换等

  3. 前后端联调时接口参数容易不一致

  4. 数据库表结构设计需要反复确认

三、实践过程

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 在流程中的角色

强项:

  1. 重复性代码生成:实体类、Mapper、VO 等模板代码,SOLO 能快速准确生成

  2. 代码片段补全:对于常见的判断逻辑、循环处理,SOLO 能快速补全

  3. 问题快速解答:遇到配置问题或 API 使用问题时,SOLO 能给出准确答案

  4. 代码审查建议:生成代码后,SOLO 能指出潜在问题和优化建议

局限性:

  1. 复杂业务逻辑仍需人工设计和把控

  2. 前端样式代码需要人工调整以达到设计要求

  3. 数据库表结构设计需要人工规划

  4. 部分边界情况需要人工补充测试

5.3 可复用方法

Prompt 模板:

角色:你是 Java/Spring Boot 开发专家
任务:[具体任务描述]
技术栈:[使用的技术框架]
要求:
1. [具体要求1]
2. [具体要求2]
补充信息:[相关业务背景]

SOLO 使用技巧:

  1. 分步生成:不要一次性要求生成整个模块,先从实体类开始,逐步扩展

  2. 明确技术栈:Prompt 中明确指定框架版本和依赖版本

  3. 提供示例:给出参考示例,SOLO 生成的代码风格会更一致

  4. 迭代优化:先生成初版,再针对性要求优化和调整

5.4 心得体会

通过这次项目开发,我深刻体会到 AI 编程工具对开发效率的提升。TRAE SOLO 特别擅长处理:

  1. 模板化代码:减少重复劳动,让开发者聚焦核心业务

  2. 快速原型:能快速搭建项目框架,加快项目启动速度

  3. 学习辅助:遇到不熟悉的技术点时,能快速获取解决方案

但也需要注意:

  • 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 测试)

有点说法这玩意

1 个赞