首页 文章 精选 留言 我的

精选列表

搜索[工具模块],共10000篇文章
优秀的个人博客,低调大师

爱组搭 aizuda 低代码 OSS 文件存储模块 1.0.6 发布

目前支持 Minio ,阿里云 OSS ,腾讯 COS ,亚马逊 AWSS3 ,本地存储 支持文件类型合法校验 OSS.fileStorage(platform).bucket(bucketName) // 使用默认 yml 配置媒体类型 .allowMediaType(bis) // 只允许gif图片上传,所有图片可以是 image/ 部分匹配 .allowMediaType(fis, t -> t.startsWith("image/gif")) .upload(bis, filename); 源码地址:https://gitee.com/aizuda/aizuda-components 仓库地址:https://search.maven.org/search?q=aizuda-oss 升级日志: 新增Amazon AWS S3 支持 优化OSS文件检查新增注释说明 对外返回 Client 实现 优化返回签名地址 优化返回桶名称 其它完善 SpringBoot 使用 application.yml 配置 # 配置存储平台 ,第一位 test-minio 为默认存储平台 aizuda: oss: test-minio: platform: minio endpoint: http://xxxxxx accessKey: xxx secretKey: xxxxxxx bucketName: test1 aliyun-oss: platform: aliyun endpoint: http://xxxxxx accessKey: xxx secretKey: xxxxxxx bucketName: test Bean 方式注入,以下注入 minio3 为平台别名 @Bean public IFileStorage minio3() { // 注入一个自定义存储平台 OssProperty ossProperty = new OssProperty(); ossProperty.setPlatform(StoragePlatform.minio); ossProperty.setBucketName("test3"); ossProperty.setEndpoint("http://xxxxx"); ossProperty.setAccessKey("q7RNi6elbvQ0j1ry"); ossProperty.setSecretKey("HMoKkeu0zGSvSdDGWlMDuytaRON12St9"); return new Minio(ossProperty); } 测试上传 platform 存储平台(不设置使用默认)bucketName 存储桶(不设置使用默认) // 静态方法方式调用 OSS.fileStorage(platform).bucket(bucketName).upload(fis, filename); // 依赖注入方式调用 fileStorage.bucket(bucketName).upload(fis, filename); #IFileStorage 方法说明 属性 说明 upload 上传 delete 删除 download 下载 getUrl 文件可预览地址 #配置属性说明 属性 说明 platform 存储平台,目前支持 Minio ,阿里云 OSS ,腾讯 COS ,亚马逊 AWSS3 ,本地存储 endpoint 域名 accessKey 访问 KEY secretKey 密钥 bucketName 存储空间桶名 connectionTimeout 连接超时,阿里云 OSS 有效

优秀的个人博客,低调大师

.NET 框架 Furion v4.3.4 发布,日志模块全新体验

序言 自 Furion v3.9.2 版本有了自主可控的日志组件之后,越来越多的 Furion 框架使用者移除了第三方日志组件选择框架内置的,Furion 框架提供了企业开发所需的几乎所有日志需求。 本期更新主要对日志性能,日志模板,日志功能进行了改进优化。 仓库地址:https://gitee.com/dotnetchina/Furion 文档地址:https://dotnetchina.gitee.io/furion/ 本期亮点 1. 更加美观的日志模板 [INF] [Microsoft.Hosting.Lifetime] 2022-08-30T15:52:13.7033488+08:00 [ListeningOnAddress] Now listening on: https://localhost:5001 [INF] [Microsoft.Hosting.Lifetime] 2022-08-30T15:52:13.7405477+08:00 [0] Application started. Press Ctrl+C to shut down. [INF] [Microsoft.Hosting.Lifetime] 2022-08-30T15:52:13.7453185+08:00 [0] Hosting environment: Development [INF] [Microsoft.Hosting.Lifetime] 2022-08-30T15:52:13.7482401+08:00 [0] Content root path: D:\Workplaces\OpenSources\Furion\samples\Furion.Web.Entry\ [WRN] [Furion.Application.TestLoggerServices] 2022-08-30T15:52:32.3892150+08:00 [0] 我是一个二配置日志 20 [ERR] [Furion.Application.TestLoggerServices] 2022-08-30T15:52:35.1479371+08:00 [0] 测试日志异常 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ System.Exception: 错误啦 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INF] [System.Logging.LoggingMonitor] 2022-08-30T15:53:26.3936806+08:00 [0] ┏━━━━━━━━━━━ Logging Monitor ━━━━━━━━━━━ ┣ Furion.Application.TestLoggerServices.GetPerson (Furion.Application) ┣ ┣ 控制器名称: TestLoggerServices ┣ 操作名称: GetPerson ┣ 路由信息: [area]: ; [controller]: test-logger; [action]: person ┣ 请求方式: GET ┣ 请求地址: https://localhost:5001/api/test-logger/person/233 ┣ 来源地址: https://localhost:5001/api/index.html ┣ 浏览器标识: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70 ┣ 客户端 IP 地址: 0.0.0.1 ┣ 服务端 IP 地址: 0.0.0.1 ┣ 服务端运行环境: Development ┣ 执行耗时: 56ms ┣ ━━━━━━━━━━━━━━━ 参数列表 ━━━━━━━━━━━━━━━ ┣ Content-Type: ┣ ┣ id (Int32): 233 ┣ ━━━━━━━━━━━━━━━ 返回信息 ━━━━━━━━━━━━━━━ ┣ 原始类型: Furion.Application.Persons.PersonDto ┣ 最终类型: Furion.UnifyResult.RESTfulResult`1[[System.Object, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] ┣ 最终返回值: {"StatusCode":200,"Data":{"Id":233,"Name":null,"Age":0,"Address":null,"PhoneNumber":null,"QQ":null,"CreatedTime":"0001-01-01T00:00:00+00:00","Childrens":null,"Posts":null},"Succeeded":true,"Errors":null,"Extras":null,"Timestamp":1661846006385} ┗━━━━━━━━━━━ Logging Monitor ━━━━━━━━━━━ [ERR] [System.Logging.FriendlyException] 2022-08-30T15:53:33.0839966+08:00 [0] Attempted to divide by zero. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ System.DivideByZeroException: Attempted to divide by zero. at Furion.Application.TestLoggerServices.测试直接抛出异常拦截(Int32 id) in D:\Workplaces\OpenSources\Furion\samples\Furion.Application\TestLoggerServices.cs:line 92 at lambda_method108(Closure , Object , Object[] ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INF] [Microsoft.EntityFrameworkCore.Database.Command] 2022-08-30T15:53:44.1172386+08:00 [Microsoft.EntityFrameworkCore.Database.Command.CommandExecuted] Executed DbCommand (53ms) [Parameters=[@__p_0='1'], CommandType='Text', CommandTimeout='30'] SELECT "p"."Id", "p"."Address", "p"."Age", "p"."CreatedTime", "p"."Name", "p"."UpdatedTime" FROM "Person" AS "p" WHERE "p"."Id" = @__p_0 LIMIT 1 [WRN] [Microsoft.EntityFrameworkCore.Query] 2022-08-30T15:53:49.0965317+08:00 [Microsoft.EntityFrameworkCore.Query.MultipleCollectionIncludeWarning] Compiling a query which loads related collections for more than one collection navigation, either via 'Include' or through projection, but no 'QuerySplittingBehavior' has been configured. By default, Entity Framework will use 'QuerySplittingBehavior.SingleQuery', which can potentially result in slow query performance. See https://go.microsoft.com/fwlink/?linkid=2134277 for more information. To identify the query that's triggering this warning call 'ConfigureWarnings(w => w.Throw(RelationalEventId.MultipleCollectionIncludeWarning))'. [INF] [Microsoft.EntityFrameworkCore.Database.Command] 2022-08-30T15:53:49.1180132+08:00 [Microsoft.EntityFrameworkCore.Database.Command.CommandExecuted] Executed DbCommand (2ms) [Parameters=[], CommandType='Text', CommandTimeout='30'] SELECT "p"."Id", "p"."Name", "p"."Age", "p"."Address", "p0"."PhoneNumber", "p0"."QQ", "p"."CreatedTime", "p0"."Id", "c"."Id", "c"."Name", "c"."Gender", "t"."Id", "t"."Name", "t"."PersonsId", "t"."PostsId" FROM "Person" AS "p" LEFT JOIN "PersonDetail" AS "p0" ON "p"."Id" = "p0"."PersonId" LEFT JOIN "Children" AS "c" ON "p"."Id" = "c"."PersonId" LEFT JOIN ( SELECT "p2"."Id", "p2"."Name", "p1"."PersonsId", "p1"."PostsId" FROM "PersonPost" AS "p1" INNER JOIN "Post" AS "p2" ON "p1"."PostsId" = "p2"."Id" ) AS "t" ON "p"."Id" = "t"."PersonsId" ORDER BY "p"."Id", "p0"."Id", "c"."Id", "t"."PersonsId", "t"."PostsId" 2. 支持 Visual Studio Code 日志收缩、异常日志高亮 3. 提供 RabbitMQ 事件总线使用指南 4. 提供 Log 静态类写日志更多功能 // 创建日志对象 var logger = Log.CreateLogger("日志名称"); // 创建日志工厂 using var loggerFactory = Log.CreateLoggerFactory(builder => { // .... }); // 日志记录 Log.Information("Information"); Log.Warning("Warning"); Log.Error("Error"); Log.Debug("Debug"); Log.Trace("Trace"); Log.Critical("Critical"); 5. 提供 MessageCenter 事件总线静态类 // 发送消息(含诸多重载) await MessageCenter.PublishAsync("messageId", new {}); // 动态订阅消息 MessageCenter.Subscribe("messageId", async (ctx) => { Console.WriteLine("我是动态的"); await Task.CompletedTask; }); // 取消订阅 MessageCenter.Unsubscribe("messageId"); 本期更新 新特性 [新增]AppSettings配置的ExcludeAssemblies属性,支持忽略指定程序集扫描7b7747f [新增]Oops.Oh和Oops.Bah支持设置额外数据.WithData(data)#I5O38E [新增]定时任务Crontab.GetSleepMilliseconds(baseTime)获取下一个发生时间的时间差d024fae [新增]友好异常默认打印异常日志,避免生产环境漏掉重要异常信息6e3a5bd [新增]日志静态类Log.CreateLoggerFactory()静态方法75c672a [新增]事件总线MessageCenter静态类,解决从Fur v1.x版本升级问题a29fc7c 突破性变化 [新增]Furion程序集PublicKeyToken强签名26b12c0 [调整]事件总线IEventBusFactory事件工厂方法AddSubscriber -> Subscribe,RemoveSubscriber -> Unsubscribea29fc7c 问题修复 [修复]生成包含中文的JWT Token解密后出现乱码问题#I5O397 其他更改 [调整]默认输出文件日志模板,使其更加美观#1518cf3 文档 [新增]RabbitMQ事件总线文档 [更新]AppSettings配置文档、事件总线文档、多数据库配置文档、日志文档、定时任务文档、MessageCenter文档

优秀的个人博客,低调大师

云办公系统 skyeye v3.4.4发布,薪资模块更新

云办公系统 skyeye v3.4.4发布。 erp:https://gitee.com/doc_wei01/erp-pro OA:https://gitee.com/doc_wei01/skyeye 项目开发计划:https://docs.qq.com/doc/DQlRxcVRMWWVjbU1i?_from=1&disableReturnList=1,有问题可以联系作者,详情请看开发计划。 更新内容: 新增社保公积金设置 新增薪资模板设置 新增薪资要素字段设置 新增薪资发放历史查询 效果截图: 效果图 效果图

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册