From c17ecb23dd29d6914ff529215a633a1fc8396852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=88=E3=83=BE=E9=AD=82?= <283591387@qq.com> Date: Wed, 24 Apr 2024 08:56:14 +0000 Subject: [PATCH 1/3] update README.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 靈ヾ魂 <283591387@qq.com> --- README.md | 60 +++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index af5d2ea5..fbf0771a 100644 --- a/README.md +++ b/README.md @@ -42,83 +42,83 @@ App、H5、微信小程序: [http://v2.volcore.xyz/app/guide](http://v2.volcore. sqlsugar: [https://www.donet5.com/](https://www.donet5.com/) ## 2023.05.13增加审批流程分支、条件功能 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/flow.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/flow2.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/flow3.png) +![Home](/imgs/flow.png) +![Home](/imgs/flow2.png) +![Home](/imgs/flow3.png) ## 框架移动端(uniapp)已发布,同样全自动生成代码,扫描小程序二维码即可查看 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/qrcode.png) +![Home](/imgs/qrcode.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/app-01.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/app-02.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m001.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m002.png) +![Home](/imgs/app-01.png) +![Home](/imgs/app-02.png) +![Home](/imgs/m001.png) +![Home](/imgs/m002.png) ## 框架已支持Vue3版本 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/v3.png) +![Home](/imgs/v3.png) ## 框架已增加低代码设计器 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/fd01.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/fd02.png) +![Home](/imgs/fd01.png) +![Home](/imgs/fd02.png) ## 框架2.0已更新(部分新增功能截图) 增加切换皮肤功能 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/h.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/home_them.png) +![Home](/imgs/h.png) +![Home](/imgs/home_them.png) 增加可复用的后台请求参数校验 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/validator.png) +![Home](/imgs/validator.png) 增加树形菜单与代码生成页面使用 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/x7tree.png) +![Home](/imgs/x7tree.png) 增加文本编辑器直接发布静态页面功能 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/editor.png) +![Home](/imgs/editor.png) 一对一多从表显示(只需要少量代码就可完成成,其他都由代码生成器生成) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m1.png) +![Home](/imgs/m1.png) 表合并显示 (只需要几行代码完成代码生成器生成的页面实现扩展) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/span.png) +![Home](/imgs/span.png) 从图上传图片 (只需要几行代码完成代码生成器生成的页面实现扩展) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/p1.png) +![Home](/imgs/p1.png) 一对多从表(不限从表数量)扩展 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/multi.png) +![Home](/imgs/multi.png) 图表 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/charts.png) +![Home](/imgs/charts.png) ## 1、只读基础表单 整个只读的基础表单的所有前后端代码,全部由代码生成器生成,代码生成器中几乎不需要配置,并支持并后端业务代码扩展,直接生成代码后,配置菜单权限即可 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table1.png) +![Home](/imgs/table1.png) ## 2、自动绑定下拉框数据表单 整个自动绑定下拉框数据表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,在代码生成器中只需要指定数据源编号,页面加载时会根据编号自动加载数据源并绑定 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table2.png) +![Home](/imgs/table2.png) ## 3、启用图片支持、审核表单 整个启用图片支持、审核表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,审核功能需要在菜单配置权限、代码生成器中勾选启用图片支持 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table3.png) +![Home](/imgs/table3.png) ## 4、高级查询 整个表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,查询字段、类型(下拉框、日期、TextArea等)、所在行与列都由代码生成器完成,不需要写任何代码 - ![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/tablesearch4.png) + ![Home](/imgs/tablesearch4.png) ## 5、主从表新建、编辑 主从表新建、编辑所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,新建、编辑从表配置、字段、类型(下拉框、日期、TextArea等)、所在行与列、字段是否只读、标签显示的长度等都由代码生成器完成,不需要写任何代码 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/editTbale2.png) +![Home](/imgs/editTbale2.png) ## 6、excel导入 excel导入整个页面都由代码生成器生成,导入的字段、字段是否必填,下载模板也由代码生成器上配置(自己根据实际需要决定是否采用此方法),导入时会验证是否为空与数据的合法性,逻辑校验自己实现扩展方法即可 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/importTable1.png) +![Home](/imgs/importTable1.png) ## 7、H5开发 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/h5.jpg) +![Home](/imgs/h5.jpg) ## 8、权限分配 目前只实现了对用户的角色的Action进行权限分配 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/auth.png) +![Home](/imgs/auth.png) ## 9、代码生成器 代码生成器提供了20多种可配置的属性,可灵活配置显示、查询、编辑、导入、导出、主从关系等功能点击看代码生成器文档 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/coder.png) +![Home](/imgs/coder.png) 其他功能。。。。。 -- Gitee From 95e0f035a858e4af17a0c4fc253664880451452e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=88=E3=83=BE=E9=AD=82?= <283591387@qq.com> Date: Thu, 27 Jun 2024 06:25:16 +0000 Subject: [PATCH 2/3] update README.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 靈ヾ魂 <283591387@qq.com> --- README.md | 60 +++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index e1907c13..4f6a13d5 100644 --- a/README.md +++ b/README.md @@ -42,83 +42,83 @@ App、H5、微信小程序: [http://v2.volcore.xyz/app/guide](http://v2.volcore. sqlsugar: [https://www.donet5.com/](https://www.donet5.com/) ## 2023.05.13增加审批流程分支、条件功能 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/flow.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/flow2.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/flow3.png) +![Home](/imgs/flow.png) +![Home](/imgs/flow2.png) +![Home](/imgs/flow3.png) ## 框架移动端(uniapp)已发布,同样全自动生成代码,扫描小程序二维码即可查看 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/qrcode.png) +![Home](/imgs/qrcode.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/app-01.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/app-02.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m001.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m002.png) +![Home](/imgs/app-01.png) +![Home](/imgs/app-02.png) +![Home](/imgs/m001.png) +![Home](/imgs/m002.png) ## 框架已支持Vue3版本 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/v3.png) +![Home](/imgs/v3.png) ## 框架已增加低代码设计器 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/fd01.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/fd02.png) +![Home](/imgs/fd01.png) +![Home](/imgs/fd02.png) ## 框架2.0已更新(部分新增功能截图) 增加切换皮肤功能 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/h.png) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/home_them.png) +![Home](/imgs/h.png) +![Home](/imgs/home_them.png) 增加可复用的后台请求参数校验 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/validator.png) +![Home](/imgs/validator.png) 增加树形菜单与代码生成页面使用 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/x7tree.png) +![Home](/imgs/x7tree.png) 增加文本编辑器直接发布静态页面功能 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/editor.png) +![Home](/imgs/editor.png) 一对一多从表显示(只需要少量代码就可完成成,其他都由代码生成器生成) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/m1.png) +![Home](/imgs/m1.png) 表合并显示 (只需要几行代码完成代码生成器生成的页面实现扩展) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/span.png) +![Home](/imgs/span.png) 从图上传图片 (只需要几行代码完成代码生成器生成的页面实现扩展) -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/p1.png) +![Home](/imgs/p1.png) 一对多从表(不限从表数量)扩展 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/multi.png) +![Home](/imgs/multi.png) 图表 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/charts.png) +![Home](/imgs/charts.png) ## 1、只读基础表单 整个只读的基础表单的所有前后端代码,全部由代码生成器生成,代码生成器中几乎不需要配置,并支持并后端业务代码扩展,直接生成代码后,配置菜单权限即可 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table1.png) +![Home](/imgs/table1.png) ## 2、自动绑定下拉框数据表单 整个自动绑定下拉框数据表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,在代码生成器中只需要指定数据源编号,页面加载时会根据编号自动加载数据源并绑定 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table2.png) +![Home](/imgs/table2.png) ## 3、启用图片支持、审核表单 整个启用图片支持、审核表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,审核功能需要在菜单配置权限、代码生成器中勾选启用图片支持 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/table3.png) +![Home](/imgs/table3.png) ## 4、高级查询 整个表单的所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,查询字段、类型(下拉框、日期、TextArea等)、所在行与列都由代码生成器完成,不需要写任何代码 - ![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/tablesearch4.png) + ![Home](/imgs/tablesearch4.png) ## 5、主从表新建、编辑 主从表新建、编辑所有前后端代码,全部由代码生成器生成,并支持并后端业务代码扩展,新建、编辑从表配置、字段、类型(下拉框、日期、TextArea等)、所在行与列、字段是否只读、标签显示的长度等都由代码生成器完成,不需要写任何代码 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/editTbale2.png) +![Home](/imgs/editTbale2.png) ## 6、excel导入 excel导入整个页面都由代码生成器生成,导入的字段、字段是否必填,下载模板也由代码生成器上配置(自己根据实际需要决定是否采用此方法),导入时会验证是否为空与数据的合法性,逻辑校验自己实现扩展方法即可 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/importTable1.png) +![Home](/imgs/importTable1.png) ## 7、H5开发 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/h5.jpg) +![Home](/imgs/h5.jpg) ## 8、权限分配 目前只实现了对用户的角色的Action进行权限分配 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/auth.png) +![Home](/imgs/auth.png) ## 9、代码生成器 代码生成器提供了20多种可配置的属性,可灵活配置显示、查询、编辑、导入、导出、主从关系等功能点击看代码生成器文档 -![Home](https://github.com/cq-panda/Vue.NetCore/blob/master/imgs/coder.png) +![Home](/imgs/coder.png) 其他功能。。。。。 -- Gitee From ac7836a7f75a2712cb33c097ef37c4c0d17435c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=87=BF=E6=9D=B0?= <429257309@.com> Date: Thu, 18 Jul 2024 11:20:43 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=9ALogger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VOL.Core/Services/Logger.cs" | 60 ++++++++++++++----- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git "a/\345\274\200\345\217\221\347\211\210dev/Net6\345\274\200\345\217\221\347\211\210/VOL.Core/Services/Logger.cs" "b/\345\274\200\345\217\221\347\211\210dev/Net6\345\274\200\345\217\221\347\211\210/VOL.Core/Services/Logger.cs" index e97da5b6..b4d95ea7 100644 --- "a/\345\274\200\345\217\221\347\211\210dev/Net6\345\274\200\345\217\221\347\211\210/VOL.Core/Services/Logger.cs" +++ "b/\345\274\200\345\217\221\347\211\210dev/Net6\345\274\200\345\217\221\347\211\210/VOL.Core/Services/Logger.cs" @@ -8,6 +8,7 @@ using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; +using System.Timers; using System.Web; using VOL.Core.Configuration; using VOL.Core.Const; @@ -27,24 +28,53 @@ namespace VOL.Core.Services public static ConcurrentQueue loggerQueueData = new ConcurrentQueue(); private static DateTime lastClearFileDT = DateTime.Now.AddDays(-1); private static string _loggerPath = AppSetting.DownLoadPath + "Logger\\Queue\\"; + private static System.Timers.Timer _timer; // 静态构造函数,初始化定时器 + static Logger() { - Task.Run(() => + _timer = new System.Timers.Timer(10000); // 创建一个新的定时器,并设置其间隔为10秒 + _timer.Elapsed += OnTimedEvent; // 当定时器达到设定的间隔时间时,触发OnTimedEvent方法 + _timer.AutoReset = true; // 定时器在触发事件后应自动重置,以便再次触发 + _timer.Enabled = true; // 启用定时器 + } + + // 定时器触发时执行的方法 + private static void OnTimedEvent(Object source, ElapsedEventArgs e) + { + List list = new List(); // 创建一个新的Sys_Log列表,用于存储从队列中取出的日志 + int dequeueCount = 0; // 初始化一个计数器,用于记录从队列中取出的日志数量 + var beginTime = DateTime.Now; // 当前时间作为日志记录的起始时间 + + // 当队列不为空、取出的日志数量少于100,并且成功从队列中取出日志时,循环继续 + while (!loggerQueueData.IsEmpty && dequeueCount < 100 && loggerQueueData.TryDequeue(out Sys_Log log)) + { + list.Add(log); // 将取出的日志添加到列表中 + dequeueCount++; // 增加取出的日志数量计数 + } + + try + { + DBServerProvider.SqlDapper.AddRange(list); // 尝试将取出的日志列表批量写入数据库 + } + catch (Exception ex) // 如果在写入过程中出现异常,则捕获该异常 { - Start(); - //if (DBType.Name != "MySql") - //{ - // return; - //} - //try - //{ - // DBServerProvider.SqlDapper.ExcuteNonQuery("set global local_infile = 'ON';", null); - //} - //catch (Exception ex) - //{ - // Console.WriteLine($"日志启动调用mysql数据库异常:{ex.Message},{ex.StackTrace}"); - //} - }); + // 输出异常信息到控制台(在实际应用中,可能需要更复杂的异常处理逻辑) + Console.WriteLine($"日志批量写入数据时出错:{ex.Message}"); + + // 创建一个新的错误日志,记录异常信息,并将其重新加入队列中以便后续处理 + var errlog = new Sys_Log() + { + BeginDate = beginTime, // 设置错误日志的开始时间 + EndDate = DateTime.Now, // 设置错误日志的结束时间为当前时间 + LogType = "System", // 设置日志类型为“System” + Success = (int)LoggerStatus.Error, // 设置日志状态为“Error” + ExceptionInfo = $"日志批量写入失败,ex:{ex},ex.Message:{ex.Message}" // 记录异常信息和异常消息 + }; + loggerQueueData.Enqueue(errlog); // 将错误日志加入队列中 + + // 也可以选择写入本地txt文件 + // WriteText(ex.Message + ex.StackTrace + ex.Source); + } } public static void Info(string message) -- Gitee