tjx
2025-10-12 7db777a85e53e04b701c6a31f0aec0a197dc0150
README.md
@@ -1,4 +1,46 @@
## LB_MesService
# GS MES 服务
蓝宝PC后端
## 项目概览
GS MES Service 基于 ASP.NET Core 8.0 构建,`Gs.HostIIS` 负责托管 Web API、加载配置并暴露分组化 Swagger 文档。各业务模块(BaseInfo、Sales、Warehouse 等)以 `Gs.<Module>` 项目存在,控制器放在 `Services/`,数据模型位于 `Models/`,共享实体和 DTO 集中在 `Gs.Entity`。通用组件(授权、Excel、HTTP、依赖注入扩展等)统一封装在 `Gs.Toolbox`。
## 目录结构
- `GsMesSolution.sln`:解决方案入口,统一执行构建、测试。
- `Gs.HostIIS/`:宿主项目,包含 `Program.cs`、`appsettings*.json`、Swagger 配置以及 `/down`、`/upload` 静态资源映射。
- `Gs.<Module>/`:业务模块(如 `Gs.BaseInfo`、`Gs.Sales`、`Gs.Warehouse`),遵循 `Models/` + `Services/` 文件夹布局。
- `Gs.Entity/`:SqlSugar 实体与跨模块共享的 DTO。
- `Gs.Toolbox/`:依赖注入扩展、API 约定、日志、Excel 工具等基础设施能力。
- `Gs.HostIIS/.config/`:部署阶段使用的环境配置转换文件。
## 快速开始
1. 安装 .NET SDK 8.0,确认数据库连接信息与 `appsettings.json` 对应。
2. 恢复依赖:
   ```bash
   dotnet restore GsMesSolution.sln
   ```
3. 构建项目:
   ```bash
   dotnet build GsMesSolution.sln -c Release
   ```
4. 启动 API:
   ```bash
   dotnet run --project Gs.HostIIS/Gs.HostIIS.csproj
   ```
   启动后访问 `http://localhost:<端口>/swagger` 查看分组 API 文档。静态下载目录映射 `/down`,上传目录映射 `/upload`,路径由配置中的 `DownPath`、`UploadPath` 控制。
## 测试说明
仓库暂未引入自动化测试。新增功能时请在相应模块旁创建 xUnit 项目(示例:`Gs.Sales.Tests`),测试文件统一命名为 `*Tests.cs`。Mock SqlSugar 依赖保持测试可重复,并在解决方案根目录执行:
```bash
dotnet test
```
提交变更前记录手工冒烟结果(Swagger 可用性、核心接口、关键存储过程)并写入 PR。
## 配置与安全
- 禁止提交任何硬编码的连接字符串或密码,开发阶段通过 User Secrets 或环境变量注入。
- 环境差异配置放入 `.config` 目录,发布时执行转换,不直接修改基础配置。
- 调整 SqlSugar 数据结构前务必在预发布环境验证,并在公开部署前检查 Swagger 暴露范围。
## 贡献指南
- 遵循四空格缩进、类型 `PascalCase`、局部变量 `camelCase`、常量 `ALL_CAPS` 的命名规范,保持可空引用启用。
- 新增服务通过 `Gs.Toolbox` 的扩展方法注册,确保 `builder.AddCustomInject()` 流程定义统一。
- 提交信息沿用历史风格:简洁的中文单行说明,例如 `Baobiao: 修复导出异常`。
- PR 中需列出受影响模块、配置或数据库变更、自动化测试与手工冒烟结果,并附上示例请求或截图。