Files
SGGL_HBAZ/SGGL/CLAUDE.md
T

3.3 KiB
Raw Blame History

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.bataspnet_compiler 预编译 + aspnet_merge 合并 → SGGLPackFile/)。
  • 重新生成实体:仓库根 CreateModel.batSqlMetal 从 SQL2022 实例 / SGGLDB_HBAZ 库生成 Model/Model.cs)。
  • 无测试项目,无测试命令。

Architecture

  • FineUIPro.Web/ — WebForms 主站。入口 Login.aspxindex*.aspx;基类 common/PageBase.csSession["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_UserSys_RoleSys_ErrLogInfo)。
  • WebAPI/ — 经典 ASP.NET Web APISystem.Web.Http),Controllers/ 供移动端/第三方调用(材料、人员、人脸、身份证、视频、车辆、用户等)。
  • SgManager.AI/ — AI 辅助库:百度 OCR/人脸(IDCardRecognitionFaceClass)、地图、邮件;被 BLL 与 FineUIPro.Web 引用。
  • FineUIPro/ — 商业 UI 框架 FineUIPro v6.3.0 的 DLL(非源码,勿改)。

Conventions

  • 中文注释;公共方法用 /// <summary> XML 注释。
  • 数据访问优先 Funs.DBLINQ to SQLInsertOnSubmit/SubmitChanges),复杂 SQL 用 SQLHelper
  • 错误记录走 ErrLogInfo.WriteLog(...)Global.asaxApplication_Error 落库 Sys_ErrLogInfo
  • 连接字符串与第三方密钥(含明文密码/API Key)在 FineUIPro.Web/Web.config 的 AppSettings 中,Application_Start 赋值给 Funs.* —— 勿把凭据写进提交内容。
  • WebAPI 响应统一包装 Model.ResponeDataaction 常用 [HttpPost] + [FromBody]
  • Backup* 是开发备份目录,不要在其中改代码;packages/ 被 gitignoreNuGet 还原)。

本地运行 / 联调注意

  • WebForms 站点:iisexpress.exe /path:"SGGL\FineUIPro.Web" /port:4528WebAPI/path:"SGGL\WebAPI" /port:7143(数据库 SGGLDB_HBAZ 在本机 SQL Server)。
  • PowerShell 下用 curl.exe -d '{"..."}' 会把 JSON 双引号剥掉导致反序列化失败,须改用 --data-binary '@body.json' 文件方式发 JSON body。