DatistEQ之WebAPI节点扩展说明
新版DatistEQ中,提供了一种快捷的WebAPI扩展方式,通过配置信息创建节点。这种方式,将各类计算资源连接起来,形成应用生态。同时,最大限度地对开发者进行解耦,保护各个开发的权益。
节点说明信息
NodeId,节点唯一的编号,非常关键,用于区分节点。
Name,节点的名称。
ScriptFile,WebAPI的URL地址。
GroupName,工具箱中的分组。
SubGroupName, GroupName的子分组。
Series,算法组标记,即一个节点对应于多个API。
Author,作者信息。
SystemToolTip,节点提示信息。
Version,节点版本号。
输入参数信息
InputFields,WebAPI运行的参数和前节点数据需求。
Type:定义参数的类型,支持int, real, bool, text, datetime, color, flags, enum, dbfield, file。
Parameters:指定类型必须的参数。
Name:定义参数的名称。
Title:指定参数的显示的名称。
DefaultValue:指定参数的默认值。
Rule:指定数据校验规则。如 val >10 && val <100?'':'数值必须界于10~100之间'
Description:指定参数的描述信息。
GroupName:指定参数分组信息。
输出参数信息
OutputFields:定义输出字段的信息。
Name:定义输出字段的名称。
Type:定义输出字段的类型,支持int,real,text,bool,datetime和blob。
特殊输入参数类型说明
输入参数与编辑器中的对话框对应。
datetime,对应于日期选择框。
color,对应于颜色选择选择框,颜色值为以十六进制字符表示,#FFFFFFFF。
flags,对应于多选框,需要在Parameters中指定枚举参数,如a,b,c。
enum,对应于下拉框,需要在Parameters中指定枚举参数,如a,b,c。
dbfield,对应于前节点的字段。Parameters参数可以用于限定数据类型。
file,对应于文件选择对话框。
示例:
示例
示例代码:
[
{
"NodeId": "bcX1",
"ScriptFile": "http://139.217.82.132:5051/Plot_contour",
"GroupName": "地震云",
"SubGroupName": "重力",
"Author": "bc",
"SystemToolTip": "第一个测试案例",
"Version": "20210427",
"Name": "contour",
"InputFields": [
{
"Name": "x",
"Title": "经度(度)",
"Type": "dbfield",
"Parameters": null,
"GroupName": "数据",
"Description": "经纬度数据"
},
{
"Name": "y",
"Title": "纬度(度)",
"Type": "dbfield",
"Parameters": "Integer,Real,Text",
"GroupName": "数据",
"Description": "经纬度数据"
},
{
"Name": "value",
"Title": "高程(m)",
"Type": "dbfield",
"Parameters": "Text",
"GroupName": "数据",
"Description": "高程数据"
},
{
"Type": "text",
"Name": "title",
"DefaultValue": "Contour",
"Parameters": null,
"Rule": null,
"Title": "标题",
"Description": "标题项",
"GroupName": "坐标轴"
},
{
"Type": "text",
"Name": "xlabel",
"DefaultValue": "x",
"Parameters": null,
"Rule": null,
"Title": "横轴标签",
"Description": "横轴标签",
"GroupName": "坐标轴"
},
{
"Type": "text",
"Name": "ylabel",
"DefaultValue": "y",
"Parameters": null,
"Rule": null,
"Title": "纵轴标签",
"Description": "纵轴标签",
"GroupName": "坐标轴"
},
{
"Type": "text",
"Name": "color",
"DefaultValue": "jet",
"Parameters": null,
"Rule": null,
"Title": "颜色",
"Description": "Color属性测试",
"GroupName": "绘图"
}
],
"OutputFields": [
{
"Name": "Name",
"Type": "text"
},
{
"Name": "Data",
"Type": "blob"
},
{
"Name": "StreamType",
"Type": "text"
}
]
}
]
特殊的返回类型,文件流,需包括Name、Data及StreamType字段,Size为可选项。
{
"Name": "Name",
"Type": "text"
},
{
"Name": "Data",
"Type": "blob"
},
{
"Name": "StreamType",
"Type": "text"
} ,
{
"Name": "Size",
"Type": "int"
}
注:
WebAPI节点,会自动添加一个本地数据设置组,指定是否运用本地数据运行。
Series:
多个API组
Rule:指定数据校验规则。如 val >10 && val <100?'':'数值必须界于10~100之间'
Rule
参考文献:
https://sharpscript.net/docs/scripts-reference?nameContains=&tab=default-scripts