@Wahson
2017-07-09 15:13
字数 1322
阅读 965
周报
- 前端
- 元数据应用--员工管理模块开发完成
- 使用react重构
<h2-grid />
、<h2-widget />
- grid layout应用到
<h2-domain-query />
、<h2-form />
- 元数据下沉idl初步设计
- 元数据idl设计
- 元数据数据库定义
- 元数据查询接口设计与开发
- 元数据组件文档整理
idl表达元数据初稿:
DemoService {
struct QueryRequest {
@props( ref = "metadb.staffs.field1" ) int field1,
@props( ref = "metadb.staffs.field2" ) optional string field2,
}
struct QueryResponse {
@props( ref = "metadb.staffs.field3", editable=false ) int field3,
@props( ref = "metadb.staffs.field4", editable=false ) optional string field4,
}
@query
QueryResponse query(request: QueryRequest, pageRequest: PageRequest)
@action( id="demo-delete", scope="field", name="删除", operType=1, modelSrc="" )
void delete(id: Int)
@action( id="demo-add", scope="domain", name="添加", operType=2 )
void add(request: DemoRequest)
}
// 说明
1. scope: action的范围,domain | field
2. @props:ref指定字段配置所在的数据库位置,可以配置添加或者覆盖属性值。
3. @action:自动根据接口入参和出参,添加formMeta,formMeta中的fields定义来源于入参出参中实体的field定义。
// ----------
// 元数据查询接口定义
MetadataService {
DomainMeta getDomainMeta(domainName:string,version:String)
FieldMeta getFieldMeta(domainName:String,fieldName:String)
ActionMeta getActionMeta(domainName:String, actionName:String)
FormMeta getFormMeta(domainName:String,actionName: String)
}
// 考虑: 一个domain有多个service,如何处理 ???
员工管理代码地址:http://git.oa.isuwang.com/isuwang-com/kuaisuadmin/tree/metadata/src/main/webapp/metadata
isuwang-meta地址:http://git.oa.isuwang.com/lianghuasheng/isuwang-meta