# 智慧农业生产管理系统 基于 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 --- ⭐ 如果这个项目对你有帮助,请给我们一个星标!