55944d732a
排除 CreateModel.bat(含明文sa密码与本地服务器名,未入库)
3.3 KiB
3.3 KiB
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.8,SQL Server,LINQ 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/被 gitignore(NuGet 还原)。
本地运行 / 联调注意
- 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。