在上篇随笔《基于SqlSugar的开发框架循序渐进介绍(23)--Winform端管理系统中平滑增加对WebAPI对接的需求 》中介绍了基于一个接口,实现对两种不同接入方式(直接访问数据库实现,基于WebAPI代理类实现)的处理,由于定义的接口中,我们为了方便,也是用了Lambda表达式的进行一些参数的处理,那么如果在WebAPI代理类中,Lambda表达式是不能直接传递给WebAPI的控制器的,那么如何对这个Lambda表达式进行序列化和反序列化还原就是一个急需解决的问题。本篇随笔介绍采用Serialize.Linq第三方组件的方式实现对Lambda表达式进行序列化和反序列化的处理。1、La
.NetCore基于SqlSugar和Aop的工作单元模式(UnitOfWork)实现UnitOfWork是什么UnitOfWork模式,即工作单元,它是一种数据访问模式。它是用来维护一个由已经被业务修改(如增加、删除和更新等)的业务对象组成的列表。它负责协调这些业务对象的持久化工作及并发问题。通过数据库事务UnitOfWork模式会记录所有对象模型修改过的信息,在提交的时候,一次性修改,并把结果同步到数据库。这个过程通常被封装在事务中。所以在采用UnitOfWork模式好处就在于能够确保数据的完整性,如果在持有一系列业务对象(同属于一个事务)的过程中出现问题,就可以将所有的修改回滚,以确保数
.NetCore基于SqlSugar和Aop的工作单元模式(UnitOfWork)实现UnitOfWork是什么UnitOfWork模式,即工作单元,它是一种数据访问模式。它是用来维护一个由已经被业务修改(如增加、删除和更新等)的业务对象组成的列表。它负责协调这些业务对象的持久化工作及并发问题。通过数据库事务UnitOfWork模式会记录所有对象模型修改过的信息,在提交的时候,一次性修改,并把结果同步到数据库。这个过程通常被封装在事务中。所以在采用UnitOfWork模式好处就在于能够确保数据的完整性,如果在持有一系列业务对象(同属于一个事务)的过程中出现问题,就可以将所有的修改回滚,以确保数
在早期的随笔就介绍过,把常规页面的内容拆分为几个不同的组件,如普通的页面,包括列表查询、详细资料查看、新增资料、编辑资料、导入资料等页面场景,这些内容相对比较独立,而有一定的代码量,本篇随笔介绍基于Vue3+Typescript+Setup语法方式,来拆分页面模块内容为组件,实现分而治之的处理。1、页面模块组件的划分我们先来了解下常规页面的内容的整体界面布局,它包含常规的列表界面,新增、编辑、查看、导入等界面,除了列表页面,其他内容以弹出层对话框的方式进行处理,如下界面示意图所示。这些页面也可以放在一个大页面里面进行处理,逻辑代码也可以整合一起进行管理,大致的页面布局如下所示。我们看到,如果这
在早期的随笔就介绍过,把常规页面的内容拆分为几个不同的组件,如普通的页面,包括列表查询、详细资料查看、新增资料、编辑资料、导入资料等页面场景,这些内容相对比较独立,而有一定的代码量,本篇随笔介绍基于Vue3+Typescript+Setup语法方式,来拆分页面模块内容为组件,实现分而治之的处理。1、页面模块组件的划分我们先来了解下常规页面的内容的整体界面布局,它包含常规的列表界面,新增、编辑、查看、导入等界面,除了列表页面,其他内容以弹出层对话框的方式进行处理,如下界面示意图所示。这些页面也可以放在一个大页面里面进行处理,逻辑代码也可以整合一起进行管理,大致的页面布局如下所示。我们看到,如果这
在之前的SqlSugar系列随笔中,介绍了很多我们关于SqlSugar的开发框架的内容,SqlSugar的开发框架的目的是多前端应用场景,因此其中会包含各种不同的前端应用,前面介绍了基于DevExpress的Winform的前端应用,以及基于Vue3+TypeScript+ElementPlus的BS前端应用,本篇随笔继续介绍SqlSugar的开发框架的另一个前端应用,基于UniApp+Vue+ThorUI的移动前端。1、基于UniApp+Vue+ThorUI的移动前端前端开发,可以是基于Vue&Element的管理后台的前端开发,也可以是Vue+UniApp+手机端组件库的开发H5或者App
在之前的SqlSugar系列随笔中,介绍了很多我们关于SqlSugar的开发框架的内容,SqlSugar的开发框架的目的是多前端应用场景,因此其中会包含各种不同的前端应用,前面介绍了基于DevExpress的Winform的前端应用,以及基于Vue3+TypeScript+ElementPlus的BS前端应用,本篇随笔继续介绍SqlSugar的开发框架的另一个前端应用,基于UniApp+Vue+ThorUI的移动前端。1、基于UniApp+Vue+ThorUI的移动前端前端开发,可以是基于Vue&Element的管理后台的前端开发,也可以是Vue+UniApp+手机端组件库的开发H5或者App
在做一些常规应用的时候,我们往往需要确定条件的内容,以便在后台进行区分的进行精确查询,在移动端,由于受限于屏幕界面的情况,一般会对多个指定的条件进行模糊的搜索,而这个搜索的处理,也是和前者强类型的条件查询处理类似的处理过程,因此本篇随笔探讨两种不同查询在前端界面上的展示效果,以及后端基于.netCore的WebAPI端的基类进行的统一封装处理。1、前端精确条件的查询处理在基于Vue3+Typescript+ElementPlus的前端界面中,查询是很多界面需要拥有的功能,如下所示。 展开后的全部查询条件 以上的查询部分是一个查询函数的处理,如下代码所示。//查询列表处理asyncfunct
在做一些常规应用的时候,我们往往需要确定条件的内容,以便在后台进行区分的进行精确查询,在移动端,由于受限于屏幕界面的情况,一般会对多个指定的条件进行模糊的搜索,而这个搜索的处理,也是和前者强类型的条件查询处理类似的处理过程,因此本篇随笔探讨两种不同查询在前端界面上的展示效果,以及后端基于.netCore的WebAPI端的基类进行的统一封装处理。1、前端精确条件的查询处理在基于Vue3+Typescript+ElementPlus的前端界面中,查询是很多界面需要拥有的功能,如下所示。 展开后的全部查询条件 以上的查询部分是一个查询函数的处理,如下代码所示。//查询列表处理asyncfunct
在SqlSugar的开发框架的后端,我们基于WebAPI的封装了统一的返回结果,使得WebAPI的接口返回值更加简洁,而在前端,我们也需要统一对返回的结果进行解析,并获取和WebAPI接口对应的数据进行展示即可,本篇随笔介绍在Vue3+TypeScript+Vite的项目中,使用基于TypeScript的基类继承的方式,实现对后端接口数据的统一解析处理的封装操作。1、SqlSugar的开发框架后端WebAPI的封装前面介绍到,在SqlSugar的开发框架的后端,我们需要对WebAPI统一封装返回结果,如对于授权登录的接口,我们的接口定义如下所示。//////登录授权处理//////[Allow