电池管理系统
Go to file
miaoda 95098991f3 # 技术实现详情
## 架构设计

**前端技术栈**
- React 18 + TypeScript - 提供类型安全的现代化前端开发
- Tailwind CSS + shadcn/ui - 实现美观一致的用户界面
- Recharts - 专业的数据可视化图表库
- React Router - 单页应用路由管理
- React Hook Form - 高效的表单状态管理

**后端数据层**
- Supabase - 现代化的后端即服务平台
- PostgreSQL - 可靠的关系型数据库
- 实时订阅 - 支持数据变更的实时推送

## 数据库设计

创建了完整的数据库架构,包含5个核心表:

1. **devices** - 设备管理表,存储BBox设备信息、状态和配置
2. **battery_data** - 电池数据表,记录电压、电流、温度等实时数据
3. **ota_tasks** - OTA升级任务表,管理固件升级流程和状态
4. **mqtt_logs** - MQTT通信日志表,记录设备通信历史
5. **system_config** - 系统配置表,存储报警阈值和系统参数

## 功能实现

**设备管理模块**
- 实现了完整的CRUD操作,支持设备的创建、查看、编辑和删除
- 设备状态实时监控,包括在线/离线/维护/故障四种状态
- 设备详情页面展示最新电池数据和设备信息
- 智能搜索和状态筛选功能

**实时监控模块**
- 多维度数据图表展示,支持电压、电流、温度、电量趋势分析
- 可配置时间范围查询(1小时到7天)
- 实时数据更新机制,支持自动刷新
- 数据趋势指示器,显示数值变化方向

**OTA管理模块**
- 升级任务创建和管理,支持批量设备升级
- 实时进度跟踪,模拟真实的下载和安装过程
- 详细的升级日志查看,便于故障排查
- 任务状态管理,支持重试和删除操作

**MQTT管理模块**
- 连接状态监控和自动重连功能
- 消息日志实时查看和筛选
- 通信统计分析,包括消息总数和错误率
- 日志导出功能,支持CSV格式

**系统设置模块**
- 分类配置管理,包括常规设置、MQTT配置、报警设置
- 表单验证和错误处理
- 系统信息展示,包括运行状态和存储统计
- 通知设置和权限管理

## 代码质量

- 完整的TypeScript类型定义,确保类型安全
- 模块化的组件设计,便于维护和扩展
- 统一的错误处理和用户反馈机制
- 响应式设计,适配各种屏幕尺寸
- 代码通过ESLint检查,符合最佳实践

## 数据初始化

系统包含丰富的示例数据:
- 5个示例BBox设备,涵盖各种状态
- 历史电池数据,用于图表展示
- OTA升级任务示例,展示不同阶段状态
- MQTT通信日志,模拟真实设备通信
- 完整的系统配置参数

应用已完全实现需求文档中的所有功能,提供了专业级的电池管理解决方案。
2025-11-17 16:52:12 +08:00
.trae/documents # 技术实现详情 2025-11-17 16:52:12 +08:00
docs # 技术实现详情 2025-11-17 16:52:12 +08:00
public # 技术实现详情 2025-11-17 16:52:12 +08:00
rules # 技术实现详情 2025-11-17 16:52:12 +08:00
src # 技术实现详情 2025-11-17 16:52:12 +08:00
supabase/migrations # 技术实现详情 2025-10-09 11:50:56 +08:00
test_data # 技术实现详情 2025-11-17 16:52:12 +08:00
.env # 技术实现详情 2025-11-17 16:52:12 +08:00
.gitignore Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
biome.json Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
components.json Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
index.html # 技术实现详情 2025-10-09 11:50:56 +08:00
package.json # 技术实现详情 2025-11-17 16:52:12 +08:00
pnpm-lock.yaml Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
pnpm-workspace.yaml Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
postcss.config.js Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
README.md # 技术实现详情 2025-11-17 16:52:12 +08:00
sgconfig.yml Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
tailwind.config.js Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
tsconfig.app.json Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
tsconfig.check.json Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
tsconfig.json Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
tsconfig.node.json Initial miaoda project setup with React TypeScript Vite template 4d141bd4f890d02b025707c7700a71ec72cd5b8b no sync 2025-10-09 11:39:02 +08:00
vite.config.dev.ts # 技术实现详情 2025-11-17 16:52:12 +08:00
vite.config.ts # 技术实现详情 2025-11-17 16:52:12 +08:00

欢迎使用你的秒哒应用代码包

秒哒应用链接 URL:https://www.miaoda.cn/projects/app-6qcydjtbzwu9

电池管理系统 (Battery Management System)

项目介绍

基于现代化Web技术开发的电池管理系统专为BBox设备端与羿动新能源平台对接而设计。系统提供设备登录授权、实时数据监控、OTA固件升级管理等核心功能采用响应式设计兼容桌面和移动设备。

核心功能

🔧 设备管理

  • BBox设备登录授权和状态监控
  • 设备信息管理IP地址、固件版本等
  • 设备状态实时更新(在线/离线/维护/故障)
  • 设备详情查看和配置管理

📊 实时监控

  • 电池数据实时传输和展示
  • 多维度数据图表(电压、电流、温度、电量、功率)
  • 可视化趋势分析和历史数据查询
  • 自定义时间范围监控

🔄 OTA升级管理

  • 固件升级任务创建和管理
  • 升级进度实时跟踪
  • 升级日志查看和故障排查
  • 批量升级和回滚功能

📡 MQTT通信管理

  • MQTT服务器连接状态监控
  • 消息传输情况实时查看
  • 设备通信日志记录和分析
  • 连接异常自动重连

⚙️ 系统配置

  • 完整的系统参数配置
  • 报警阈值设置(温度、电压等)
  • 数据保留策略配置
  • 通知设置和系统信息查看

技术架构

前端技术栈

  • React 18 - 现代化前端框架
  • TypeScript - 类型安全的JavaScript
  • Tailwind CSS - 实用优先的CSS框架
  • shadcn/ui - 高质量UI组件库
  • Recharts - 数据可视化图表库
  • React Router - 客户端路由管理

后端技术栈

  • Supabase - 开源Firebase替代方案
  • PostgreSQL - 关系型数据库
  • 实时订阅 - 数据变更实时推送

目录结构

├── README.md # 说明文档
├── components.json # 组件库配置
├── eslint.config.js # eslint 配置
├── index.html # 入口文件
├── package.json # 包管理
├── postcss.config.js # postcss 配置
├── public # 静态资源目录
│   ├── favicon.png # 图标
│   └── images # 图片资源
├── src # 源码目录
│   ├── App.tsx # 入口文件
│   ├── components # 组件目录
│   ├── context # 上下文目录
│   ├── db # 数据库配置目录
│   ├── hooks # 通用钩子函数目录
│   ├── index.css # 全局样式
│   ├── layout # 布局目录
│   ├── lib # 工具库目录
│   ├── main.tsx # 入口文件
│   ├── routes.tsx # 路由配置
│   ├── pages # 页面目录
│   ├── services  # 数据库交互目录
│   ├── types   # 类型定义目录
├── tsconfig.app.json  # ts 前端配置文件
├── tsconfig.json # ts 配置文件
├── tsconfig.node.json # ts node端配置文件
└── vite.config.ts # vite 配置文件

技术栈

Vite、TypeScript、React、Supabase

本地开发

如何在本地编辑代码?

您可以选择 VSCode 或者您常用的任何 IDE 编辑器,唯一的要求是安装 Node.js 和 npm.

环境要求

# Node.js ≥ 20
# npm ≥ 10
例如:
# node -v   # v20.18.3
# npm -v    # 10.8.2

具体安装步骤如下:

在 Windows 上安装 Node.js

# Step 1: 访问Node.js官网https://nodejs.org/点击下载后会根据你的系统自动选择合适的版本32位或64位。
# Step 2: 运行安装程序:下载完成后,双击运行安装程序。
# Step 3: 完成安装:按照安装向导完成安装过程。
# Step 4: 验证安装在命令提示符cmd或IDE终端terminal中输入 node -v 和 npm -v 来检查 Node.js 和 npm 是否正确安装。

在 macOS 上安装 Node.js

# Step 1: 使用Homebrew安装推荐方法打开终端。输入命令brew install node并回车。如果尚未安装Homebrew需要先安装Homebrew
可以通过在终端中运行如下命令来安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
或者使用官网安装程序访问Node.js官网。下载macOS的.pkg安装包。打开下载的.pkg文件按照提示完成安装。
# Step 2: 验证安装在命令提示符cmd或IDE终端terminal中输入 node -v 和 npm -v 来检查 Node.js 和 npm 是否正确安装。

安装完后按照如下步骤操作:

# Step 1: 下载代码包
# Step 2: 解压代码包
# Step 3: 用IDE打开代码包进入代码目录
# Step 4: IDE终端输入命令行安装依赖npm i
# Step 5: IDE终端输入命令行启动开发服务器npm run dev -- --host 127.0.0.1

如何开发后端服务?

配置环境变量,安装相关依赖 如需使用数据库,请使用 supabase 官方版本或自行部署开源版本的 Supabase

如何配置应用中的三方 API

具体三方 API 调用方法,请参考帮助文档:源码导出,了解更多详细内容。

了解更多

您也可以查看帮助文档:源码导出,了解更多详细内容。