# framework_web **Repository Path**: gooderp2020/frameworkweb ## Basic Information - **Project Name**: framework_web - **Description**: 新框架系统采用.net 6 的低代码框架, 支持多种数据库;系统支持 一步生成全套业务代码 ;支持前端配置;支持 excel配置模板;支持 工作流;支持根据用户级的 多语言设计 配置;支持 后台定时任务 设计与调度;支持 复杂查询 及查询模板保存;支持 文档系统 的分布式存储;支持数据库的动态 分库分表 ;支持表单 在线设计 ;支持消息推送配置与开发;详细说明:《鸿鹄创新低代码开发使用说明》 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2024-12-30 - **Last Updated**: 2025-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # framework_web #### 介绍 鸿鹄创新长期专注于企业资源计划ERP、智能制造、系统集成等企业信息化相关领域,为客户提供深入和长期的顾问咨询、客户化定制开发及配套的系统服务。经过多年研发,打造了gooderp低代码平台,平台简单易用,集成工作流和智能硬件接口,可以快速为企业量身定制各种管理系统,并根据中小企业需求实现了ERP系统,可以自由定义适配多个行业的中小企业。 #### 软件架构 软件架构说明 开发环境要求 操作系统:Windows 11 开发工具:Visual Studio 2020 SDK:安装.NET Core6及以上 数据库:mysql 8及以上 20250115133336.nb3为数据库备份 安装教程 系统安装说明 1.vc++运行时安装 http://www.ddooo.com/softdown/168263.htm 2.redis安装 直接用redis-server启动 也可以用nssm变为服务自动启动 3.mysql 8安装 解压缩版: 解压下载好的压缩包放到你想要放的目录: 用管理员打开CMD,切换到MySql的解压目录下的bin目录: 再输入命令mysqld --initialize --console来初始化数据库,并记录红色标注的字符,这是随机生成的密码: 输入mysqld -install将mysql安装为Windows的服务: 输入命令net start mysql或sc start mysql启动mysql服务 停止MySQL服务:net stop mysqld或sc stop mysqld 删除MySQL服务:sc delete mysqld或mysqld -remove(需先停止服务) 双击打开安装包,点击下一步 勾选我同意,点击下一步 选择安装路径后,点击下一步 点击安装 安装完成 Navicat for MySQL破解 注册机配置 1.Products选择“MySQL” 2.Porducts这里选择”Mysql“ 3.Languages选择“Simplified Chinese” 第2章 系统配置 下拉配置 1、 系统所有界面表单都可以直接设置下拉、弹窗选择、多选下拉、上传文件等功能; 设置下拉先设置下拉的数据源。数据源表名为系统自动提取的业务单据类,数据源代码是数据值,数据源值是显示的数据内容。数据源条件,可以设备业务表单查询任意条件。 2、打开下拉配置菜单,如下图。 选择数据源表名,下拉字段,再选择设置好的下拉数据源,下拉数据的样式: (1)、下拉框,(2)、弹窗选择,(3)、多选下拉框,(4)、文件上传,(6)、可选可填,(7)、富文本框,(8)、多选框,(9)、按钮单选 3、其中数据源表名是业务表单对应的数据表实体。 为了方便查看使用,我们也可以在多语音配置表中即这些数据表实体名定义成中文显示。 5、如下图是上传文件的下拉数据源配置。 6、下图是人员照片的文件上传配置,数据源ID选择上传文件下拉数据源。 基础数据配置 基础数据配置:用来配置基础数据字典 主从表配置 1、系统也提供直接的主从表配置开发,如下图是主从表关系的配置。需要填写主表、细表完整路径(即细表的实体)、从表名称(用于在表单tab页上显示)、主表的主键、明细表与主表关联的外键等。 打印模板管理 多语言管理 设置系统支持的语言类型 语言内容管理 语言内容管理主要字段 语言:该字符值对应的语言 zh-CN中文 en为英文 字符代码:字符值的唯一标识 字符值:显示值 一般不用主动添加语言内容,在代码中用字符代码获取时 会自动创建 ITranslateService TranslateService = AutofacHelper.GetScopeService(); 获取翻译服务 string GetTranslate(string Language, string code, string def); TranslateService.GetTranslate("","System_Flash","刷新") 第一个参数为语言代码,为空默认当前用户默认语言,第二个参数为字符代码,第三个为默认字符值 返回值为配置的字符值,当字符值为空 则返回默认字符值 数据库连接管理 系统还支持多数据库连接的应用。可以在数据库连接管理中维护多个连接,在整个系统中,就可以分模块使用不同的系统。 . 代码生成 24、鸿鹄低代码最核心的功能是可以快速实现业务表单功能。用户可以打开代码生成,进入到如下图。下图是系统自动检测到系统的所有数据库表。勾选需要生成表单功能的数据库表。 25、点生成代码后,出现如下图界面。用户可以进一步确定生成选项。默认新的程序功能都是需要生成全部的,再填写生成区域。生成区域会作为实体类名存在于系统中。 打印机配置管理 配置打印机 用来配置系统使用的打印机 打印机需要配置在服务器端才能使用 配合打印模板 进行单据的打印 在清洁化项目上未使用 后台任务管理 后台任务管理:管理quartz模块中正在允许的计划任务,能手动执行任务,暂停任务,恢复任务 计划任务管理:配置需要允许的计划任务,在系统启动时会自动将计划任务加载到quartz模块 并显示到后台任务管理模块 也可以用添加任务按钮实时添加到quartz模块中 任务类 表示计划任务的完整类名 任务类须继承IJob 复杂查询 /// SignalR消息推送 公众号等其他消息推送 appid 为需要推送消息的appid wxappid 为需要推送消息的wxappid 如果需要跳转小程序(公众号消息) pagepath 为跳转小程序的页面 userId 消息接受人的用户Id templeteId 模板Id messageobj 消息 //发送消息内容给消息处理系统 推送消息 PushMessageHelper.PushMessagePonit(weiXinApp, "DispatchReverseMesssage_Starter", "派单驳回消息推送_发起人"); 远程Business QueryableWeb远程服务 用来与门禁系统进行通讯获取门禁系统的相关信息 QueryableWeb(string _Url, string _key, string _CacheKey, TimeSpan _span, bool _IsCache = false); _Url 门禁系统Api服务地址 _key JWTKey当Api需要权限时填写 JWTHelper.GetJWTKey();//获取当前用户的JWTKey _CacheKey 缓存Key _span 缓存刷新时间 _IsCache 是否需要缓存 系统初始化 添加数据库配置 JWT配置 Swagger文档生成配置 数据库日志配置 Redis缓存和Session配置 SignalR配置和数据库用户缓存配置 定时任务和雪花Id生成器配置 微信配置 Autofac服务注册 第4章 业务组成(以派单为例) 总体结构 一个业务表生成的代码由以下 Controller:控制器和前端进行交互的逻辑 View:前端代码 Business:和数据库交互的业务代码 IBusiness: Business的接口 Entity:实体代码 1.控制器 Controller Area表示控制器所属的域 Route表示该控制器的路由 控制器继承BaseMvcContrller 该基控制器会加入登录验证和JWT接口机制 注入实体的Buiness 和系统数据转换帮助类 视图主要时定义该控制器拥有的页面 页面定义在对应的Views中 Index为主页 生成代码为主页面 带有增删改查 分页的列表显示界面 一般页面都要使用系统数据转换帮助类 public virtual ViewResult View(); public virtual ViewResult View(string viewName, object model); public virtual ViewResult View(object model); public virtual ViewResult View(string viewName); 页面方法 需要返回View(“页面名”) 如果为空则默认为方法名 当第一个参数为其他类型时 自动赋值给Model参数可以在页面上使用 return View(theData); return View("FormHealthCode", healthcode); 业务方法: 业务逻辑方法 用来获取相关数据和更新相关数据 复杂查询: /// 2.页面 Index页面代码解释: Layout = "~/Views/Shared/_Layout_List.cshtml"; //设置页面框架 PermissionManage PermissionManage = new PermissionManage(); //获取权限管理器 Var manageSysPermission = PermissionManage.OperatorHasPermissionValue("cbg_dispatch.manageSysPermission"); //根据权限代码获取权限 根据获取的权限 设置当前用户可使用的操作 字段显示配置获取: base_selectresource_data dataselecttruck_ph = dataHelper.GetDataUrlAll("CleanBG", "cbg_dispatch", "truck_ph"); 根据域,表名,字段名获取字段的下拉配置 然后根据配置的类型不同 进行不同显示模式 1、下拉框,2、弹窗选择,3、多选下拉框,4、文件上传,6、可选可填,7、富文本框,8、多选框 扩展字段显示 获取字段联动配置 字段转换为json字符串传给js变量; isview控制字段是否可编辑 初始化treeSelect数据 elem:字段对应的Id data:数据获取的接口 type:接口的访问类型 get post placeholder:显示的占位字符 click:点击之后的操作 给字段赋值 success:加载完成后初始化选项 表单校验和提交 3.Business 初始化相关变量 简单查询 pagination:为分页参数 searchInfos:为查询条件列表 获取和组装字段的显示值 复杂查询: ComplexQuerys:复杂查询条件 处理复杂查询条件不同 其他操作方式和简单查询类似 简单查询导出数据 List infos = dbHelper.GetDbTableInfo(EnumHelper.GetTableName(typeof(cbg_dispatch)));根据实体类型获取表名 组装用来装导出数据的DataTable 4.实体 #### **特点描述:** 新框架 **支持多种数据库** 形式,具体的数据库类型请加群技术交流;系统采用.net 6 的低代码框架,可以部署在多种操作系统上;系统支持 **一步生成全套业务代码** ,复杂业务也可以通过快速前端配置实现; 支持前端配置的功能有: **数据记录权限** 、单据的下列选项、弹窗选项、多选添加、文件上传、富文本区输入、按钮单选等; 支持 **excel配置的打印** 、导入模板,导入数据支持在线预览; 支持 **工作流** 在线设计绘画; 支持根据用户级的 **多语言设计** 配置; 支持 **后台定时任务** 设计与调度; 支持 **复杂查询** 及查询模板保存; 支持 **文档系统** 的分布式存储; 支持数据库的动态 **分库分表** ; 支持表单 **在线设计** ; 支持消息推送配置与开发; 支持app开发,一个app可以发布到多终端: **小程序、公众号、app、鸿蒙** 都支持; 支持短信、邮箱、 **微信、企业微信、钉钉** 及第三方erp对接; 支持人工智能开发, **RPA机器人、机器学习、GPT** 对接; 系统支持 **SAO分布** 式部署架构; 参与贡献 鸿鹄(深圳)创新技术有限公司 QQ群:491338424(技术交流、安装配置交流) 微信:17688764798 详细说明:《鸿鹄创新低代码开发使用说明》 nuget地址:http://web.gooderp.net:8000/v3/index.json #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)