EASY-DT

获取数据


[
    {
        "name": "拣选",
        "list": [
            0, 0, 0, 0, 0, 0, 0, 0, 256, 6049, 5684, 3008
        ],
        "latest_count": 4862
    },
    {}
]
格式常常无法预料:加组件 or 不支持

static Object execute(){
    def template_context = get("template_context");
    def sql = template_context.get("sql");
    def datasource = template_context.get("datasource");
    // 
}
static void mock(){
    // 
}
可能的一种实现方式
       1.通过HSF接口获取数据                         1、参数传递                      
                                                     2、统一的编译、发布功能          
 +-----------+         +-----------+                 3、统一的高亮、提示、自动补全功能
 |    APP    |---------|   EASYDT  |                                                  
 +-----------+         +-----+-----+                                                  
                             |                                                        
                       +-----+-----+                                                  
                       |   CLASS   |                                                  
                       +-----+-----+                                                  
                             |                                                        
                       +-----+-----+        +-----------+                             
                       |  OSS/LDB  |--------|    APP    |                             
                       +-----------+        +-----------+                             
                                                                                      
                              2.拿到CLASS在业务应用中执行                             

展示数据

组件关联



@input(name="warehouse")
@input(name="owner")
    @on(target="warehouse" type="change")
        // 1. 请求接口获取数据
        // 2. 更新组件自生的数据
        // 3. 刷新展示

仓库发生变化时更新货主列表

定义组件



@import(
    'bootstrap.css' // 依赖的CSS文件(需要的时候也可以加JS)
)
@component
    this.width = '10px'; // 一些默认的数据

    @render  // 在render下定义渲染(有点像JSX吧)
        
    for(i in items){
  • ${items[i]}
  • }

最终会生成@init@render方法

生成代码



	create("div");
	attr("class","control-group span8");
	push();
	create("label");
	attr("class","control-label");
	push();
	create(null, ("供应商编码:"));
	pop();
	create("div");
	attr("id","s1"+this.name);
	attr("class","controls");
	push();
	pop();
	pop();

前端




后端



@input(label="xxx" name="xxx") // 使用组件 @input(label="xxx" name="xxx") // 使用组件 @input(label="xxx" name="xxx") // 使用组件

加工数据

olap vs stream
Jstorm仅仅只能用来做数据加工?
Thank You