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/:部署阶段使用的环境配置转换文件。appsettings.json 对应。bash dotnet restore GsMesSolution.sln bash dotnet build GsMesSolution.sln -c Release 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。
.config 目录,发布时执行转换,不直接修改基础配置。PascalCase、局部变量 camelCase、常量 ALL_CAPS 的命名规范,保持可空引用启用。Gs.Toolbox 的扩展方法注册,确保 builder.AddCustomInject() 流程定义统一。Baobiao: 修复导出异常。