Files
smart-crop-ui/docs/AI前端开发提示.md

379 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🤖 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组件库
- 确保与现有系统架构兼容