字典系统
更新: 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:dev或npm 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后台管理系统中显示系统内置标签,表示不可编辑和不可删除: 
