ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
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);`