5.1 KiB
5.1 KiB
ALIGNMENT - 前端 UI 项目需求对齐
📋 原始需求
在项目根目录下创建前端ui项目,为此项目做一个简易ui页面。不需要登录注册。直接能访问得管理页面即可。技术选型使用Vue3。
🏗️ 项目上下文分析
现有项目架构
- 项目类型: FastAPI 后端 API 项目
- 技术栈: Python + FastAPI + SQLAlchemy + MySQL
- 架构模式: 分层架构 + 应用工厂模式
- API 版本: v1 (
/api/v1/) - 主要实体: Users、Products
- 数据库: MySQL (开发环境支持 SQLite)
- CORS 配置: 已启用,允许跨域访问
现有 API 端点
-
用户管理 API (
/api/v1/users/)- GET
/- 获取用户列表 - GET
/{user_id}- 获取单个用户 - POST
/- 创建新用户 - PUT
/{user_id}- 更新用户 - DELETE
/{user_id}- 删除用户
- GET
-
产品管理 API (
/api/v1/products/)- GET
/- 获取产品列表 - GET
/{product_id}- 获取单个产品 - POST
/- 创建新产品 - PUT
/{product_id}- 更新产品 - DELETE
/{product_id}- 删除产品
- GET
数据模型
-
用户 (User)
- id: int (主键)
- username: str (用户名)
- email: EmailStr (邮箱)
- full_name: str? (全名)
- is_active: bool (激活状态)
-
产品 (Product)
- id: int (主键)
- name: str (产品名)
- description: str? (描述)
- price: float (价格)
- stock: int (库存)
- is_available: bool (可用状态)
🎯 需求理解确认
功能需求
-
前端项目结构
- 在项目根目录创建独立的前端项目
- 使用 Vue 3 技术栈
- 简易的管理界面设计
-
用户体验
- 无需登录认证机制
- 直接访问管理页面
- 简洁易用的界面
-
功能范围
- 用户管理功能 (CRUD)
- 产品管理功能 (CRUD)
- 数据展示和操作界面
技术需求
-
前端技术栈
- Vue 3 (Composition API)
- 现代前端工具链 (Vite)
- UI 框架选择 (需确认)
- HTTP 客户端 (Axios)
-
项目集成
- 与现有 FastAPI 后端 API 集成
- 跨域请求处理
- 开发环境配置
❓ 疑问澄清
1. UI 框架选择
问题: 选择哪个 Vue UI 组件库? 建议选项:
- Element Plus (成熟稳定,管理界面友好)
- Ant Design Vue (企业级组件)
- Naive UI (轻量现代)
- Quasar (功能丰富)
推荐: Element Plus - 最适合快速构建管理界面
2. 项目目录结构
问题: 前端项目放置位置? 选项:
frontend/(推荐 - 独立前端项目)web/(简洁命名)ui/(简短命名)
推荐: frontend/ - 语义明确
3. 开发服务器配置
问题: 前端开发服务器端口? 建议:
- 前端:
http://localhost:3000 - 后端:
http://localhost:8000(已确定) - 避免端口冲突
4. 功能复杂度
问题: 管理界面功能深度? 基础功能 (推荐):
- 数据列表展示 (表格)
- 增删改查操作
- 表单验证
- 操作反馈 (成功/错误提示)
扩展功能 (可选):
- 数据搜索过滤
- 分页处理
- 批量操作
- 数据导出
🎯 边界确认
包含范围
✅ Vue 3 + Vite 前端项目搭建 ✅ Element Plus UI 框架集成 ✅ 用户管理 CRUD 界面 ✅ 产品管理 CRUD 界面 ✅ 响应式布局设计 ✅ API 集成和错误处理 ✅ 基础表单验证
不包含范围
❌ 用户认证登录系统 ❌ 权限管理和角色控制 ❌ 复杂的数据可视化 ❌ 文件上传功能 ❌ 实时数据更新 (WebSocket) ❌ 移动端适配优化 ❌ 国际化多语言支持
💡 技术决策建议
1. 技术栈选择 (基于分析)
- Vue 3 + Composition API: 现代化开发体验
- Vite: 快速构建工具,开发体验优秀
- Element Plus: 成熟的 Vue 3 UI 组件库,适合管理界面
- Axios: HTTP 客户端,API 交互
- Vue Router: 路由管理 (SPA)
- Pinia: 状态管理 (可选,简单项目可不用)
2. 项目结构建议
frontend/
├── src/
│ ├── components/ # 通用组件
│ ├── views/ # 页面组件
│ ├── api/ # API 接口
│ ├── utils/ # 工具函数
│ ├── router/ # 路由配置
│ └── main.js # 入口文件
├── public/ # 静态资源
├── package.json # 依赖配置
└── vite.config.js # 构建配置
3. 页面结构设计
- 首页/仪表板: 概览信息
- 用户管理页: 用户列表 + CRUD 操作
- 产品管理页: 产品列表 + CRUD 操作
🚨 关键假设
- 假设后端 API 已正常运行在 8000 端口
- 假设 CORS 已正确配置允许前端访问
- 假设用户具备基本的 Vue 3 开发环境
- 假设项目以简单实用为主,不需要复杂功能
✅ 验收标准
- 成功创建 Vue 3 前端项目
- 能够正常访问管理界面
- 用户管理功能完整可用 (列表、增删改查)
- 产品管理功能完整可用 (列表、增删改查)
- 界面美观易用,响应式布局
- 与后端 API 正常交互
- 基础的错误处理和用户反馈