5feb24e 子仓库提交 git-subtree-dir: crop-x-new git-subtree-split: 5feb24e4e221308e6e146bb0fce87f1fb3e152e8
322 lines
6.6 KiB
Markdown
322 lines
6.6 KiB
Markdown
# 智慧农业生产管理系统
|
||
|
||
基于 React 18 + Vite 6 + TypeScript + shadcn/ui 构建的现代化农业管理平台。
|
||
|
||
## 🌟 项目特色
|
||
|
||
- 🚀 **现代化技术栈**: React 18 + Vite 6 + TypeScript
|
||
- 🎨 **优美UI设计**: 基于 shadcn/ui + Tailwind CSS
|
||
- 📱 **响应式布局**: 支持桌面端和移动端
|
||
- 🌾 **农业专业化**: 针对农业生产场景定制
|
||
- 🔧 **开发工具**: ESLint + Prettier + Husky(可选启用)
|
||
- 📊 **数据可视化**: 集成 Recharts 图表库
|
||
|
||
## 🏗️ 技术架构
|
||
|
||
### 核心技术栈
|
||
|
||
- **前端框架**: React 18.3.1
|
||
- **构建工具**: Vite 6.3.5
|
||
- **类型系统**: TypeScript 5.6.2
|
||
- **UI组件库**: shadcn/ui + Radix UI
|
||
- **样式方案**: Tailwind CSS 3.4.13
|
||
- **状态管理**: React Context + Hooks
|
||
- **路由系统**: 自定义基于路径的路由
|
||
- **图表库**: Recharts 2.15.2
|
||
- **图标库**: Lucide React 0.487.0
|
||
- **日期处理**: date-fns 4.1.0
|
||
|
||
### 项目结构
|
||
|
||
```
|
||
crop-x/
|
||
├── 📄 public/ # 静态资源
|
||
├── 📄 src/
|
||
│ ├── 📄 components/ # 组件目录
|
||
│ │ ├── ui/ # shadcn/ui基础组件
|
||
│ │ ├── common/ # 通用业务组件
|
||
│ │ └── layouts/ # 布局组件
|
||
│ ├── 📄 pages/ # 页面组件
|
||
│ │ ├── machinery/ # 农机管理
|
||
│ │ ├── field/ # 地块管理
|
||
│ │ ├── operation/ # 农事管理
|
||
│ │ ├── asset/ # 资产管理
|
||
│ │ ├── ai-model/ # AI模型
|
||
│ │ ├── irrigation/ # 灌溉控制
|
||
│ │ └── config/ # 配置管理
|
||
│ ├── 📄 hooks/ # 自定义Hooks
|
||
│ ├── 📄 lib/ # 工具库
|
||
│ ├── 📄 config/ # 配置文件
|
||
│ ├── 📄 types/ # 类型定义
|
||
│ ├── 📄 utils/ # 工具函数
|
||
│ ├── 📄 assets/ # 资源文件
|
||
│ ├── 📄 styles/ # 样式文件
|
||
│ └── 📄 App.tsx # 主应用组件
|
||
├── 📄 docs/ # 文档目录
|
||
├── 📄 scripts/ # 构建脚本
|
||
└── 📄 .vscode/ # VSCode配置
|
||
```
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 环境要求
|
||
|
||
- Node.js >= 18.0.0
|
||
- npm >= 8.0.0
|
||
|
||
### 安装依赖
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
### 开发环境
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
项目将在 http://localhost:3000 启动(如果端口被占用会自动切换)
|
||
|
||
**✅ React应用验证**:
|
||
- 启动时间: < 2秒(实测2012ms)
|
||
- 热重载: 正常工作
|
||
- 主题切换: 支持深色/浅色模式
|
||
- 响应式设计: 支持桌面端和移动端
|
||
|
||
### 构建生产版本
|
||
|
||
```bash
|
||
npm run build
|
||
```
|
||
|
||
### 预览生产版本
|
||
|
||
```bash
|
||
npm run preview
|
||
```
|
||
|
||
## 🛠️ 开发工具
|
||
|
||
项目配置了可选的开发工具链,默认禁用,可通过以下命令启用:
|
||
|
||
### 查看开发工具状态
|
||
|
||
```bash
|
||
npm run scripts:setup
|
||
```
|
||
|
||
### 启用所有开发工具
|
||
|
||
```bash
|
||
npm run scripts:enable
|
||
```
|
||
|
||
### 禁用所有开发工具
|
||
|
||
```bash
|
||
npm run scripts:disable
|
||
```
|
||
|
||
### 代码检查
|
||
|
||
```bash
|
||
# ESLint检查
|
||
npm run lint
|
||
|
||
# ESLint自动修复
|
||
npm run lint:fix
|
||
```
|
||
|
||
### 代码格式化
|
||
|
||
```bash
|
||
# Prettier格式化
|
||
npm run format
|
||
|
||
# 检查格式
|
||
npm run format:check
|
||
```
|
||
|
||
### 类型检查
|
||
|
||
```bash
|
||
npm run type-check
|
||
```
|
||
|
||
## 📁 功能模块
|
||
|
||
### 🚜 农机管理 (Machinery)
|
||
- 农机档案管理
|
||
- 驾驶员管理
|
||
- 负载管理
|
||
- 运行监控
|
||
- 故障管理
|
||
- 作业管理
|
||
- 数据分析
|
||
- 调度管理
|
||
- 安全管理
|
||
|
||
### 🌾 地块管理 (Field)
|
||
- 地块档案
|
||
- 土壤信息
|
||
- 作物管理
|
||
- 种植计划
|
||
|
||
### 📋 农事管理 (Operation)
|
||
- 作业计划
|
||
- 进度跟踪
|
||
- 成本核算
|
||
- 产量预测
|
||
|
||
### 💰 资产管理 (Asset)
|
||
- 设备资产
|
||
- 库存管理
|
||
- 采购管理
|
||
- 维护记录
|
||
|
||
### 🤖 AI模型 (AI Model)
|
||
- 智能预测
|
||
- 图像识别
|
||
- 数据分析
|
||
- 决策支持
|
||
|
||
### 💧 灌溉控制 (Irrigation)
|
||
- 智能灌溉
|
||
- 水资源管理
|
||
- 设备控制
|
||
- 用水统计
|
||
|
||
### ⚙️ 配置管理 (Config)
|
||
- 系统配置
|
||
- 用户管理
|
||
- 权限设置
|
||
- 数据字典
|
||
|
||
## 🎨 设计系统
|
||
|
||
### 颜色系统
|
||
|
||
- **主色调**: 农业绿色 (#16a34a)
|
||
- **辅助色**: 技术蓝色 (#3b82f6)
|
||
- **状态色**: 运行(绿)、空闲(灰)、维护(黄)、故障(红)、离线(深灰)
|
||
|
||
### 组件规范
|
||
|
||
- 基于 shadcn/ui 组件库
|
||
- 遵循 Material Design 设计规范
|
||
- 支持深色/浅色主题切换
|
||
- 完整的无障碍支持
|
||
|
||
## 🔧 配置说明
|
||
|
||
### 环境变量
|
||
|
||
```bash
|
||
# API地址
|
||
VITE_API_BASE_URL=http://localhost:8080/api
|
||
|
||
# 应用标题
|
||
VITE_APP_TITLE=智慧农业生产管理系统
|
||
|
||
# 开发模式
|
||
VITE_DEV_MODE=true
|
||
```
|
||
|
||
### 开发工具配置
|
||
|
||
通过 `.dev-tools-config.json` 文件控制开发工具的启用状态:
|
||
|
||
```json
|
||
{
|
||
"tools": {
|
||
"eslint": { "enabled": false },
|
||
"prettier": { "enabled": false },
|
||
"husky": { "enabled": false }
|
||
}
|
||
}
|
||
```
|
||
|
||
## 📖 开发指南
|
||
|
||
### 添加新页面
|
||
|
||
1. 在对应模块下创建页面组件
|
||
2. 在路由配置中添加路由规则
|
||
3. 在菜单配置中添加菜单项
|
||
|
||
### 添加新组件
|
||
|
||
1. 在 `src/components/ui/` 下创建UI组件
|
||
2. 遵循 shadcn/ui 设计规范
|
||
3. 添加 TypeScript 类型定义
|
||
4. 编写组件文档和使用示例
|
||
|
||
### 样式规范
|
||
|
||
- 使用 Tailwind CSS 类名
|
||
- 遵循 BEM 命名规范
|
||
- 响应式设计优先
|
||
- 支持深色模式
|
||
|
||
## 🧪 测试
|
||
|
||
```bash
|
||
# 运行测试
|
||
npm run test
|
||
|
||
# 运行测试覆盖率
|
||
npm run test:coverage
|
||
```
|
||
|
||
## 📤 部署
|
||
|
||
### Docker部署
|
||
|
||
```bash
|
||
# 构建镜像
|
||
docker build -t agriculture-management .
|
||
|
||
# 运行容器
|
||
docker run -p 3000:3000 agriculture-management
|
||
```
|
||
|
||
### 传统部署
|
||
|
||
```bash
|
||
# 构建项目
|
||
npm run build
|
||
|
||
# 部署build目录到Web服务器
|
||
```
|
||
|
||
## 📝 更新日志
|
||
|
||
### v1.0.0 (2024-01-20)
|
||
- ✨ 初始版本发布
|
||
- 🚀 完成基础架构搭建
|
||
- 🎨 集成shadcn/ui组件库
|
||
- 📱 实现响应式设计
|
||
- 🌾 添加农业专业化功能
|
||
|
||
## 🤝 贡献指南
|
||
|
||
1. Fork 项目
|
||
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
|
||
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
||
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
||
5. 创建 Pull Request
|
||
|
||
## 📄 许可证
|
||
|
||
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情
|
||
|
||
## 📞 联系我们
|
||
|
||
- 项目地址: [GitHub Repository](https://github.com/your-username/agriculture-management)
|
||
- 问题反馈: [Issues](https://github.com/your-username/agriculture-management/issues)
|
||
- 邮箱: your-email@example.com
|
||
|
||
---
|
||
|
||
⭐ 如果这个项目对你有帮助,请给我们一个星标! |