在详情页跳转数据功能的实现

1、应产品要求,有详情页面的单据都要加上上一条、下一条、第一条、最后一条的按钮。

2、封装了一个公共类用于实现。主要逻辑为:在查询列表接口时建立缓存,将查询条件、当前页集合等数据缓存起来,用户点击上一条等按钮时,传递当前数据的ID,根据ID在当前集合的位置,进行定位,找到相邻或最前、最末的数据,最后更新缓存数据。目前缓存时间为三个小时。

3、以下是公共类的命名和存放位置以及接口。

 

 

 

 

4、对于EF和Dapper,类的内部有不同的处理,但是通过重载方法,统一了对外接口,隐藏了实现细节,调用方不需要了解更多更复杂的实现逻辑,根据注释传递对应参数即可。

 

使用示例

注入需要声明泛型对应的具体类型,即查询列表接口的传入参数类型。

同时页面需要有模块名称的属性,请统一命名为CacheKey,后期可能会用到异常说明中去。

 

 

 

 

在查询列表接口分页排序实现之后,调用FindIndexHelper的更新缓存方法。

 

 

 

 

增加具体实现的功能只需要复制以下代码并粘贴,修改查询列表接口方法名即可。

 

 

 

 

请统一接口地址,方便前端。

复制以下代码,更改Service名称即可。

 

 

 

 

对于前端,与根据ID获取详情的接口类似的调用方式。

 

 

 

 

 

posted @ 2021-11-05 13:51  奈何碧落黄泉  阅读(147)  评论(0编辑  收藏  举报