基于Quartz的可视化UI操作组件GZY.Quartz.MUI更新说明(附:在ABP中集成GZY.Quartz.MUI可视化操作组件)
时隔2年.(PS:其实陆陆续续在优化,不过没发博客)..
.本组件又迎来了新的更新...
很久没更新博客了.生了娃,换了工作单位,太忙了..实在抱歉
NET Core 基于Quartz的UI可视化操作组件 GZY.Quartz.MUI 简介
GitHub开源地址:l2999019/GZY.Quartz.MUI: 基于Quartz的轻量级,注入化的UI组件 (github.com) (欢迎点Start收藏~)
总而言之,这个组件主要想做的就是:像swaggerUI一样,项目入侵量小,仅需要在Startup中注入的UI组件
先上一张效果图,给没用过的兄弟们科普一下,如图:
接下来,介绍一下更新了哪些功能.
1.修复采用数据库持久化数据的情况下,偶尔出现的异常. --此BUG由于IOC生命周期的问题导致,所以重现较为麻烦,特别感谢--Jiadm的commented
2.新增DLL类型的Job 可以自动加载进下拉框进行选择并可以进行模糊搜索,如图:
3.新增QuartzUI界面的HttpBasic基础授权认证.(因为有兄弟反馈说希望有身份认证,不过我这里也只新增了最基础的HttpBasic授权..因为每个项目的授权可能都不一样, 我就不过多扩展了)
在 app.UseQuartz();上面添加app.UseQuartzUIBasicAuthorized(); 就可以启动基础授权了.
默认账户名密码是Admin 123456
会自动读取配置文件中的QuartzUI节点下面的UserName和Pwd配置项 所以可通过配置文件修改.如图:
效果如图:
ABP因为进行了很多深度封装
所以使用本组件与纯粹的ASP.NET CORE中使用会有细微差别
首先,组件要运行在一个Web类型的项目里,也就是ABP的HOST类型.
Web,WebAPI,RazorPage都可以
我们需要在ABP的组件的Module中添加如下代码:
var optionsBuilder = new DbContextOptionsBuilder<QuarzEFContext>();
optionsBuilder.UseMySql(AppSettingConfig.Config["QuartzUI:ConnectionString"],
ServerVersion.AutoDetect(AppSettingConfig.Config["QuartzUI:ConnectionString"]), optionsBuilder =>
{
optionsBuilder.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
});
context.Services.AddScoped<GZY.Quartz.MUI.Areas.MyFeature.Pages.MainModel>();
context.Services.AddQuartzUI(optionsBuilder.Options);
context.Services.AddQuartzClassJobs();
唯一的区别就是,我们需要添加,如下这段代码
context.Services.AddScoped<GZY.Quartz.MUI.Areas.MyFeature.Pages.MainModel>();
因为注入机制的问题,这里要手动注入一下
对应的OnApplicationInitialization方法中,我们也需要添加
app.UseQuartz();
这样我们就可以愉快的在ABP的Application层当中写业务代码了.
类似如图:
然后创建我们的Job类,需要继承IJobService,如图:
运行项目,就可以在DLL类型的JOB中找到对应的类名了,如图:
有个比较重要的注意事项,一直忘记说了,这里也提一下
因为组件使用RCL的技术实现的,所以在开发环境需要手动添加一下静态资源包
.NET5.0的兄弟应该在Program类中添加如下代码:
webBuilder.UseStaticWebAssets();
如图:
.NET6.0+的兄弟 应该添加如下代码:
基于Quartz的可视化UI操作组件GZY.Quartz.MUI更新说明(附:在ABP中集成GZY.Quartz.MUI可视化操作组件)的更多相关文章
- 在Abp中集成Swagger UI功能
在Abp中集成Swagger UI功能 1.安装Swashbuckle.Core包 通过NuGet将Swashbuckle.Core包安装到WebApi项目(或Web项目)中. 2.为WebApi方法 ...
- T-sql 中 truncate 、delete与drop操作数据库的区别
1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 具体使用语法如下: --删除 ...
- 基于Vue的前端UI组件库的比对和选型
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 由于录制视频的需要,要做前端UI组件库的选型.平时国内外也见了不少基于Vue的UI ...
- Element UI 父组件el-tabel选择某行跳转子组件,在子组件的el-table中选择数组,添加到父组件操作行中
解决思路: 1.在父组件选择操作某行数据时,将父组件的行号暂存(index). 2.跳转子组件页面,选择某行数据,点击提交将该行数据传递个父组件 3.父组件取到第一步暂存行号(index),将子组件传 ...
- 【转】发布一个基于NGUI编写的UI框架
发布一个基于NGUI编写的UI框架 1.加载,显示,隐藏,关闭页面,根据标示获得相应界面实例 2.提供界面显示隐藏动画接口 3.单独界面层级,Collider,背景管理 4.根据存储的导航信息完成界面 ...
- 基于jquery开发的UI框架整理分析
根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据j ...
- 新建一个基于vue.js+Mint UI的项目
上篇文章里面讲到如何新建一个基于vue,js的项目(详细文章请戳用Vue创建一个新的项目). 该项目如果需要组件等都需要自己去写,今天就学习一下如何新建一个基于vue.js+Mint UI的项目,直接 ...
- 基于Python3 + appium的Ui自动化测试框架
UiAutoTest 一.概要 数据驱动的Ui自动化框架 二.环境要求 框架基于Python3 + unittest + appium 运行电脑需配置adb.aapt的环境变量,build_tools ...
- H5测试点总结-UI测试、功能测试、兼容性测试、体验相关(弱网、资源、手机操作等)、安全性测试、性能测试
一.概述 1.1 什么是H5 H5 即 HTML5,是最新的 Web 端开发语言版本,现如今,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现.所以 Web 的通用测 ...
- 基于React 的前端UI开发框架 及与Electron 的结合 https://cxjs.io/
1.cxjs 基于React 的前端UI开发框架 https://cxjs.io/ coreu http://coreui.io/ 2.antd-admin ...
随机推荐
- 基于 HLS 创建 Golang 视频流服务器
HLS 是 HTTP Live Streaming 的缩写,是苹果开发的一种基于 HTTP 的自适应比特率流媒体传输协议, 并于 2009 年. HLS 流媒体已经成为应用最广泛的实时视频协议.它是一 ...
- 【Jenkins】linux与windows环境下的安装步骤
linux环境: <1>安装jdk: https://www.cnblogs.com/poloyy/p/12801792.htmljdk (参考) <2>环境清理 find / ...
- 一站式微服务治理中台,Water v2.10.2 发布
Water(水孕育万物...) Water 为项目开发.服务治理,提供一站式解决方案(可以理解为微服务架构支持套件).基于 Solon 框架开发,并支持完整的 Solon Cloud 规范:已在生产环 ...
- 针对im输入框的一种处理方式
针对im输入框的一种处理方式 <template> <div class="chatInput"> <!-- 通过contenteditable使普通 ...
- webrtc QOS笔记三 Nack机制浅析
nack源码浅析 nack源码浅析 Video Nack nack模块 nack list keyFrame list & recovered list nack 发送的策略 nack 模块的 ...
- PHP大文件分割上传 PHP分片上传
这篇文章主要为大家详细介绍了PHP大文件分割上传,PHP分片上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 服务端为什么不能直接传大文件?跟php.ini里面的几个配置有关 upload_ma ...
- 【Vue项目】商品汇前台(一)组件拆分+请求封装
写在最前面 之前学完vue基础之后,一直想做一下前端的项目,但是自己写了一点前后端分离的项目发现自己前端写的是真的乱,所以趁着假期的空闲做一下尚硅谷商品汇的前后台项目,争取这周写完前台,然后这个月再写 ...
- 一分钟使用Gitee,把本地项目放入gitee仓库中
一.先创建一个Gitee账号 首先需要自己去别的地方看创建一个空仓库,然后复制仓库的地址 省略... 现有本地有项目代码,远程空仓库一个,如何把本地项目代码推到远程仓库? 1.在项目根目录初始化 Gi ...
- Go语言实战: 即时通信系统(未完)
使用Go语言构建一个即时通信系统,旨在锻炼Go语言编程能力 该通信系统至少能够允许用户能够在客户端进行公聊,即所发消息能被所有用户看到,也可发起私聊(即两个用户之间私密通信).同时,用户能够看到当前有 ...
- Java的对象克隆
本节我们会讨论 Cloneable 接口,这个接口指示一个类提供了一个安全的 clone() 方法. Object 类提供的 clone() 方法是 "浅拷贝",并没有克隆对象中引 ...