← 目录

Part 3: AI 初始化项目

需求文档 → 规划方案 → 数据库设计 → 前后端项目骨架 → 跑通验证

上一节 AI 帮你抓取了需求,这一节让 AI 把需求变成可运行的前后端项目。
重点学习:如何让 AI 规划、如何审查 AI 的输出、如何用 MCP 验证结果。

AI 规划方案

分析需求
制定实施计划

数据库设计

AI 设计表结构
审查关键字段

前后端骨架

Spring Boot + Vue 3
MCP 验证跑通

确定实施范围

目标系统有 8 个模块,不可能一节课全做完。先定范围,再分步实施。

本次课实现(核心)

  • 统一认证 — 用户/企业/应用表 + 登录日志
  • 系统管理 — 管理员/角色/菜单表 + 权限关联
  • 前后端骨架 — Spring Boot + Vue 3 项目搭建

课后实现(扩展)

  • 用户管理 CRUD
  • 角色管理 + 菜单权限
  • 登录功能(密码/短信)
  • OAuth2 授权码流程
你的决策:告诉 AI 要实现哪些模块。AI 会帮你设计表和接口。

Step 1:让 AI 规划实施方案

在 Chat 模式中输入:

根据需求分析,我们要实现一个统一身份认证系统。请帮我规划实施方案:

需求模块:
• 统一认证:自然人登录(密码+短信)、企业登录、登录日志、第三方应用管理
• 系统管理:管理员用户、角色管理、菜单权限

请输出:
1. 需要建哪些数据库表?字段建议?
2. 需要哪些 API 接口?每个接口的路径、方法、参数?
3. 建议的实施顺序(先做什么后做什么)?
4. 技术选型建议(认证框架、缓存、消息队列)

AI 输出的实施计划

1
设计数据库:9 张表(u_ 统一认证 4 张 + sys_ 系统管理 5 张)
⬇
2
搭建项目:Spring Boot 3 多模块 + Sa-Token + MyBatis-Plus
⬇
3
生成实体类和 Mapper,跑通项目
⬇
4
实现管理功能:用户/角色/菜单 CRUD
先规划再动手。审查 AI 的方案,确认没问题再执行。

Step 2:让 AI 设计数据库

在 Builder 模式中输入:

请为统一身份认证系统生成 MySQL 建表 SQL:

统一认证管理(5张表):
1. u_user — 自然人用户(手机号 UNIQUE、密码、姓名、证件号、认证等级、状态)
2. u_corp_user — 企业用户(企业名、信用代码 UNIQUE、手机号、密码)
3. u_app — 第三方应用(app_key UNIQUE、app_secret、回调地址、状态)
4. u_login_log — 登录日志(用户ID、登录方式、IP、时间)

系统管理(5张表):
5. sys_user — 系统管理员(用户名 UNIQUE、密码、昵称、状态)
6. sys_role — 角色(角色名、角色标识、状态)
7. sys_menu — 菜单(菜单名、父菜单ID、路径、图标、排序)
8. sys_user_role — 用户角色关联(用户ID、角色ID)
9. sys_role_menu — 角色菜单关联(角色ID、菜单ID)

约束:表前缀 u_(统一认证)/ sys_(系统管理),逻辑删除 del_flag,utf8mb4,所有表有 create_time

审查 AI 的输出

你要检查的关键点

  • 手机号是否有 UNIQUE 约束
  • 密码字段是否 VARCHAR(255)(BCrypt 需要)
  • 逻辑删除字段 is_deleted 有没有
  • 字符集是否 utf8mb4
  • create_time 是否有 DEFAULT 值
验证:复制 SQL 到 MySQL 执行。报错?把错误贴给 AI,它帮你修。

Step 2.5:执行 SQL 并验证

在 MySQL 中执行

# 连接 MySQL mysql -u root -p uas_db # 执行 AI 生成的 SQL source /path/to/init_tables.sql # 或者直接粘贴 SQL 执行
报错了?把完整错误信息贴给 AI,它会帮你修复 SQL。

验证建表成功

# 查看所有表 SHOW TABLES; # 查看表结构 DESC u_user; DESC sys_user; # 确认 9 张表都创建成功

验证要点

  • 9 张表是否都创建成功
  • 手机号字段是否有 UNIQUE
  • 密码字段是否 VARCHAR(255)
  • 关联表是否有联合唯一索引

数据库表结构总览(9 张表)

分为统一认证和系统管理两大模块

统一认证管理(u_ 前缀)

表名用途核心字段
u_user自然人用户phone(UNIQUE), password, real_name
u_corp_user企业用户corp_name, credit_code(UNIQUE)
u_app第三方应用app_key(UNIQUE), app_secret
u_login_log登录日志user_id, login_type, ip

系统管理(sys_ 前缀)

表名用途核心字段
sys_user管理员username(UNIQUE), password
sys_role角色role_name, role_key
sys_menu菜单menu_name, parent_id, path
sys_user_role用户-角色user_id, role_id
sys_role_menu角色-菜单role_id, menu_id
你负责审查:表名是否合理?字段是否完整?约束是否正确?
AI 负责:生成具体的 SQL 语句、字段类型、索引。

Step 3:AI 生成后端项目骨架

Prompt 示例

请创建 Spring Boot 3 + Java 17 的统一身份认证后端项目。要求:

1. Maven 多模块:uas-admin(入口)、uas-common(通用工具)、uas-auth(认证业务)
2. uas-auth 下:controller、service、mapper、domain 包
3. 依赖:Sa-Token 1.39(认证)、MyBatis-Plus(ORM)、Redis(缓存)、RabbitMQ(消息)、AJ-Captcha(验证码)、Knife4j(Swagger API文档)
4. application.yml:MySQL 8 + Redis + 端口 8081
5. 启动类 UasApplication.java,含测试接口 GET /hello 返回 "Hello UAS"
6. 全局异常处理、统一响应 AjaxResult、CORS 跨域配置

AI 生成的后端结构

uas-admin/ └─ UasApplication.java ← 启动类 uas-common/ ├─ result/ AjaxResult.java ← 统一响应 ├─ exception/ ServiceException.java └─ utils/ DesensitizeUtils.java uas-auth/ ├─ config/ SaTokenConfig, CorsConfig ├─ controller/ AuthController, UserController ├─ service/ UasAuthService, UasUserService ├─ mapper/ UasUserMapper └─ domain/ ├─ entity/ UasUser, UasCorpUser, UasApp ├─ dto/ LoginDTO, SmsLoginDTO └─ vo/ TokenVO, UserInfoVO
审查重点:模块划分是否合理?依赖版本是否兼容?配置是否完整?

Step 4:AI 生成 Vue 3 前端骨架

Prompt 示例

请在 uas-ui 目录下创建 Vue 3 前端项目。要求:

1. Vite 构建,Element Plus UI 组件库,Vue Router,Axios
2. 页面结构:登录页、首页仪表盘、系统管理(用户/角色/日志)、认证管理(自然人/企业/应用/登录日志)
3. 左侧菜单 + 顶部导航栏布局
4. Axios 封装:自动加 Bearer Token、统一错误处理、401 跳登录
5. 登录页:手机号 + 密码 + 滑动验证码(AJ-Captcha)
6. npm run dev 端口 80

AI 生成的前端结构

uas-ui/ ├─ src/ │ ├─ views/ │ │ ├─ login/ Login.vue │ │ ├─ dashboard/ Dashboard.vue │ │ ├─ system/ UserList, RoleList, LogList │ │ └─ uas/ UserList, CorpList, │ │ AppList, LoginLog │ ├─ components/ Layout, Sidebar, Navbar │ ├─ api/ auth.js, user.js, app.js │ ├─ router/ index.js │ └─ utils/ request.js (Axios封装) ├─ package.json └─ vite.config.js
你负责:页面结构设计、路由规划。
AI 负责:生成组件代码、Axios 封装、样式。

Step 5:编译启动 + MCP 验证

编译运行的命令

# 后端 mvn clean package -Dmaven.test.skip java -jar uas-admin/target/uas-admin.jar # 前端 cd uas-ui && npm install && npm run dev
常见启动问题:
MySQL 连不上 → 检查 IP/端口/密码
Redis 连不上 → docker run redis:7
端口被占 → 改 application.yml
→ 把报错贴给 AI,秒解决

用 MCP 验证项目跑通

项目已启动在 localhost:8081。请用 MCP:
1. 打开浏览器访问 http://localhost:8081
2. 截图查看页面是否正常
3. 访问 /doc.html 查看 API 文档
4. 尝试调用 /hello 接口,确认返回正常
端到端验证:AI 建库 → 建项目 → MCP 打开浏览器确认一切正常。

Step 6:推送到 Gitee

项目跑通了,让 AI 帮你初始化 Git 并推送到远程仓库

让 AI 执行的 Prompt

项目已完成初始化,请帮我推送到 Gitee:

1. 初始化 Git 仓库
2. 添加 .gitignore(排除 target/、node_modules/、.idea/)
3. 首次提交:git commit -m "初始化项目:前后端骨架"
4. 添加远程仓库:git remote add origin https://gitee.com/xxx/uas.git
5. 推送:git push -u origin master

推送流程

1
在 Gitee 创建空仓库
⬇
2
复制仓库地址给 AI
⬇
3
AI 生成 .gitignore 并提交
⬇
4
AI 执行 git push
后续:每次 AI 完成功能后,都可以让它提交并推送。

Part 3 小结:从 0 到可运行的项目

你学会了什么

✓
如何让 AI 规划实施方案
✓
如何审查 AI 生成的数据库设计
✓
如何让 AI 生成前后端项目骨架
✓
如何用 MCP 验证项目跑通
✓
如何让 AI 推送代码到 Gitee

下一节

Part 4: AI 写管理功能

前后端项目跑通了,但只有骨架。
下一节让 AI 实现系统管理和认证管理的 CRUD 功能。

核心方法:
写 Prompt → AI 生成 → 你审查 → MCP 验证 → AI 提交推送