我们开发一个系统,在保证风格统一、代码强壮、可读性强等基础上,还能够结合代码生成工具快速开发相关后端,以及各种前端界面的,无疑是非常好的,既保证了项目的代码质量,又能够极大的提高开发效率。代码生成工具Database2Sharp是在完善的开发项目上,抽取出数据变化的部分,通过演绎、归纳、反复演绎和归纳等提炼方式抽取出相关的规则,以工具的方式来快速提高生产率,使得我们在开发各种不同的项目上的时候,能够事半功倍,本篇随笔介绍基于代码生成工具Database2Sharp,快速生成Vue3+TypeScript的前端界面和Winform端界面。1、代码生成工具Database2Sharp的使用对于SQ
工作流是集成系统的模块应用,使用权限管理系统的身份认证登录后即可使用。本篇随笔介绍工作流模块的界面功能效果。1、我的审批工作我的审批工作,包括【我发起的】、【我的待办】、【我的已办】几类大项,并可以根据查询条件进行过滤列表,界面如下所示:双击申请单,可以打开查看详细的申请单信息,如下界面所示。 如果审批单可以进行审批处理,则会出现相关的审批按钮,单击【审批】按钮,弹出审批对话框,可以录入相关的审批意见,如下界面所示。 如果表单需要撤销,单击【撤销】按钮,会弹出申请单撤销的确认界面,在其中录入撤销意见确认即可。 如果需了解申请单的流程日志信息,单击【流程日志】按钮,弹出申请单的相关日志信息
工作流是集成系统的模块应用,使用权限管理系统的身份认证登录后即可使用。本篇随笔介绍工作流模块的界面功能效果。1、我的审批工作我的审批工作,包括【我发起的】、【我的待办】、【我的已办】几类大项,并可以根据查询条件进行过滤列表,界面如下所示:双击申请单,可以打开查看详细的申请单信息,如下界面所示。 如果审批单可以进行审批处理,则会出现相关的审批按钮,单击【审批】按钮,弹出审批对话框,可以录入相关的审批意见,如下界面所示。 如果表单需要撤销,单击【撤销】按钮,会弹出申请单撤销的确认界面,在其中录入撤销意见确认即可。 如果需了解申请单的流程日志信息,单击【流程日志】按钮,弹出申请单的相关日志信息
在一个应用系统的开发框架中,往往很多地方需要用到缓存的处理,有些地方是为了便于记录用户的数据,有些地方是为了提高系统的响应速度,如有时候我们在发送一个短信验证码的时候,可以在缓存中设置几分钟的过期时间,这样验证短信验证码的时候,就会自动判断是否过期了。本篇随笔结合CSRedis的使用,介绍如何实现缓存的初始化及使用的处理。1、在基于.netCore的WebAPI后端使用CSRedis关于CSRedis的使用,我们可以参考Github网站:https://github.com/2881099/csredis 进行了解。首先我们在使用前,需要添加对应的程序集应用。PackageNameNuGet
在一个应用系统的开发框架中,往往很多地方需要用到缓存的处理,有些地方是为了便于记录用户的数据,有些地方是为了提高系统的响应速度,如有时候我们在发送一个短信验证码的时候,可以在缓存中设置几分钟的过期时间,这样验证短信验证码的时候,就会自动判断是否过期了。本篇随笔结合CSRedis的使用,介绍如何实现缓存的初始化及使用的处理。1、在基于.netCore的WebAPI后端使用CSRedis关于CSRedis的使用,我们可以参考Github网站:https://github.com/2881099/csredis 进行了解。首先我们在使用前,需要添加对应的程序集应用。PackageNameNuGet
刚完成一些前端项目的开发,腾出精力来总结一些前端开发的技术点,以及继续完善基于SqlSugar的开发框架循序渐进介绍的系列文章,本篇随笔主要介绍一下基于Vue3+TypeScript的全局对象的注入和使用。我们知道在Vue2中全局注入一个全局变量使用protoType的方式,很方便的就注入了,而Vue3则不能通过这种方式直接使用,而是显得复杂一些,不过全局变量的挂载有它的好处,因此我们在Vue3+TypeScript中也继续应用这种模式来处理一些常规的辅助类方法。1、Vue2的全局挂载Vue2的挂载由于它的便利性,常常会被大量的使用,只需要使用Vue.protoType.**的方式就可以注入一
刚完成一些前端项目的开发,腾出精力来总结一些前端开发的技术点,以及继续完善基于SqlSugar的开发框架循序渐进介绍的系列文章,本篇随笔主要介绍一下基于Vue3+TypeScript的全局对象的注入和使用。我们知道在Vue2中全局注入一个全局变量使用protoType的方式,很方便的就注入了,而Vue3则不能通过这种方式直接使用,而是显得复杂一些,不过全局变量的挂载有它的好处,因此我们在Vue3+TypeScript中也继续应用这种模式来处理一些常规的辅助类方法。1、Vue2的全局挂载Vue2的挂载由于它的便利性,常常会被大量的使用,只需要使用Vue.protoType.**的方式就可以注入一
在前面随笔介绍的基于SqlSugar的WInform端管理系统中,数据提供者是直接访问数据库的方式,不过窗体界面调用数据接口获取数据的时候,我们传递的是标准的接口,因此可扩展性比较好。我曾经在随笔《基于SqlSugar的开发框架循序渐进介绍(5)--在服务层使用接口注入方式实现IOC控制反转》中介绍过,该SqlSugar开发框架本身是基于IOC控制反转的,因此对于接入不同的数据提供者,只需要切换到对应的实现层上即可。本篇随笔介绍基于SqlSugar开发框架的Winform端,实现包括对直接访问数据库,远程调用WebAPI接口的两种不同的处理方式的整合。1、Winform模块中对具体接口的调用及
在前面随笔介绍的基于SqlSugar的WInform端管理系统中,数据提供者是直接访问数据库的方式,不过窗体界面调用数据接口获取数据的时候,我们传递的是标准的接口,因此可扩展性比较好。我曾经在随笔《基于SqlSugar的开发框架循序渐进介绍(5)--在服务层使用接口注入方式实现IOC控制反转》中介绍过,该SqlSugar开发框架本身是基于IOC控制反转的,因此对于接入不同的数据提供者,只需要切换到对应的实现层上即可。本篇随笔介绍基于SqlSugar开发框架的Winform端,实现包括对直接访问数据库,远程调用WebAPI接口的两种不同的处理方式的整合。1、Winform模块中对具体接口的调用及
在上篇随笔《基于SqlSugar的开发框架循序渐进介绍(23)--Winform端管理系统中平滑增加对WebAPI对接的需求 》中介绍了基于一个接口,实现对两种不同接入方式(直接访问数据库实现,基于WebAPI代理类实现)的处理,由于定义的接口中,我们为了方便,也是用了Lambda表达式的进行一些参数的处理,那么如果在WebAPI代理类中,Lambda表达式是不能直接传递给WebAPI的控制器的,那么如何对这个Lambda表达式进行序列化和反序列化还原就是一个急需解决的问题。本篇随笔介绍采用Serialize.Linq第三方组件的方式实现对Lambda表达式进行序列化和反序列化的处理。1、La