### 字典配置说明: `version 1.3.4+` ` date 20210610` #### 使用场景: 某一字段数据存储的是一个值,具体到页面显示是另一个值,需要作字典配置实现值的转换。 #### 配置方式: **一、直接配置字典编码** - 需在`jimu_dict`中配置字典编码,`jimu_dict_item`表中配置字典项,页面操作如下: ![](https://img.kancloud.cn/ab/58/ab58cd6b10884659b6ec029a357e6f2a_318x363.png) ![](https://img.kancloud.cn/08/c0/08c09a9d3cff6db2d600c1b2fb10d836_1880x427.png) - 然后在解析字段中配置字典编码。 ![](https://img.kancloud.cn/14/26/1426fbb84d9d7b7899a0ee29fd7f7d90_1789x367.png) *使用该方式需要带有token。* --- **二、配置sql语句:** - 从sql语句的查询结果中获取字典,所以提前准备好字典数据,如下表(`edu_dict`): ![](https://img.kancloud.cn/50/fc/50fc9a6969d2526c071e5ab0d873aba2_116x64.png) - 写字典sql: `select store as 'value', title as 'text' from edu_dict` sql定义查询字段需要取**别名**value和text,上述sql在mysql可以执行,如其他数据库请先测试能否执行成功再配置。 ![](https://img.kancloud.cn/39/96/3996541b0ace47ab0627138c862773fc_921x229.png) - 配置字典 ![](https://img.kancloud.cn/da/d5/dad55b214b180586ea45167cf0cc6277_1821x362.png) ---- **三、api方式:** - 定义api接口,接口返回字典数据: ``` @GetMapping("/dictest") public List<DictModel> dictest(@RequestParam(name="code",required = false) String code,HttpServletRequest req){ System.out.println("code:"+ code); List<DictModel> ls = new ArrayList<>(); // 此处不一定是DictModel对象,可以自定义,可以是map,只要有text和value属性即可。 DictModel dm1 = new DictModel(); dm1.setText("男性"); dm1.setValue("1"); ls.add(dm1); DictModel dm2 = new DictModel(); dm2.setText("女性"); dm2.setValue("2"); ls.add(dm2); return ls; } ``` - 配置字典api地址:`http://localhost:8080/jeecg-boot/ces/ai/dictest?code=#{sysUserCode}` ![](https://img.kancloud.cn/ad/d7/add72679c6845cb72fd20aadc4985bb9_1632x392.png) 注意:上述api地址支持传参,且参数值支持动态获取系统变量(sysUserCode即当前登录用户账号),系统变量使用规则参考[其他文档]( https://www.kancloud.cn/zhangdaiscott/jimureport/2159712) --- **最终效果:** ![](https://img.kancloud.cn/29/f9/29f99440b29e1b377b38e6eadbcb67f4_874x451.png)