
需求
uniapp页面上显示的Code,需要替换成后端数据字典中的Text。
包括
- 列表展示
- 数据编辑
思路
前端关键点
1、页面修改:取值统一改成属性加后缀的方式显示(例如,sex_dictTxt)
2、增加拦截器(在App.vue中找个钩子添加):
2-1:在向后端发数据前拦截,用来替换sex_dictTxt 和 sex,出于vue是响应式的,应该先复制一个副本后修改,最后发出。
2-2:在接收到后端服务之后,可以直接使用后端服务传过来的sex_dictTxt即可
2-3:在发送数据之前,把dictTxt对应的真实code替回去(如果有必要的话)
后端关键点
1、字典服务:需要有一个后端的字典查询服务。在数据返回给前端之前,对数据进行一次转换操作。
2、数据对象增加元数据:给具体要转换的那些字段打上注解(例如,User.java, User.sex字段,需要打上一个@UniAppDict(xxx))方便工具方法(可能是模板方法或者拦截器)对指定字段进行转义。
3、在service层返回给controller层数据之前,对已查出来的数据进行加工(由于查出来的对象集合中,需要转换的属性都打注解了)。
4、controller层尽量使用js

本文介绍了一种在uniapp项目中实现前后端联动的字典转换方案,通过前端拦截器与后端服务配合,实现了数据展示时从字典码到字典文的转换。
最低0.47元/天 解锁文章
992

被折叠的 条评论
为什么被折叠?



