55944d732a
排除 CreateModel.bat(含明文sa密码与本地服务器名,未入库)
3.6 KiB
3.6 KiB
SGGL_HBAZ — 智慧施工管理信息系统(河北安装)
施工管理信息系统(WebForms + Web API),.NET Framework 4.8,SQL Server,LINQ 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 API(System.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 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]。 SGGL/Backup*是开发备份目录,不要在其中改代码;packages/被 gitignore(NuGet 还原)。
Notes
- 构建警告基线(2026-02 优化后):845 → 40,剩余 40 条均为 CS0618(Aspose.Words/Office Interop 过时 API,有意使用,勿自动改)。
FineUIPro.Web/ErrLog.txt为运行时日志,已加入 .gitignore(git 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 可用。