Files
SGGL_HBAZ/AGENTS.md
T

39 lines
3.6 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.
# SGGL_HBAZ — 智慧施工管理信息系统(河北安装)
施工管理信息系统(WebForms + Web API),.NET Framework 4.8SQL ServerLINQ to SQL。解决方案在 `SGGL/SGGL.sln`(仓库根即本目录,与解决方案目录不同级)。
## Commands
- 构建(msbuild 不在 PATH,用 VS2022 的 MSBuild):
`& 'D:\Development Kit\MVStudio\2022\MSBuild\Current\Bin\MSBuild.exe' 'SGGL\SGGL.sln' /p:Configuration=Debug`(Release 同理,已验证可构建)
- 打发布包:`ReleasePacker.bat`aspnet_compiler 预编译 + aspnet_merge 合并 → `SGGLPackFile/`;脚本引用 %VS100COMNTOOLS%,旧环境)
- 重新生成 Model`CreateModel.bat`SqlMetal 从 SQL2022 实例 / SGGLDB_HBAZ 库生成 `SGGL/Model/Model.cs`
- 无测试项目 / 无测试命令(项目内没有单元测试)。
## Architecture
- `SGGL/FineUIPro.Web/` — WebForms 主站。入口 `Login.aspx``index*.aspx``indexProject*.aspx`;基类 `common/PageBase.cs`Session["CurrUser"] 鉴权);业务模块按文件夹组织(BaseInfo、CQMS、HSSE、HJGL、JDGL、PZHGL、SHIYE、SYHSE、SysManage、TaskScheduling、ZHGL 等)。
- `SGGL/BLL/` — 业务逻辑层。`Common/Funs.cs`(全局配置 + LINQ-to-SQL 上下文 Funs.DB);`SQLHelper.cs` 原始 ADO.NET`API/` 外部接口;`TaskScheduling/` Quartz 定时任务。业务类为 `public static class XxxService`
- `SGGL/Model/` — LINQ to SQL 实体,`Model.cs` 由 SqlMetal 生成(约 14MB,勿手改);实体前缀 `Sys_`Sys_User、Sys_Role、Sys_ErrLogInfo)。
- `SGGL/WebAPI/` — 经典 ASP.NET Web APISystem.Web.Http),`Controllers/` 供移动端/第三方调用(材料、人员、人脸、身份证、视频、车辆、用户等)。
- `SGGL/SgManager.AI/` — AI 辅助库:百度 OCR/人脸(IDCardRecognition、FaceClass)、地图、邮件。被 BLL 与 FineUIPro.Web 引用。
- `SGGL/FineUIPro/` — 商业 UI 框架 FineUIPro v6.3.0 的 DLL(非源码,勿改)。
- `DataBase/版本日志/` — 数据库增量变更脚本,命名 `SGGLDB_V<yyyy-MM-dd>-<序号>-<作者>.sql``script/script.sql` 为库整体脚本;`SGGLPackFile/` 为发布包输出目录(ReleasePacker 产物)。
## Conventions
- 中文注释,公共方法用 `/// <summary>` XML 注释。
- 数据访问优先 `Funs.DB`LINQ to SQLInsertOnSubmit/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]`
- `SGGL/Backup*` 是开发备份目录,不要在其中改代码;`packages/` 被 gitignoreNuGet 还原)。
## Notes
- 构建警告基线(2026-02 优化后):845 → 40,剩余 40 条均为 CS0618Aspose.Words/Office Interop 过时 API,有意使用,勿自动改)。
- `FineUIPro.Web/ErrLog.txt` 为运行时日志,已加入 .gitignoregit rm --cached 后本地保留)。
- Web.config 含明文数据库密码与第三方 API Key,注意勿泄露/勿提交外发。
- 测试 WebAPI 时注意:PowerShell 调用 `curl.exe -d '{"..."}'` 会剥掉 JSON 双引号导致反序列化失败,须用 `--data-binary '@body.json'`(文件方式)发 JSON body。
- 本地运行验证:`iisexpress.exe /path:"SGGL\FineUIPro.Web" /port:4528`WebForms)与 `/path:"SGGL\WebAPI" /port:7143`WebAPI),数据库 SGGLDB_HBAZ 在本机 SQL Server 可用。