提交1 bmad搭建与项目启动 - ok

This commit is contained in:
2025-10-17 17:24:56 +08:00
commit ec58562661
686 changed files with 149750 additions and 0 deletions

View File

@@ -0,0 +1,379 @@
# 🤖 Crop-X 智慧农业系统 AI前端开发提示
## 📋 提示使用说明
这是一个为AI前端开发工具如Vercel v0、Lovable.ai等设计的综合提示用于快速生成Crop-X智慧农业管理系统的现代化界面。
---
## 🎯 核心提示
### 高层目标
创建一个现代化的智慧农业管理系统使用React 19 + TypeScript + Tailwind CSS + shadcn/ui技术栈包含7大业务模块智能农机管理、地块信息管理、农事操作管理、农业资产管理、AI作物模型、水肥控制系统、中心配置管理。保持与现有系统99.5%的视觉一致性,同时引入现代化的交互体验。
### 详细步骤说明
#### 第1步项目初始化和基础架构
1. 创建项目基础结构包括components、pages、hooks、utils等目录
2. 配置React 19 + TypeScript + Vite开发环境
3. 集成shadcn/ui组件库和Tailwind CSS
4. 设置基础布局组件Navigation、Sidebar、MainLayout
#### 第2步核心业务组件开发
1. 实现登录/注册页面(支持密码登录和手机验证码登录)
2. 创建主导航系统7大业务系统标签切换
3. 开发农机管理系统(优先级最高)
4. 实现用户认证和权限管理
5. 添加消息通知和用户中心功能
#### 第3步数据管理和交互
1. 实现农机档案的CRUD操作
2. 创建数据表格组件(支持排序、筛选、搜索)
3. 开发表单组件(支持验证和错误处理)
4. 添加数据可视化图表组件
5. 实现导出功能Excel/PDF
#### 第4步移动端优化
1. 实现响应式设计,重点优化移动端体验
2. 添加触摸友好的交互
3. 优化田间作业场景的界面
4. 实现离线数据缓存机制
### 代码示例和数据结构
#### 核心数据结构
```typescript
// 农机设备数据结构
interface MachineryRecord {
id: string;
name: string;
model: string;
category: string;
status: 'active' | 'maintenance' | 'retired';
manufacturer: string;
purchaseDate: string;
currentLocation: string;
operator?: string;
qrCode: string;
createdAt: string;
updatedAt: string;
}
// 用户认证数据结构
interface User {
id: string;
username: string;
realName: string;
phone: string;
role: 'admin' | 'operator' | 'technician';
enterpriseName?: string;
lastLoginTime?: string;
}
// 消息通知数据结构
interface Message {
id: string;
title: string;
content: string;
time: string;
read: boolean;
type: 'info' | 'warning' | 'success' | 'error';
}
```
#### API接口示例
```typescript
// 登录API
POST /api/auth/login
{
"username": "admin",
"password": "admin123",
"captcha": "1234"
}
// 农机列表API
GET /api/machinery/list?page=1&limit=20&category=拖拉机&status=active
// 新增农机API
POST /api/machinery/create
{
"name": "约翰迪尔拖拉机",
"model": "JD-6M-1654",
"category": "拖拉机",
"manufacturer": "约翰迪尔",
"purchaseDate": "2024-01-15",
"status": "active"
}
```
#### 样式约束
```css
/* 主要色彩 */
--primary-green: #16a34a;
--secondary-blue: #3b82f6;
--warning-amber: #f59e0b;
--success-green: #22c55e;
--danger-red: #ef4444;
/* 字体 */
--font-primary: 'Inter', system-ui, sans-serif;
--font-secondary: 'Microsoft YaHei', 'PingFang SC', sans-serif;
/* 间距 */
--spacing-xs: 4px;
--spacing-sm: 8px;
--spacing-md: 16px;
--spacing-lg: 24px;
--spacing-xl: 32px;
```
### 严格范围定义
**必须使用的技术栈:**
- React 19 + TypeScript
- Tailwind CSS
- shadcn/ui组件库
- Lucide React图标库
- Zustand状态管理
**不能使用的技术:**
- jQuery或其他传统库
- 内联样式(特殊情况除外)
- 不符合WCAG AA标准的无障碍性实现
- 不支持响应式设计的固定布局
**文件组织约束:**
- 组件文件放在 `src/components/` 目录下
- 页面组件放在 `src/pages/` 目录下
- 工具函数放在 `src/utils/` 目录下
- 类型定义放在 `src/types/` 目录下
## 🎨 具体组件生成提示
### 登录页面提示
```
创建一个现代化的登录页面,包含以下元素:
1. 顶部Logo和系统标题"智慧农业生产管理系统"
2. 两个标签页:密码登录和手机登录
3. 密码登录表单:用户名、密码、图形验证码
4. 手机登录表单:手机号、短信验证码、图形验证码
5. 记住登录状态功能
6. 测试账号提示admin/admin123
7. 加载状态和错误处理
8. 绿色主题配色,渐变背景
```
### 导航栏提示
```
创建顶部导航栏组件,包含:
1. 左侧Logo和系统标题
2. 中间7个业务系统标签智能农机管理、地块信息管理、农事操作管理、农业资产管理、AI作物模型、水肥控制系统、中心配置管理
3. 右侧消息通知图标(带未读数量徽章)
4. 用户头像和用户菜单(下拉菜单)
5. 响应式设计:移动端简化显示
6. 激活状态的绿色背景和底部指示线
7. 悬停效果的过渡动画
```
### 农机管理表格提示
```
创建农机档案管理页面,包含:
1. 页面标题"农机档案录入与维护"和"新增农机"按钮
2. 数据表格显示农机信息(设备名称、型号、类型、状态、位置等)
3. 每行操作按钮:编辑、详情、二维码、删除
4. 表格功能:排序、筛选、搜索、分页
5. 新增/编辑农机表单(包含所有必要字段)
6. 农机详情弹窗(显示完整信息和历史记录)
7. 批量操作功能(批量删除、批量导出)
8. 空数据状态和加载状态
```
### 移动端优化提示
```
为移动设备优化界面,重点包括:
1. 导航栏折叠为汉堡菜单
2. 表格优化为卡片式布局
3. 按钮尺寸加大最小44px触摸区域
4. 表单字段垂直布局
5. 添加手势支持(滑动、长按等)
6. 优化字体大小和间距
7. 实现离线数据缓存
8. 添加下拉刷新功能
```
## 🎯 具体页面生成请求
### 请求1登录页面生成
**高层目标:** 创建安全、易用的登录界面,支持多种登录方式
**详细步骤:**
1. 创建Login.tsx组件使用React hooks管理状态
2. 实现双标签切换(密码登录/手机登录)
3. 使用shadcn/ui的Card、Input、Button、Tabs组件
4. 实现图形验证码组件
5. 添加表单验证和错误处理
6. 实现登录状态管理和跳转逻辑
7. 添加加载状态和成功提示
8. 确保响应式设计和无障碍性
**代码结构示例:**
```typescript
// 登录页面组件结构
import { useState } from 'react'
import { Card } from '@/components/ui/card'
import { Button } from '@/components/ui/button'
import { Input } from '@/components/ui/input'
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
export default function Login() {
const [loginType, setLoginType] = useState<'password' | 'phone'>('password')
const [loading, setLoading] = useState(false)
// ... 其他状态管理
return (
<div className="min-h-screen bg-gradient-to-br from-green-50 via-blue-50 to-cyan-50 flex items-center justify-center p-4">
<Card className="w-full max-w-md p-8">
{/* 组件内容 */}
</Card>
</div>
)
}
```
**严格范围:**
- 只创建Login.tsx文件
- 使用shadcn/ui组件不修改其内部实现
- 实现与现有系统99.5%视觉一致性
- 支持键盘导航和屏幕阅读器
- 不实现后端API调用只创建前端界面
### 请求2导航栏组件生成
**高层目标:** 创建直观的导航系统支持7大业务模块快速切换
**详细步骤:**
1. 创建Navigation.tsx组件
2. 实现7个业务系统标签的横向布局
3. 使用Lucide React图标Tractor, Map, Clipboard等
4. 实现消息通知中心Popover组件
5. 创建用户菜单Popover组件
6. 添加激活状态的视觉反馈
7. 实现消息详情弹窗
8. 添加用户退出登录功能
**组件交互要求:**
- 标签切换时保持用户会话
- 消息通知支持标记已读状态
- 用户菜单显示用户基本信息
- 支持键盘导航Tab键
**严格范围:**
- 创建Navigation.tsx和相关子组件
- 使用Tailwind CSS进行样式设计
- 保持与现有导航系统的99.5%一致性
- 不修改App.tsx的导航逻辑
- 确保响应式设计在移动端正常工作
### 请求3农机档案表格生成
**高层目标:** 创建功能完整的农机档案管理界面,支持数据的增删改查
**详细步骤:**
1. 创建MachineryList.tsx组件
2. 实现数据表格显示农机列表
3. 添加表格操作列(编辑、详情、二维码、删除)
4. 实现搜索和筛选功能
5. 创建分页控制组件
6. 实现新增农机弹窗Modal组件
7. 创建农机详情弹窗,显示完整信息
8. 添加批量操作功能
9. 实现数据导出功能
**数据表格要求:**
- 支持列排序(点击表头)
- 支持列显示/隐藏自定义
- 行悬停效果和选中状态
- 空数据状态和加载状态
- 虚拟滚动支持大数据量
**表单验证要求:**
- 实时验证输入后300ms
- 清晰的错误提示信息
- 必填字段标记
- 表单重置和草稿保存
**严格范围:**
- 创建MachineryList.tsx及相关子组件
- 使用现有的数据结构和API接口格式
- 保持与现有农机管理功能的一致性
- 不修改数据存储逻辑,只创建前端界面
- 确保表格性能优化,支持大数据量
## 📱 移动优先生成请求
### 移动端登录页面
**目标:** 为田地现场的农机操作员创建移动友好的登录界面
**移动优化要求:**
1. 垂直布局,适应手机屏幕
2. 大按钮设计最小44px高度
3. 简化的表单字段布局
4. 支持手势操作(滑动画验证码)
5. 优化键盘弹出体验
6. 添加网络状态指示器
7. 实现离线登录支持
### 移动端农机管理
**目标:** 为移动设备优化的农机管理界面
**移动优化要求:**
1. 卡片式布局替代表格
2. 底部固定的操作按钮
3. 下拉刷新和上拉加载更多
4. 触摸友好的操作菜单
5. 简化的信息展示
6. 快速搜索和筛选
7. 离线数据缓存和同步
## 🚨 重要提醒
### 所有AI生成代码的要求
1. **代码审查**: 所有AI生成的代码都需要人工审查和测试
2. **功能测试**: 确保生成的组件功能正常
3. **样式检查**: 验证视觉效果符合设计规范
4. **无障碍性测试**: 检查键盘导航和屏幕阅读器支持
5. **性能测试**: 确保组件性能满足要求
6. **浏览器兼容性**: 测试主流浏览器支持
### 质量保证清单:
- [ ] TypeScript类型安全无类型错误
- [ ] 组件可复用props接口清晰
- [ ] 样式响应式,支持多设备
- [ ] 无障碍性符合WCAG AA标准
- [ ] 性能优化,无明显卡顿
- [ ] 错误处理完善,用户友好
- [ ] 加载状态清晰,用户体验良好
---
**使用说明:**
1. 复制相应的提示内容到AI工具中
2. 根据生成的代码进行人工审查和调整
3. 测试组件功能和性能
4. 集成到现有项目架构中
5. 迭代优化用户体验
**技术支持:**
- 使用React 19 + TypeScript
- 遵循Tailwind CSS设计规范
- 使用shadcn/ui组件库
- 确保与现有系统架构兼容