业务对象

1.1 业务对象功能介绍

为了更好的支持业务组件,让业务组件能够在PaaS平台更加轻松的搭建出来,我们提供了一个统一的对象入口,便于在设计器中使用

1.1 业务对象接口的元数据

  • 说明: 描述业务对象的接口,用来获取业务对象字段以及此对象下服务
  • 请求方式: get
  • 参数: token(headers)
  • 返回: Json

接口定义的元数据描述及解释

{
    "code": 0, //请求返回的code,0为成功
    "msg": "ok", //请求的信息
    "object": { // 对象的API接口返回
        "fields": [
            {
                "name": "id",  // 对象字段的名称(英文)
                "type": "Text", // 对象字段类型,enum('Text','Img','Radio','Checkbox','DateTime','Date','Time','Bool','RichText','ObjectArray','ImageArray'),区分大小写
                "title": "id", // 对象字段的中文名称
                "isRequired": true, // 对象字段是否必须
                "isParam": true, // 跳转的传递参数
                "paramAlias": "proj_id" // 可选参数,当这个作为跳转的传递参数的时候,替换为设置的别名,
                "children": [
                    {
                      "name": "children1", 
                      "type": "数组元素1",
                      "title": "id", 
                      "isRequired": true,
                      "isParam": true, 
                      "paramAlias": ""                  
                     },
                     {
                       "name": "children2", 
                       "type": "img",
                       "title": "数组元素2", 
                       "isRequired": true,
                       "isParam": true, 
                       "paramAlias": ""                  
                      }
                
                ] //如果type类型为 OjectArray,则需要有children(嵌套数据)
            }
            // .......
        ]
    }
}

接口元数据的分页情况下的demo

{
	"code": 0,
	"msg": "success",
	"object": {
		"fields": [{
			"name": "id",
			"type": "Text",
			"title": "id",
			"isRequired": true,
			"isParam": true,
			"paramAlias": "activityId"
		}, {
			"name": "corp_id",
			"type": "Text",
			"title": "所属公司",
			"isRequired": false,
			"isParam": false,
			"paramAlias": ""
		}, {
			"name": "name",
			"type": "RichText",
			"title": "活动名称",
			"isRequired": true,
			"isParam": true,
			"paramAlias": ""
		}, {
			"name": "cover_url",
			"type": "Img",
			"title": "封面图片",
			"isRequired": false,
			"isParam": false,
			"paramAlias": ""
		}, {
			"name": "start_time",
			"type": "DateTime",
			"title": "活动开始时间",
			"isRequired": false,
			"isParam": false,
			"paramAlias": ""
		}, {
			"name": "enroll_start",
			"type": "Date",
			"title": "报名开始时间",
			"isRequired": false,
			"isParam": false,
			"paramAlias": ""
		}, {
			"name": "enroll_end",
			"type": "Time",
			"title": "报名截止时间",
			"isRequired": false,
			"isParam": false,
			"paramAlias": ""
		}, {
			"name": "hotline",
			"type": "Text",
			"title": "活动热线",
			"isRequired": false,
			"isParam": false,
			"paramAlias": ""
		}, {
			"name": "location",
			"type": "Checkbox",
			"title": "活动地点",
			"isRequired": false,
			"isParam": false,
			"paramAlias": ""
		}, {
			"name": "enroll_title",
			"type": "Bool",
			"title": "报名按钮名称",
			"isRequired": false,
			"isParam": false,
			"paramAlias": ""
		}, {
			"name": "external_url",
			"type": "ObjectArray",
			"title": "第三方报名地址",
			"isRequired": false,
			"isParam": false,
			"paramAlias": "",
			"children": [{
				"name": "inner_array",
				"type": "ObjectArray",
				"title": "嵌套数组",
				"isRequired": false,
				"isParam": false,
				"paramAlias": "",
				"children": [{
					"name": "testInner1",
					"type": "ObjectArray",
					"title": "测试嵌套1",
					"isRequired": false,
					"isParam": false,
					"paramAlias": ""
				}, {
					"name": "testInner2",
					"type": "Text",
					"title": "测试嵌套2",
					"isRequired": false,
					"isParam": false,
					"paramAlias": ""
				}]
			}, {
				"name": "test1",
				"type": "Text",
				"title": "测试1",
				"isRequired": false,
				"isParam": false,
				"paramAlias": ""
			}]
		}]
	}
}

需要在控制台声明业务对象服务,并选择对象服务支持的组件

业务对象服务params格式(拓展参数)

{ 
        "input": [ // 定义调用接口的入参,name在fields字段中要存在,表示入参参数名,from表示字段值的来源
                    {
                        "name": "id",
                        "from": "query", //[query,context,cookie,token,scope]
                        "required": true  // 标识参数是否必填。如果没有这个属性,则表示此参数不必填
                    },
                    {
                        "name": "cover_url",
                        "from": "query",
                        "required": false
                    }
                    // ...
                ],
        "output": {
            "codeName": "retCode",// 请求返回的code的参数的名称
            "successCodeValue": 0,// 请求成功的时候的值。非此值则表示失败
            "msgName": "", // 请求返回的message的名称, 为空表示没有
            "dataPath": "data",// 返回的对象数组的键名。未分页时应只有一级
            "totalPath": ""// 分页list返回时,对象总数量的键名。未分页时为空
        },
        "headers": [ // 请求的头信息
            {
                "name": "AUTHORIZATION",
                "from": "token"
            }
            // .....
        ],
         "pagination": {// 当存在分页的时候,定义分页的参数名和分页大小的参数名,不在input中定义
              "pageName": "page",
              "pageSizeName": "pageSize"
         }
}