Skip to content

字典系统

更新: 1/16/2025 字数: 0 字 时长: 0 分钟

概述

字典系统用于管理和维护项目中的枚举值。通过字典系统,可以方便地在前端和后端之间共享枚举数据,减少硬编码,提高代码的可维护性。

使用

定义枚举

在项目中任意位置定义枚举时,可以使用@dict-label@dict-value注释来标注枚举名称和枚举值。例如:

ts
/** @dict-label 测试枚举 */
export enum TestEnum {
    /** @dict-value 测试1 */
    foo = 'foo',
    /** @dict-value 测试2 */
    bar = 'bar',
}
  • @dict-label 标记当前枚举的名称
  • @dict-value 标记当前枚举值的名称

提示

  • 只有标记了@dict-label@dict-value注释的枚举才会被收集哦!

收集枚举

在运行npm run start:devnpm run build时,会自动收集所有已标记的枚举,生成json数据写入在static/enum.json文件中。 例如上方示例的枚举,将生成如下json:

json
[
  {
    "labelName": "测试枚举",
    "labelKey": "TestEnum",
    "options": [
      {
        "value": "foo",
        "label": "测试1"
      },
      {
        "value": "bar",
        "label": "测试2"
      }
    ]
  }
]

使用字典数据

生成的数据可自行处理,在本项目模板中,在src/endpoints/admin/admin-dict模块中,在首次启动时,将static/enum.json内的数据写入数据库,以实现字典系统的增删改查。
本项目的字典系统除了自动收集外,还支持手动添加,所以自动收集的字典在Admin后台管理系统中显示系统内置标签,表示不可编辑不可删除字典系统

Released under the MIT License.