# MesApi **Repository Path**: dasheng523/mes-api ## Basic Information - **Project Name**: MesApi - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-03 - **Last Updated**: 2026-02-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MesApi - 生产数据中台 [![Build Status](https://img.shields.io/badge/Build-NUKE-blue)](build/Build.cs) [![Framework](https://img.shields.io/badge/.NET-8.0-purple)](https://dotnet.microsoft.com/download/dotnet/8.0) [![Database](https://img.shields.io/badge/Database-MySQL-orange)]() MesApi 是一个基于 .NET 8 的轻量级 Manufacturing Execution System (MES) 服务端,旨在提供高性能、可追溯的生产数据管理与校验服务。 ## 🚀 快速开始 ### 环境依赖 * **.NET 8 SDK** * **MySQL 8.0+** * **PowerShell 7+** (推荐) ### 本地开发 1. **克隆仓库** ```powershell git clone cd MesApi ``` 2. **初始化构建系统** 无需手动安装 NUKE,直接运行引导脚本: ```powershell ./build.ps1 -Targets Compile ``` 3. **配置数据库** 修改 `src/MesApi.Web/appsettings.json` 中的连接字符串。 4. **运行迁移 (Code-First)** 自动创建数据库表结构: ```powershell ./build.ps1 -Targets Migrate ``` 5. **启动服务** ```powershell dotnet run --project src/MesApi.Web ``` 访问 [http://localhost:8080/scalar/v1](http://localhost:8080/scalar/v1) 查看 API 文档。 --- ## 📦 部署指南 (Deployment) ### 1. 发布项目 (Publish) 使用 NUKE 构建系统进行“一键发布”。默认配置下,发布包是**自包含 (Self-Contained)** 和 **单文件 (Single-File)** 的,**目标机器无需安装 .NET 8** 即可运行。 ```powershell # 在根目录下执行 .\build.ps1 Publish --configuration Release ``` **发布特性**: - **产物位置**: `output/` 目录。 - **环境无关**: 内置 .NET 8 运行时。 - **单文件**: 核心程序打包为 `MesApi.Web.exe`。 ### 2. 修改运行端口 (Change Port) 发布后的程序默认监听 **5000** 端口。如果需要修改(例如改为 8080),修改 `output/appsettings.json`,添加 `Kestrel` 配置: ```json { "Kestrel": { "Endpoints": { "Http": { "Url": "http://*:8080" } } }, "ConnectionStrings": { ... } } ``` ## 🛠️ 生产环境运行 ### 1. 初始化数据库 发布后,需运行一次迁移命令来初始化数据库表(支持多次运行,幂等): ```powershell # 在 output 目录下 .\MesApi.Web.exe --migrate ``` ### 2. 查看 API 文档 (Scalar) **方案 A 已启用**: 文档在 Release 模式下默认开启。 启动服务后访问:`http://:8080/scalar/v1` ### 3. 作为 Windows 服务运行 建议在生产环境将 API 注册为后台服务: ```powershell # 需以管理员权限运行 (PowerShell) New-Service -Name "MesApi" ` -BinaryPathName "C:\path\to\MesApi\output\MesApi.Web.exe" ` -Description "MES Data Platform API" ` -StartupType Automatic Start-Service "MesApi" ``` > **注意**: 部署前请务必确认 `appsettings.json` 中的数据库连接字符串(MySQL)已正确配置。 --- ## 🧹 维护 (Maintenance) ### 彻底清理构建缓存 如果你遇到 NUKE 构建脚本报错或无法编译的情况,可以使用以下命令彻底清理构建系统缓存: ```powershell # 使用 build.ps1 清理 .\build.ps1 Clean # 清清理构建项目本身 dotnet clean build/_build.csproj # 强制删除临时目录 rm -r -force build/bin, build/obj, .nuke/temp ``` --- ## 🏗️ 项目架构 * **src/MesApi.Core**: 核心领域模型、DSL 引擎、规则校验。 * **src/MesApi.Infrastructure**: 数据库访问 (SqlSugar)、第三方集成。 * **src/MesApi.Web**: Minimal API 路由、Web 宿主。 * **build/**: NUKE 构建逻辑 (C# DSL)。 ## 📝 文档 详细设计文档请参阅 `docs/` 目录: * [系统架构与开发环境](docs/System-Architecture-and-Dev-Environment.md) * [数据库表结构定义](docs/Database-Schema-Specification.md) --- *Generated by Antigravity*