数据字典 
在本项目中,字典分为两种:数据库字典和枚举字典,接下来介绍下在本项目后端中如何使用数据字典。
数据库字典 
数据库字典,即对应 sys_dict(字典) 和 sys_dict_item(字典项) 表中的字典数据,可通过菜单 系统管理/字典管理 进行数据维护。
在本项目中,数据库字典建议和业务隔离,仅做数据维护使用,例如:message_type 字典,系统消息根据不同业务的项目,维护不同的类型,避免业务逻辑中硬编码。
枚举字典 
枚举字典,即实现了 top.continew.starter.core.enums.BaseEnum 枚举接口的枚举类。
在本项目中,枚举字典则和业务关联较强,例如:auth_type_enum(AuthTypeEnum 枚举) 字典,根据不同的认证类型有不同的认证处理逻辑。
在系统启动时,会自动初始化枚举字典到内存中。
接口访问 
如果需要获取指定字典的数据项,可以通过下方接口进行查询,枚举字典 code 为对应枚举的类名,也可以写作下划线连接风格。
GET /common/dict/:code例如:/common/dict/auth_type_enum 的响应结果。
json
{
    "code": "0",
    "msg": "ok",
    "success": true,
    "timestamp": 1743430116643,
    "data": [
        {
            "label": "账号",
            "value": "ACCOUNT",
            "disabled": null,
            "extra": "success"
        },
        {
            "label": "邮箱",
            "value": "EMAIL",
            "disabled": null,
            "extra": "primary"
        },
        {
            "label": "手机号",
            "value": "PHONE",
            "disabled": null,
            "extra": "primary"
        },
        {
            "label": "第三方账号",
            "value": "SOCIAL",
            "disabled": null,
            "extra": "error"
        }
    ]
}前端使用 
在前端使用,可以使用 useDict 函数进行字典数据项的获取,在同一个页面只要不刷新浏览器,只会获取一次。
ts
import { useDict } from '@/hooks/app'
const { auth_type_enum } = useDict('auth_type_enum')获取到字典数据项后,可以根据需要在页面中展示。
例如:在下拉选项中使用:
<a-select
  v-model="queryForm.authType"
  :options="auth_type_enum"
  placeholder="请选择终端类型"
  allow-clear
  style="width: 160px"
  @change="search"
/>例如:在表格单元格中使用:
<GiCellTag :value="record.authType" :dict="auth_type_enum" />更多用法可搜索 useDict 查看已用功能。