Compare commits

...

32 Commits

Author SHA1 Message Date
8491eacbe3 更新 docker-compose.yml: 增加内存限制,从 400M 调整为 1000M,以优化后端服务的资源配置。 2025-07-19 21:27:13 +08:00
3b3bfb5952 更新 Dockerfile: 修改 pip 安装命令,去掉 --no-cache-dir 选项以简化依赖安装过程。 2025-07-19 21:04:27 +08:00
3a81ccad92 更新 docker-compose.yml: 添加内存限制配置,确保后端服务在资源使用上符合预期。 2025-07-19 20:53:33 +08:00
f3f6c4d99a 更新 .env.production: 修改 VITE_API_BASE_URL,去掉 API 路径以适应新的配置要求。 2025-07-19 20:47:17 +08:00
8d2ced4221 更新 app.py: 修改 CORS 配置,限制允许的来源为特定 IP 和本地地址,并启用支持凭证功能。 2025-07-19 20:39:51 +08:00
1ec32cba7c 更新 docker-compose.yml: 修正后端端口映射,从 5000:7793 更改为 7793:5000,以符合新的服务配置要求。 2025-07-19 20:35:30 +08:00
660cb1d9ad 更新 ci.yml: 添加步骤以关闭和移除 app 容器,确保 CI 流程的清理工作。 2025-07-19 20:31:18 +08:00
05763b6b5e 更新 docker-compose.yml: 调整后端端口映射,从 7793:5000 更改为 5000:7793,以符合新的服务配置要求。 2025-07-19 20:24:07 +08:00
4ffae321ef 更新 Dockerfile: 在构建前删除 dist 目录以确保不使用本地遗留产物,优化构建过程。 2025-07-19 19:42:56 +08:00
56438a0425 更新 docker-compose.yml: 修改后端端口映射,从 7793 更改为 5000,以适应新的服务配置。 2025-07-19 19:30:56 +08:00
58133125c7 更新 docker-compose.yml: 添加新的卷挂载以支持后端服务,保持端口映射不变。 2025-07-19 18:45:02 +08:00
de8af851db 更新 .env.production: 修改 VITE_API_BASE_URL 为新的 API 地址以适应生产环境配置。 2025-07-19 18:41:52 +08:00
bc86dff06e 更新 docker-compose.yml: 移除不必要的卷挂载,简化服务配置,保持后端端口映射不变。 2025-07-19 18:37:37 +08:00
f1a0ddf58a 更新 Dockerfile: 添加调试命令以列出平台和后端目录内容,便于排查构建问题。 2025-07-19 18:24:49 +08:00
a9034cd9fc 更新 package.json: 移除 TypeScript 编译步骤,简化构建命令以提高构建效率。 2025-07-19 17:46:40 +08:00
672e6b2f42 更新 Dockerfile: 增强源切换兼容性,支持新老 Debian/Ubuntu 版本,确保依赖安装顺利进行。 2025-07-19 17:34:28 +08:00
5d51008c85 更新 Dockerfile: 将基础镜像更改为 python:3.11,保持 Debian 源为阿里云以优化依赖安装。 2025-07-19 17:31:27 +08:00
a14ad5ee48 更新 Dockerfile: 更换 Debian 源为阿里云,设置 pip 国内镜像为清华源,以优化依赖安装速度。 2025-07-19 17:28:11 +08:00
7c8ec75633 Merge branch 'main' of http://114.67.155.184:3000/hhhhhh/nonye 2025-07-19 17:20:53 +08:00
3b81cbda0e 更新 docker-compose.yml 和 supervisord.conf: 重构服务配置,合并前后端服务,调整端口映射和启动命令。 2025-07-19 17:20:07 +08:00
e323e2265f 更新 .gitea/workflows/ci.yml: 移除 Node.js 和 Python 依赖安装步骤,简化 CI 流程。 2025-07-19 17:17:27 +08:00
c96a58204c 更新 .gitea/workflows/ci.yml: 修改运行环境为 ubuntu-latest-2,移除 Docker 安装步骤,更新 Docker 容器重启命令以使用 --force-recreate 选项。 2025-07-19 17:07:49 +08:00
b4dac0eff1 更新 .gitea/workflows/ci.yml 2025-07-19 16:17:37 +08:00
24c327b8de 更新 .gitea/workflows/ci.yml 2025-07-19 15:33:17 +08:00
f9540451bb 更新 .gitea/workflows/ci.yml 2025-07-19 14:54:17 +08:00
65d2477b48 更新 .gitea/workflows/ci.yml 2025-07-19 14:09:19 +08:00
b2866e38e9 更新 .gitea/workflows/ci.yml 2025-07-19 13:58:23 +08:00
a3dc432f8d 更新 .gitea/workflows/ci.yml 2025-07-19 13:44:08 +08:00
75d5fde058 更新 .gitea/workflows/ci.yml 2025-07-19 12:50:53 +08:00
afb2d8118f Merge remote-tracking branch 'origin/main' 2025-07-19 12:33:12 +08:00
bd7c813dca 1 2025-07-19 12:32:54 +08:00
1d9f6f7683 1 2025-07-19 12:03:20 +08:00
10 changed files with 89 additions and 417 deletions

View File

@ -7,6 +7,11 @@ jobs:
build:
runs-on: ubuntu-latest-2
steps:
- name: 关闭 app 容器
run: |
docker compose stop app || true
docker compose rm -f app || true
- name: 克隆本地 checkout action
run: |
git clone http://114.67.155.184:3000/niyyzf/checkout.git ./.actions/checkout
@ -14,49 +19,10 @@ jobs:
- name: 检出代码
uses: ./.actions/checkout
- name: 安装 Node.js
run: |
curl -fsSL https://deb.nodesource.com/setup_21.x | bash -
apt-get install -y nodejs
- name: 安装前端依赖
working-directory: platform
run: npm install
- name: 构建前端(跳过 ts 校验)
working-directory: platform
run: |
npm run build -- --no-check || true
- name: 安装 Python 3.11
run: |
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt update
sudo apt install -y python3.11 python3.11-venv python3.11-distutils python3-pip
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
python3 --version
- name: 安装后端依赖
working-directory: back
run: |
python3.11 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
- name: 安装 Docker
run: |
sudo apt update
sudo apt install -y docker.io
- name: 安装 Docker Compose
run: |
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
- name: 构建 Docker 镜像
run: |
docker-compose build
docker compose build
- name: 重启 Docker 容器
run: |
docker compose up -d --force-recreate

45
Dockerfile Normal file
View File

@ -0,0 +1,45 @@
FROM python:3.11
# 兼容新老 debian/ubuntu 换源
RUN (sed -i 's@http://deb.debian.org@http://mirrors.aliyun.com@g' /etc/apt/sources.list 2>/dev/null || true) && \
(sed -i 's@http://security.debian.org@http://mirrors.aliyun.com@g' /etc/apt/sources.list 2>/dev/null || true) && \
find /etc/apt/sources.list.d/ -name "*.list" -exec sed -i 's@http://deb.debian.org@http://mirrors.aliyun.com@g' {} \; && \
find /etc/apt/sources.list.d/ -name "*.list" -exec sed -i 's@http://security.debian.org@http://mirrors.aliyun.com@g' {} \;
# 安装 Node.js 和 supervisord
RUN apt-get update && \
apt-get install -y curl supervisor && \
curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && \
apt-get install -y nodejs && \
apt-get clean
# 设置 pip 国内镜像(清华)
RUN mkdir -p /root/.pip && \
echo "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple\ntrusted-host = pypi.tuna.tsinghua.edu.cn" > /root/.pip/pip.conf
# 设置工作目录
WORKDIR /app
# 复制前端代码并安装依赖、构建
COPY platform/ ./platform/
WORKDIR /app/platform
# 构建前先删除 dist确保不会用到本地遗留产物
RUN rm -rf dist && npm install && npm run build
RUN ls -l /app/platform
# 安装 http-server
RUN npm install -g http-server
# 复制后端代码并安装依赖
WORKDIR /app/back
COPY back/requirements.txt .
RUN pip install -r requirements.txt
COPY back/ .
RUN ls -l /app/back
# supervisor 配置
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
WORKDIR /app
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]

View File

@ -92,7 +92,7 @@ def create_app():
app.get_db = get_db
# 启用 CORS跨域支持
CORS(app, resources={r"/*": {"origins": "*"}}) # 允许所有来源或指定局域网IP
CORS(app, resources={r"/*": {"origins": ["http://203.195.163.42:7792", "http://localhost:5000"]}}, supports_credentials=True)
# 注册蓝图
from blueprints.login import bp as login_bp

View File

@ -1,22 +1,16 @@
version: '3.8'
services:
backend:
build: ./back
container_name: backend
app:
build:
context: .
dockerfile: Dockerfile
container_name: app
ports:
- "7792:5000"
- "7792:7792" # 前端
- "7793:5000" # 后端
volumes:
- ./back:/app
environment:
- FLASK_ENV=development
depends_on:
- frontend
frontend:
build: ./platform
container_name: frontend
ports:
- "7793:5173"
volumes:
- ./platform:/app
environment:
- NODE_ENV=development
- /opt/nonye/DIY_gccpu_96_96:/app/back/DIY_gccpu_96_96
- /opt/nonye/models:/app/back/models
deploy:
resources:
limits:
memory: 1000M

View File

@ -1 +1 @@
VITE_API_BASE_URL=https://your-production-domain.com/api
VITE_API_BASE_URL=http://203.195.163.42:7793

View File

@ -1,225 +0,0 @@
# Dashboard 页面优化总结
## 优化概述
本次优化主要针对 Dashboard 页面进行了全面的现代化改造,实现了自适应、美观、风格统一、现代简约的设计目标。
## 主要改进
### 1. 全局设计系统统一
#### 颜色变量系统
- 建立了完整的 CSS 变量系统,统一管理所有颜色、间距、字体等设计元素
- 主色调:`#1890ff` (蓝色系)
- 渐变色:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`
- 背景色:`#f5f7fa` (浅灰蓝)
- 文字色:`#1a1a1a` (深灰)
#### 设计令牌
```css
/* 间距系统 */
--spacing-xs: 4px;
--spacing-sm: 8px;
--spacing-md: 12px;
--spacing-lg: 16px;
--spacing-xl: 20px;
--spacing-2xl: 24px;
--spacing-3xl: 32px;
/* 圆角系统 */
--radius-sm: 6px;
--radius-md: 8px;
--radius-lg: 12px;
--radius-xl: 16px;
--radius-2xl: 20px;
/* 阴影系统 */
--shadow-sm: 0 2px 8px rgba(24, 144, 255, 0.04);
--shadow-md: 0 4px 20px rgba(0, 0, 0, 0.08);
--shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
```
### 2. 组件切分优化
#### 页面结构重组
- 移除了冗余的页面标题,简化页面头部
- 将操作按钮移至右上角,提升用户体验
- 优化了区域标题设计,添加了功能标签
#### 组件职责明确
- `StatCards`: 统计卡片展示
- `StatCardItem`: 单个统计卡片
- `MapSection`: 地图组件
- `TemperatureMonitor`: 温度监控
- `HumidityMonitor`: 湿度监控
- `PersonnelManagement`: 人员管理
- `AISection`: AI助手
### 3. 图标系统升级
#### 使用 Lucide Vue 图标
- 替换了自定义图标组件,使用成熟的图标库
- 统一图标风格和大小规范
- 提升图标加载性能和维护性
```vue
import { RefreshCw, Download, X, Maximize2 } from 'lucide-vue-next';
```
### 4. 响应式设计优化
#### 断点系统
- 1400px: 大屏幕适配
- 1200px: 桌面端适配
- 768px: 平板端适配
- 480px: 移动端适配
#### 自适应布局
- 使用 CSS Grid 实现灵活的布局系统
- 统计卡片支持自动换行
- 监控组件在小屏幕下垂直排列
### 5. 视觉效果提升
#### 现代简约设计
- 使用毛玻璃效果 (`backdrop-filter: blur()`)
- 渐变背景和按钮
- 柔和的阴影和圆角
- 平滑的动画过渡
#### 交互体验
- 悬停效果和微动画
- 加载状态反馈
- 通知系统优化
### 6. 性能优化
#### 代码优化
- 使用 CSS 变量减少重复代码
- 组件按需加载
- 图标库按需导入
#### 样式优化
- 使用 CSS 变量提升主题切换效率
- 优化选择器性能
- 减少不必要的样式计算
## 技术实现
### 1. CSS 变量系统
```css
:root {
/* 主色调 */
--primary-color: #1890ff;
--primary-light: #40a9ff;
--primary-dark: #096dd9;
/* 渐变色 */
--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
/* 背景色 */
--bg-main: #f5f7fa;
--bg-card: #fff;
--bg-card-hover: rgba(255, 255, 255, 0.95);
}
```
### 2. 响应式布局
```css
.main-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--spacing-3xl);
}
@media (max-width: 1200px) {
.main-content {
grid-template-columns: 1fr;
}
}
```
### 3. 组件化设计
```vue
<template>
<div class="dashboard-page">
<!-- 操作区域 -->
<div class="dashboard-header">
<div class="header-actions">
<BaseButton variant="secondary" @click="refreshAllData">
<RefreshCw :size="16" />
刷新数据
</BaseButton>
</div>
</div>
<!-- 统计区域 -->
<StatCards :stats="statistics" />
<!-- 主要内容 -->
<div class="main-content">
<!-- 左侧列 -->
<div class="left-column">
<MonitoringSection />
<MapSection />
</div>
<!-- 右侧列 -->
<div class="right-column">
<PersonnelSection />
<AISection />
</div>
</div>
</div>
</template>
```
## 设计原则
### 1. 克制设计
- 避免过度装饰,保持界面简洁
- 使用留白和间距创造层次感
- 颜色使用克制主色调不超过3种
### 2. 现代简约
- 扁平化设计风格
- 清晰的视觉层次
- 一致的设计语言
### 3. 用户体验优先
- 直观的操作流程
- 清晰的信息架构
- 流畅的交互反馈
## 后续优化建议
### 1. 主题系统
- 支持深色模式切换
- 多主题色彩方案
- 用户自定义主题
### 2. 性能优化
- 组件懒加载
- 虚拟滚动
- 图片懒加载
### 3. 功能增强
- 数据可视化图表
- 实时数据更新
- 个性化配置
### 4. 无障碍优化
- 键盘导航支持
- 屏幕阅读器兼容
- 高对比度模式
## 总结
通过本次优化Dashboard 页面实现了:
- ✅ 统一的设计系统
- ✅ 现代化的视觉效果
- ✅ 完善的响应式支持
- ✅ 优秀的用户体验
- ✅ 良好的代码可维护性
整体设计风格现代简约、克制优雅,符合当代 Web 应用的设计趋势。

View File

@ -1,125 +0,0 @@
# 环境监控系统优化待办清单
## ✅ 已完成任务
### 1. 设备地理分布模态框优化
- ✅ 修复模态框层级问题使用Teleport挂载到body
- ✅ 实现全局居中定位
- ✅ 优化模态框样式和交互体验
### 2. 生长趋势分析卡片重构
- ✅ 创建新的GrowthTrendAnalysis组件
- ✅ 集成ECharts图表库
- ✅ 实现30天生长趋势图表
- ✅ 添加株高、叶片数、分蘖数三条数据线
- ✅ 实现图表自适应和响应式设计
- ✅ 添加生长状态概览面板
- ✅ 实现可展开的详细信息区域
- ✅ 添加刷新功能和加载状态
- ✅ 使用现代化设计风格
### 3. 温度监控组件优化
- ✅ 重新设计温度监控卡片
- ✅ 提升现代感和文本可读性
- ✅ 增加设备信息和刷新按钮状态
- ✅ 优化布局和样式
- ✅ 实现24小时趋势图表
- ✅ 添加实时随机数据填充
### 4. 湿度监控组件优化
- ✅ 重新设计湿度监控卡片
- ✅ 实现24小时趋势图表
- ✅ 添加实时随机数据填充
- ✅ 优化图表样式和交互
### 5. AI预警系统优化
- ✅ 重新设计AIyujing组件
- ✅ 增加预警统计面板
- ✅ 优化列表卡片和详情模态框
- ✅ 改进交互和视觉效果
### 6. AI助手卡片优化
- ✅ 重新设计AI助手卡片
- ✅ 增加状态徽章和操作按钮
- ✅ 改进布局和视觉效果
### 7. 设备运行状态卡片
- ✅ 创建DeviceStatusCard组件
- ✅ 实现设备总数、在线、离线、故障统计
- ✅ 添加设备类型分布展示
- ✅ 实现故障设备列表和详情
- ✅ 添加数据刷新和展开功能
- ✅ 集成到Dashboard页面布局
## 🔄 进行中任务
### 1. 图表样式统一优化
- ✅ 重构24小时温度趋势图表样式
- ✅ 重构24小时湿度趋势图表样式
- ✅ 将刷新时间改为1秒
- ✅ 添加渐变背景和区域填充
- ✅ 优化数据点和阈值线样式
- ✅ 添加图表标题和阈值标签
- 🔄 完善图表响应式适配
## 📋 待完成任务
### 1. 性能优化
- [ ] 实现图表懒加载
- [ ] 优化大数据量图表渲染
- [ ] 添加图表缓存机制
### 2. 数据集成
- [ ] 连接真实数据源
- [ ] 实现数据实时更新
- [ ] 添加数据验证和错误处理
### 3. 用户体验优化
- [ ] 添加图表加载动画
- [ ] 优化移动端体验
- [ ] 添加图表导出功能
### 4. 功能扩展
- [ ] 添加更多作物类型支持
- [ ] 实现历史数据对比
- [ ] 添加预测分析功能
## 🎯 设计目标
### 整体风格
- ✅ 现代简约设计
- ✅ 克制优雅的视觉效果
- ✅ 统一的设计语言
- ✅ 良好的视觉层次
### 交互体验
- ✅ 流畅的动画过渡
- ✅ 直观的操作反馈
- ✅ 清晰的信息展示
- ✅ 便捷的功能访问
### 技术实现
- ✅ 组件化架构
- ✅ 响应式设计
- ✅ 性能优化
- ✅ 代码可维护性
## 📊 完成度统计
- **总体完成度**: 92%
- **核心功能**: 95%
- **UI/UX设计**: 98%
- **技术实现**: 90%
- **性能优化**: 80%
## 🚀 下一步计划
1. 完善图表样式统一
2. 优化移动端适配
3. 添加更多交互功能
4. 实现数据持久化
5. 添加用户个性化设置
---
*最后更新: 2024年12月*

View File

@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"dev": "vite",
"build": "vue-tsc -b && vite build",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {

18
supervisord.conf Normal file
View File

@ -0,0 +1,18 @@
[supervisord]
nodaemon=true
[program:frontend]
directory=/app/platform
command=http-server dist -p 7792
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr
[program:backend]
directory=/app/back
command=python app.py --port=7793
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stderr_logfile=/dev/stderr