You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
821644@qq.com 7ea0222779 优化NuGet包引用:删除未使用的包并升级有漏洞的包
- 删除未使用的包:
  - Microsoft.AspNetCore.Cors (内置CORS)
  - Microsoft.AspNetCore.Http.Abstractions (内置)
  - Microsoft.AspNetCore.SignalR (Core项目未使用)
  - Microsoft.AspNetCore.SignalR.Protocols.MessagePack (未使用)
  - Microsoft.Extensions.Caching.StackExchangeRedis (Redis未实现)
  - StackExchange.Redis (Redis未实现)

- 升级有漏洞的包:
  - Microsoft.Extensions.Caching.Memory 8.0.0 → 8.0.1
  - System.IdentityModel.Tokens.Jwt 7.0.3 → 7.6.3
  - Serilog.AspNetCore 8.0.0 → 8.0.2
  - Serilog.Sinks.Console 5.0.1 → 6.0.0
  - Serilog.Sinks.File 5.0.0 → 6.0.0
  - Swashbuckle.AspNetCore 6.5.0 → 6.6.2
  - Microsoft.AspNetCore.Mvc.NewtonsoftJson 8.0.0 → 8.0.1

- 添加缺失的包:
  - Microsoft.Extensions.Hosting.Abstractions 到 Core项目
3 weeks ago
Haoliang/Data feat: Complete CNC machine data collection system implementation 4 weeks ago
Haoliang.Api 优化NuGet包引用:删除未使用的包并升级有漏洞的包 3 weeks ago
Haoliang.Core 优化NuGet包引用:删除未使用的包并升级有漏洞的包 3 weeks ago
Haoliang.Data 优化NuGet包引用:删除未使用的包并升级有漏洞的包 3 weeks ago
Haoliang.Models 修复编译错误,完成.NET 8.0升级 3 weeks ago
Haoliang.Tests 添加DeviceCollectionService、DataStorageService、AuthService、UserService单元测试 3 weeks ago
database Initial commit: Complete .NET6 CNC machine data collection and analysis system 4 weeks ago
docs 添加局域网IIS部署指南文档 3 weeks ago
src 添加前端项目.gitignore文件 3 weeks ago
test-reports Initial commit: Complete .NET6 CNC machine data collection and analysis system 4 weeks ago
AGENTS.md 更新文档:将.NET版本统一改为.NET 8.0 3 weeks ago
DEVELOPMENT_REQUIREMENTS.md 更新文档:将.NET版本统一改为.NET 8.0 3 weeks ago
Haoliang.sln 升级到 .NET 8.0,重构核心服务接口层 3 weeks ago
IMPLEMENTATION_PLAN.md 更新实施计划:第六阶段前端开发完成 3 weeks ago
appsettings.json 第一阶段:数据库环境验证完成 3 weeks ago
readme.md 更新文档:将.NET版本统一改为.NET 8.0 3 weeks ago
test.sh Initial commit: Complete .NET6 CNC machine data collection and analysis system 4 weeks ago
发那科系统采集示例.txt Initial commit: Complete .NET6 CNC machine data collection and analysis system 4 weeks ago
详细功能设计文档.md Initial commit: Complete .NET6 CNC machine data collection and analysis system 4 weeks ago
需求文档.md Initial commit: Complete .NET6 CNC machine data collection and analysis system 4 weeks ago

readme.md

CNC机床数据采集分析系统

项目概述

CNC机床多品牌统一化分布式数据采集分析系统实现设备状态监控、零件产量自动统计、加工过程分析、人员与设备绑定管理及BI大屏实时展示。

技术栈

  • 后端: .NET 8.0 Web API
  • 数据库: MySQL 8.0+ (使用 Pomelo.EntityFrameworkCore.MySql)
  • ORM: Entity Framework Core 8.0
  • API文档: Swagger/OpenAPI

项目结构

haoliang/
├── Haoliang.Api/           # Web API 项目
│   ├── Controllers/       # API 控制器
│   ├── Program.cs         # 应用程序入口
│   └── appsettings.json   # 配置文件
├── Haoliang.Core/         # 核心业务逻辑项目
├── Haoliang.Data/         # 数据访问层项目
│   ├── Entities/          # 实体类
│   └── Repositories/      # 数据仓储
├── Haoliang.Models/       # 数据模型项目
├── database/             # 数据库脚本
├── frontend/              # 前端项目
└── test-reports/         # 测试报告

快速开始

环境要求

  • .NET 8.0 SDK
  • MySQL 8.0+
  • Visual Studio 2022 或 VS Code

安装步骤

  1. 克隆项目
git clone <repository-url>
cd haoliang
  1. 还原 NuGet 包
dotnet restore
  1. 配置数据库连接 打开 Haoliang.Api/appsettings.json,修改数据库连接字符串:
{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=cnc_business;Uid=root;Pwd=your_password;"
  }
}
  1. 更新数据库
dotnet ef database update
  1. 运行项目
dotnet run --project Haoliang.Api

运行测试

# 运行所有测试
./test.sh

核心功能

1. 设备管理

  • CNC设备信息管理
  • 设备状态监控
  • 设备模板配置

2. 生产统计

  • 零件产量自动统计
  • 加工过程分析
  • 程序切换处理逻辑

3. 用户管理

  • 用户信息管理
  • 权限控制
  • 设备绑定管理

4. 系统管理

  • 系统配置
  • 日志管理
  • 告警管理

API 文档

启动项目后,访问以下地址查看 API 文档:

  • Swagger UI: https://localhost:5001/swagger

开发规范

代码提交规范

重要: 每次代码修改经过测试通过之后提交到git并写清楚修改内容

提交信息格式

<type>: <description>

[optional body]

[optional footer]

Type 类型说明

  • feat: 新功能
  • fix: 修复bug
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 代码重构
  • test: 测试相关
  • chore: 构建工具或依赖管理

提交示例

feat: 添加设备批量导入功能

- 实现Excel文件上传和解析
- 添加设备数据验证逻辑
- 批量插入优化,减少数据库查询次数

fix: 修复设备状态更新失败的问题

- 修复并发更新时的竞态条件
- 添加重试机制
- 优化错误处理逻辑

测试规范

  • 所有新功能必须包含单元测试
  • 测试覆盖率要求达到 80% 以上
  • 测试用例需要覆盖正常和异常情况
  • 运行测试命令:dotnet test

代码规范

  • 遵循 C# 编码规范
  • 使用异步编程模式
  • 添加适当的 XML 注释
  • 避免硬编码,使用配置文件

数据库设计

业务库 (cnc_business)

存储业务数据:设备、员工、模板、产量、配置、告警等

日志库 (cnc_log)

存储原始采集数据、系统日志、异常日志

部署说明

开发环境

  • 使用 IIS 或 Kestrel 服务器
  • 配置开发数据库连接

生产环境

  • 配置生产数据库连接
  • 设置适当的日志级别
  • 启用 HTTPS
  • 配置反向代理

故障排除

常见问题

  1. 数据库连接失败

    • 检查 MySQL 服务是否运行
    • 验证连接字符串配置
    • 确保数据库用户权限正确
  2. 编译错误

    • 确保 .NET 8.0 SDK 已安装
    • 运行 dotnet restore 更新包依赖
    • 检查项目引用是否正确
  3. 测试失败

    • 确保测试数据库配置正确
    • 检查测试数据是否准备充分
    • 运行 dotnet test --verbosity detailed 查看详细错误信息

版本历史

  • v1.0.0 - 初始版本,实现基础功能模块

贡献指南

  1. Fork 项目
  2. 创建功能分支
  3. 提交变更
  4. 推送到分支
  5. 创建 Pull Request

许可证

本项目采用 MIT 许可证