Files
SGGL_HBAZ/AGENTS.md
T

3.6 KiB
Raw Blame History

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=DebugRelease 同理,已验证可构建)
  • 打发布包:ReleasePacker.bataspnet_compiler 预编译 + aspnet_merge 合并 → SGGLPackFile/;脚本引用 %VS100COMNTOOLS%,旧环境)
  • 重新生成 ModelCreateModel.batSqlMetal 从 SQL2022 实例 / SGGLDB_HBAZ 库生成 SGGL/Model/Model.cs
  • 无测试项目 / 无测试命令(项目内没有单元测试)。

Architecture

  • SGGL/FineUIPro.Web/ — WebForms 主站。入口 Login.aspxindex*.aspxindexProject*.aspx;基类 common/PageBase.csSession["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.NETAPI/ 外部接口;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>-<序号>-<作者>.sqlscript/script.sql 为库整体脚本;SGGLPackFile/ 为发布包输出目录(ReleasePacker 产物)。

Conventions

  • 中文注释,公共方法用 /// <summary> XML 注释。
  • 数据访问优先 Funs.DBLINQ 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.ResponeDataaction 常用 [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:4528WebForms)与 /path:"SGGL\WebAPI" /port:7143WebAPI),数据库 SGGLDB_HBAZ 在本机 SQL Server 可用。