爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • TaskRunner帮助主页
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
      • 1. 执行Cmd
      • 2. 执行PowerShell
      • 3. 获取表达式的值
      • 4. 执行自定批处理程序
      • 5. 执行自定程序
      • 6. 执行工作流
      • 7. 执行自定RestAPI
        • 7.1. 参数获取
        • 7.2. 流获取
        • 7.3. 引用数据库设置
      • 8. 获取打印机列表
      • 9. 运行Python任务
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 公共单元
    • 工作流
    • 运行卫士
    • 自定报表
    • 自动化作业
    • 控件使用
    • 函数程序

  • 开发手册

目录

RestAPI说明

# TaskRunner RestAPI说明

  以下对 TaskRunner 使用的 RestAPI 进行说明。

# 1. 执行Cmd

  • 请求地址:
http(s)://${host}:${port}/?restapi=script&syntaxtype=cmd
1

  在请求体的地址中,syntaxtype 的参数为 cmd 时,将文本或文件中的文本以 cmd 的方式进行处理。

  • 请求体格式:text/plain

  • 请求体:批处理文本的内容。

  • 请求示例:

echo
:结束进程
taskkill /im TARS.exe /f
 :等待1秒
ping 127.0.0.1 -n 1
start "" "C:\Program Files\IsoFace\TARS\TARS.exe"
echo
1
2
3
4
5
6
7
  • 返回示例:如果返回的示例中包含 {"status": "ok","message": "执行耗时 xx 毫秒"},则批处理语句已执行在目标主机上。

# 2. 执行PowerShell

  • 请求地址:
http(s)://${host}:${port}/?restapi=script&syntaxtype=powershell
1

  在请求体的地址中,syntaxtype 的参数为 powershell 时,将文本或文件中的文本以 powershell 的方式进行处理。

  • 请求体格式:text/plain

  • 请求体:批处理文本的内容。

  • 请求示例:

# 指定目录位置
$directory = "E:\setup"
# 指定文件名
$filename = "test.txt"
# 指定文件内容
$content = "hello world"
# 创建完整的文件路径
$filePath = Join-Path -Path $directory -ChildPath $filename
# 创建目录(如果不存在)
if (-not (Test-Path -Path $directory)) {
    New-Item -ItemType Directory -Path $directory
}
# 创建并写入文件内容
Set-Content -Path $filePath -Value $content
# 输出文件创建成功消息
Write-Output "file created:$filePath"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  • 返回示例:如果返回的示例中包含 {"status": "ok","message": "执行耗时 xx 毫秒"},则批处理语句已执行在目标主机上。

# 3. 获取表达式的值

  • 请求地址:
http(s)://${host}:${port}/?restapi=script&evaluate=${param_name}&responsecontenttype=${content_type}&syntaxtype={syntaxtype}
1

  其中${param_name}为要获取的变量的名称。responsecontenttype=${content_type} 部分用于填写预期返回的值的内容类型,此参数不是必选项,在不填写时默认使用 text/plain。{syntaxtype} 中设置输入的表达式的语法类型,可选 jscript、pascalscript。

  • 请求体格式:text/plain

  • 请求体:JScript、PascalScript的程序内容。

  • 请求示例:

var s;
{
  s = "Hello, TaskRunner!";
  var ss="TaskRunner!";
}
1
2
3
4
5

注意

  请不要在非调试阶段的程序中使用消息弹出语句(比如ShowMessage()),否则会导致发出的Rest请求无法得到响应。

  • 返回示例:返回的示例为 ss 的取值 TaskRunner,content-type 为默认使用的类型text/plain。

# 4. 执行自定批处理程序

  • 请求地址:
http://${host}:${port}/?restapi=script&taskname=${batch_file_name}
1

  通过执行自定程序列表中的批处理自定程序实现运行。${batch_file_name} 为指定的批处理自定程序的名称。

# 5. 执行自定程序

  • 请求地址:
http(s)://${host}:${port}/?restapi=script&taskname=${filename}&evaluate=${param_name}&responsecontenttype=${content_type}
1

  通过执行自定程序列表中的 JScript、PascalScript 的自定程序实现程序运行。其中${filename}为要获取的JScript、PascalScript自定程序名称。${param_name}为要获取的变量的名称。responsecontenttype=${content_type} 部分用于填写预期返回的值的内容类型,此参数不是必选项,在不填写时默认使用 text/plain。编写的程序中不要带有消息弹出框类型的语句(比如ShowMessage()),否则会导致发出的Rest请求无法得到响应。

# 6. 执行工作流

  • 请求地址:
http(s)://${host}:${port}/?restapi=workflow
1
  • 请求方法:POST

  • 请求体:

Body:
{
  "name": "BPM001",
  "params": [
    {
      "name": "Var1",
      "value": "123"
    }
  ]
}
1
2
3
4
5
6
7
8
9
10

请求体中的参数说明如下:

  • name:要执行的工作流的名称。
  • params:执行的工作流的参数信息。如果执行的工作流不需要通过呼叫的方式引用参数,则此项可不设置。如果使用了此项,则引入的参数值必须先在工作流的变量中定义好。

# 7. 执行自定RestAPI

  在RestAPI中设置了接口相关的信息后,可以通过以下方式来执行自定RestAPI。

  • 请求地址:
http(s)://${host}:${port}/?restapi={restapi_name}&token={token}&param1={param1}...
1

  其中 {restapi_name} 为设置的接口名称。{token} 为令牌。如未设置令牌,此项可不填写。 {param1} 等为根据需要设定的参数,在RestAPI接口中可获取。

# 7.1. 参数获取

  TaskRunner包含UgParams对象,该对象存储了接收到的请求使用的参数,按照请求参数的排序生成对应的数组。也可以直接引用参数的名称获取对应参数的取值。

//JScript
//获取的参数在URLParams中,以index方式获取,从0开始
String = UgParams.ValueFromIndex[i];

//以参数名为依据获取
String = UgParams.Values["ParamsName"];
1
2
3
4
5
6

# 7.2. 流获取

  当使用Post方法进行RestAPI调用时,获取到的Body流信息会存储在PostStream中,比如一些JSON信息,供函数处理调用。以下是将流中的数据转换为文本的方法,转换后的文本在 s 变量中,可供处理使用。

//JScript
function RestAPI()
{
    var Stream,s;
    Stream = new TStringStream("",UTF8Encoding);
    try{
        Stream.LoadFromStream(PostStream);
        s = Stream.DataString;
        Result = s;
    }
    finally{
        Stream.Free;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 7.3. 引用数据库设置

  如需连接数据库,或引用SQL预设资料中的信息,需在数据库设置中提前设置好连接信息 FastERP,并且在SQL预设资料中设定配置 SQL002,在RestAPI设置中可使用以下方式连接:

function RestAPI()
{
  var DB,D,V,O;
  D = new TFDQuery(nil);
  //使用数据库设置的连接
  DB = UGMM.GetDBConnection("FastERP");
  D.Connection = DB;
  //使用预设SQL
  D.SQL.Text = UGMM.GetSQL("SQL002");
  D.Open;
  //数据集转换
  V = TFDQuery(D).ToJSONArray;
  O = new TJSONObject();
  O.AddPair("status","ok");
  O.AddPair("message","success");
  O.AddPair("records",TJSONNumber.Create(D.RecordCount));
  O.AddPair("data",V);
  return(O.ToString);
  D.Free;
  DB.Free;
  V.Free;
  O.Free;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 8. 获取打印机列表

  • 请求地址:
http(s)://${host}:${port}/?restapi=getprinterlist
1

  获取打印机列表信息,此功能用于配合自定报表功能使用,用于指定自定报表打印时使用的打印机。获取的示例格式如下:

{"status":"ok",
"data":[
    {"name":"\u5BFC\u51FA\u4E3AWPS PDF"},
    {"name":"OneNote for Windows 10"},
    {"name":"Microsoft XPS Document Writer"},
    {"name":"Microsoft Print to PDF"},
    {"name":"Fax"}
]}
1
2
3
4
5
6
7
8

# 9. 运行Python任务

  • 请求地址:
http(s)://${host}:${port}/?restapi=pythonscript&pyid={pyid}&varname={varname}&varvalue={varvalue}
1

  其中 {pyid} 为预设资料(资料类型为python)的编号。{varname} 为python输入变量的名称。{varvalue} 为python输入变量的的取值。

  这个接口的作用是从预设资料的Python脚本中创建运行任务,排入运行队列中,当排入至运行队列后,会返回提示信息,运行队列中的任务会按照请求的先后顺序依次进行执行。

预设资料
WebSocket说明

← 预设资料 WebSocket说明→

Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式