Files
SGGL_HBAZ/SGGL/CLAUDE.md
T

41 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
智慧施工管理信息系统(河北安装):WebForms + ASP.NET Web API.NET Framework 4.8SQL ServerLINQ to SQL。解决方案 `SGGL.sln` 在本目录;仓库根是上一级 `SGGL_HBAZ/`,其中的 `AGENTS.md` 记录了更多运维细节,与本文件会同时被加载。
## Commands
构建(`msbuild` 不在 PATH,用 VS2022 的 MSBuild):
```
& 'D:\Development Kit\MVStudio\2022\MSBuild\Current\Bin\MSBuild.exe' 'SGGL.sln' /p:Configuration=Debug
```
`/p:Configuration=Release` 同理。
- 打发布包:仓库根 `ReleasePackerALL2022.bat`aspnet_compiler 预编译 + aspnet_merge 合并 → `SGGLPackFile/`)。
- 重新生成实体:仓库根 `CreateModel.bat`SqlMetal 从 SQL2022 实例 / `SGGLDB_HBAZ` 库生成 `Model/Model.cs`)。
- 无测试项目,无测试命令。
## Architecture
- `FineUIPro.Web/` — WebForms 主站。入口 `Login.aspx``index*.aspx`;基类 `common/PageBase.cs``Session["CurrUser"]` 鉴权)。业务模块按文件夹组织:BaseInfo、CQMS、HSSE、HJGL、JDGL、PZHGL、SHIYE、SYHSE、SysManage、TaskScheduling、ZHGL、DigData、Door、Notice、OfficeCheck、Person、PersonManage、ProjectData、SubPackManage、Video 等。
- `BLL/` — 业务逻辑层,业务类为 `public static class XxxService`。核心:`Common/Funs.cs`(全局配置 + LINQ-to-SQL 上下文 `Funs.DB`,类型 `Model.SGGLDB`,按线程 `ManagedThreadId` 缓存实例);`SQLHelper.cs`(原始 ADO.NET);`API/` 外部接口;`TaskScheduling/` Quartz 定时任务;`ErrLogInfo.cs`(错误落库)。
- `Model/` — LINQ to SQL 实体。`Model.cs` 由 SqlMetal 生成(约 14MB,勿手改);实体前缀 `Sys_``Sys_User``Sys_Role``Sys_ErrLogInfo`)。
- `WebAPI/` — 经典 ASP.NET Web API`System.Web.Http`),`Controllers/` 供移动端/第三方调用(材料、人员、人脸、身份证、视频、车辆、用户等)。
- `SgManager.AI/` — AI 辅助库:百度 OCR/人脸(`IDCardRecognition``FaceClass`)、地图、邮件;被 BLL 与 FineUIPro.Web 引用。
- `FineUIPro/` — 商业 UI 框架 FineUIPro v6.3.0 的 DLL(非源码,勿改)。
## Conventions
- 中文注释;公共方法用 `/// <summary>` XML 注释。
- 数据访问优先 `Funs.DB`LINQ to SQL`InsertOnSubmit`/`SubmitChanges`),复杂 SQL 用 `SQLHelper`
- 错误记录走 `ErrLogInfo.WriteLog(...)``Global.asax``Application_Error` 落库 `Sys_ErrLogInfo`
- 连接字符串与第三方密钥(含明文密码/API Key)在 `FineUIPro.Web/Web.config` 的 AppSettings 中,`Application_Start` 赋值给 `Funs.*` —— 勿把凭据写进提交内容。
- WebAPI 响应统一包装 `Model.ResponeData`action 常用 `[HttpPost]` + `[FromBody]`
- `Backup*` 是开发备份目录,不要在其中改代码;`packages/` 被 gitignoreNuGet 还原)。
## 本地运行 / 联调注意
- WebForms 站点:`iisexpress.exe /path:"SGGL\FineUIPro.Web" /port:4528`WebAPI`/path:"SGGL\WebAPI" /port:7143`(数据库 `SGGLDB_HBAZ` 在本机 SQL Server)。
- PowerShell 下用 `curl.exe -d '{"..."}'` 会把 JSON 双引号剥掉导致反序列化失败,须改用 `--data-binary '@body.json'` 文件方式发 JSON body。