[关闭]
@Wahson 2017-12-06T11:52:22.000000Z 字数 5029 阅读 1272

Thrift元数据定义

工作


方法 (Method)

  1. DemoService {
  2. QueryResponse query(QueryRequest request , pageRequest: PageRequest)
  3. (m.form.url="/query.do")
  4. list<TDemo> queryDemos(TRequest request)
  5. (m.form.url="/queryDemos.do")
  6. // 此处参数的元数据会默认:m.required="true" m.editable="true"
  7. void delete(i32 id (m.element="xxx-ele"))
  8. (m.type="entity-action", m.id="demo-delete", m.name="删除", m.operType="1")
  9. void add(request: DemoRequest)
  10. (m.type="domain-action", m.id="demo-add", m.name="添加", m.operType="2" )
  11. }
注释key 对应元数据字段 取值 描述
m.type domain-action, entity-action domain-action:domain作用域的操作,比如添加记录,entity-action:实体作用域的操作,比如删除或修改一个记录
m.id ActionMeta.actionId 默认值:方法名称 操作id,建议跟权限名相同
m.name ActionMeta.actionName 操作名称
m.operType ActionMeta.operType "1":直接表单提交,"2":弹窗
m.modelSrc ActionMeta.modelSrc
m.group ActionMeta.group 操作分组
注释key 对应元数据字段 取值 描述
m.form.confirm FormMeta.confirm 表单提交前的确认提示
m.form.title FormMeta.title 表单页面的标题
m.form.url FormMeta.url 表单提交的url,与前端controller对应
m.form.hideSubmitBtn Form.hideSubmitBtn "true" or "false",缺省值:"false" 表单中是否隐藏默认的保存按钮

实体 (Struct)

注释key 对应元数据字段 取值 描述
m.name FieldMeta.name 应与实体字段名相同 字段名,如“orderNo”
m.label FieldMeta.label 字段名,如“订单号”
m.required FieldMeta.required 是否必填
m.mutil FieldMeta.mutil 是否多选
m.editable FieldMeta.editable 是否可编辑
m.validate FieldMeta.validate 是否需要校验
m.visible FieldMeta.visible 界面是否可见,仅对表单中的字段有效
m.element FieldMeta.element ui元素,缺省时,提供默认ui:h2-text
m.format FieldMeta.format 显示格式,用于日期显示,如“yyyy-MM-dd”
m.length FieldMeta.length 字符长度
m.maxLength FieldMeta.maxLength string允许的最大长度
m.minLength FieldMeta.minLength string允许的最小长度
m.regexp FieldMeta.regexp 正则匹配
m.prompt FieldMeta.prompt 校验失败时的提示语,如“请输入备注”
m.min FieldMeta.min 数字最小值
m.max FieldMeta.max 数字最大值
m.placeholder FieldMeta.placeholder placeholder
m.candidates FieldMeta.candidates 候选值,下拉选项中的值,json串,如 "[{value: 1,label: '男'}, {value: 2,label: '女'}]"
m.candidateLabel FieldMeta.candidateLabel 组件显示字段名,针对下拉组件、radio-group组件等,“label”
m.candidateValue FieldMeta.candidateValue 组件值字段名,针对下拉组件、radio-group组件等,“value”
m.srcKey FieldMeta.srcKey 取值字段名

数据库定义

  1. CREATE TABLE `metadb`.`fields` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `struct_name` varchar(200) NOT NULL COMMENT '实体名',
  4. `name` varchar(50) NOT NULL COMMENT '字段名,如"orderNo"',
  5. `element` varchar(50) DEFAULT NULL COMMENT '替换元素,如 "paper-input" ',
  6. `label` varchar(50) NOT NULL COMMENT '字段名,如"订单号"',
  7. `required` smallint(1) NOT NULL DEFAULT '0' COMMENT '是否必填 1: 是 0:否',
  8. `mutil` smallint(1) NOT NULL DEFAULT '0' COMMENT '多否多选 1: 是 0:否',
  9. `format` varchar(50) DEFAULT NULL COMMENT '显示格式,用于日期显示,如“yyyy-MM-dd”',
  10. `editable` smallint(1) NOT NULL DEFAULT '0' COMMENT '是否可编辑 1: 是 0:否',
  11. `validate` smallint(1) NOT NULL DEFAULT '0' COMMENT '前是否需要校验, 1: 是 0:否',
  12. `length` int(11) DEFAULT NULL COMMENT '字符允许长度',
  13. `max_length` int(11) DEFAULT NULL COMMENT '允许最大长度',
  14. `min_length` int(11) DEFAULT NULL COMMENT '允许最小长度',
  15. `regexp` varchar(50) DEFAULT NULL COMMENT '正则匹配',
  16. `prompt` varchar(50) DEFAULT NULL COMMENT '校验失败时的提示语,如“请输入备注”',
  17. `min` int(11) DEFAULT NULL COMMENT '数字最小值',
  18. `max` int(11) DEFAULT NULL COMMENT '数字最大值',
  19. `candidates` varchar(1000) DEFAULT NULL COMMENT '下拉选项中的值,json串,如 [{value:1,label:"男"},{value:2,label:"女"}]',
  20. `candidate_label` varchar(50) DEFAULT NULL COMMENT '组件显示字段名,针对下拉组件、radio-group组件等,“label”',
  21. `candidate_value` varchar(50) DEFAULT NULL COMMENT '组件值字段名,针对下拉组件、radio-group组件等,“value”',
  22. `placeholder` varchar(50) DEFAULT NULL COMMENT 'placeholder',
  23. `src_key` varchar(50) DEFAULT NULL COMMENT '源字段名',
  24. `visible` smallint(1) NOT NULL DEFAULT '1' COMMENT '界面是否可见 1: 是 0:否',
  25. `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  26. `created_by` int(11) DEFAULT NULL,
  27. `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  28. `updated_by` int(11) DEFAULT NULL,
  29. `disabled` int(11) DEFAULT NULL,
  30. PRIMARY KEY (`id`),
  31. UNIQUE KEY `field_unique` (`struct_name`,`name`)
  32. ) ENGINE=InnoDB AUTO_INCREMENT=477 DEFAULT CHARSET=utf8 COMMENT='字段元数据';

Insert demo:
先执行(预计下次上生产)

  1. ALTER TABLE metadb.fields MODIFY COLUMN domain varchar(50) NULL COMMENT '领域,如orderdb(废弃)';
  2. ALTER TABLE metadb.fields MODIFY COLUMN entity varchar(50) NULL COMMENT '实体,如TOrder(废弃)';
  1. INSERT INTO metadb.fields (struct_name, name, element, label, required, mutil, format, editable, validate, length, max_length, min_length, `regexp`, prompt, min, max, candidates, candidate_label, candidate_value, placeholder, src_key, visible, created_at, created_by, updated_at, updated_by, disabled) VALUES ('com.isuwang.soa.order.domain.TWaybillStatisticsItem', 'totalWeight', '', '已对账总吨数', 0, 0, '', 0, 0, null, null, null, '', '', null, null, '', '', '', '', '', 1, '2017-07-25 16:12:09', null, '2017-10-26 15:23:46', null, null);
  1. TaskAdminService {
  2. task_domain.TTaskResponse findTasks(task_domain.TTaskRequest request)
  3. (m.form.url="/task/taskadmin/findTasks.do")
  4. task_domain.TTaskDetail findTaskDetailById(i32 id)
  5. void createTask(task_domain.TCreateTaskRequest request)
  6. (m.form.url="/task/taskadmin/createTask.do",m.type="domain-action",m.id="task_add",
  7. m.name="新增任务", m.operType="2", m.form.title="新增任务")
  8. void updateTask(task_domain.TUpdateTaskRequest request)
  9. (m.form.url="/task/taskadmin/updateTask.do",m.type="entity-action",m.id="task_update",
  10. m.name="编辑", m.operType="2", m.form.title="编辑任务")
  11. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注