DMS支持数据字典的快速开发。开发接入有两种:**托管方式**与**自定义方式**。
* **托管方式**
指将数据全部交由数据字典功能进行管理,并且提供管理页面,你只需要提供一个授权参数,就可以获取到数据的增删改查。
托管方式只需要建立一个路由地址,然后通过路由地址进行访问就可以了。将第一个参数改成你的访问地址,然后设定category的值,和columns值即可(注意这里不要和自定义方式搞混,第二个参数地址是autodictionary):
```
Route::rule('sys/dictself', 'sys.Dictionary/autodictionary', 'GET|POST|PUT|DELETE')->append([
"category" => "ut",
"columns" => "列1,列2",
"mname" => "sys",
"sort"=>1,
"description"=>"字典内容介绍"
]);
```
> `category`参数值即为数据字典标识,请确保该标识为全局唯一,否则可能会相互覆盖。建议使用`模块+字典数据类别名称`做标识。
> `columns`参数值即为数据内容的分列,以逗号“,”分隔,可以使用中文,但是使用的时候需要使用`{$item["数据"]}`的方式。为空则默认提供一个value列。
> `mname`参数值表示当前请求的功能块名称。
> `sort`参数值表示是否开启自定义排序功能,大于1时会在维护表多出一个排序列,输入数字可进行排序。
> `description`内容简介,用于输出数据字典说明。
获取数据使用api方法,`public function getValue(string $identity);`或`public function getValues(string $identity);`更多方法可查看:\framework\core\service\api\DictionaryService
* **自定义数据字典**
指开发人员自定义数据字典表,系统提供管理页面,在页面的展示、改,查,删的时候会有事件会发给开发人员,通过订阅事件进行相应的操作(订阅事件请点这里查看)。user_type就是使用这种方式对接的。
> 下面我们来详细讲解一下自定义数据字典:
首先定义一个为托管页做一个路由地址,只需要将第一个参数改成你的访问地址,然后设定category的值即可:
```
Route::rule('sys/dictself', 'sys.dictionary/selfdictionary', 'GET|POST|PUT|DELETE')->append([
"category" => "ut"
]);
```
> category参数值即为数据字典标识,请确保该标识为全局唯一,否则可能会相互覆盖。建议使用`模块+字典数据类别名称`做标识。
>然后,定义相关事件对接处理逻辑。总共有4个事件,它们是:
* **on[$Category]DictionaryGet**
数据查询的处理接口。参数$identification,标识号,其实就是category值。
* **on[$Category]DictionaryAdd**
数据添加的处理接口。参数$param,数组,$param["data"]存储有用户提交过来的数据。
* **on[$Category]DictionaryEdit**
数据修改的处理接口。参数$param,数组,$param["data"]存储有用户提交过来的数据。注意这里支持批量修改,所以$param["data"]有可能是多个数据行。
* **on[$Category]DictionaryDelete**
数据删除的处理接口,参数$id,表示提交过来的标识号。
> 其中**[$Category]**的内容就是你提供的category参数值,该名称也是首字母大些的驼峰命名法。
代码中需要使用数据可使用api方法,`public function getValue(string $identity);`或`public function getValues(string $identity);`
- 序言
- 基础
- 开发规范
- 架构说明
- 总览
- 中间件
- 事件
- 功能控制台
- 场景事件驱动
- 异常提醒
- 应用功能接口(Api)
- 内置服务
- 框架服务
- 场景驱动控制器
- 事件驱动逻辑
- 逻辑申明
- 消息队列
- 事件系统
- 钩子挂件
- 账户管理服务
- 权限管理服务
- 日志服务
- 数据字典服务
- 功能控制服务
- 中后台服务
- workdesktop
- 导航菜单
- 登录态接入
- 欢迎页
- 站内信
- 附件服务
- 托管
- 自定义上传
- 设置标签
- 文件检索
- 资源公开
- 报表服务
- 报表易生成
- 报表导出
- 数据导入
- 信息回收服务
- 查询手册
- 路由
- 控制器
- 逻辑层
- 模型
- 模板
- 标签库
- 资源引用
- 配置
- 权限
- 菜单
- 功能包
- 前端框架
- api服务
- AccountService
- Authorization
- DataCrypt
- EventLog
- LoginState
- 工具类
- 更新日志