API接口

使用说明

接口类型 : HTTP
支持版本 : 触摸版本V4.0 以上
接口地址 : http://IP:8000/
以下示例IP均使用192.168.1.2

返回状态码说明
204POST/PUT/DELETE 操作成功, 无具体内容
200GET 成功, 内容为请求的数据
404文件不存在
400客户端错误, 内容为具体错误信息
500服务器错误, 内容为具体错误信息

基本

服务器是否运行

接口说明 : 获取触摸精灵状态(并非脚本的运行状态)
接口方法 : GET
接口地址 : http://192.168.1.2:8000/

参数类型
返回值类型说明
touchelfstring返回这个说明触摸正在运行
返回状态行说明
HTTP/1.1 200 OK成功

WEB远程UI界面

接口说明 : 远程访问触摸精灵界面
接口方法 : 浏览器访问
接口地址 : http://192.168.1.2:8000/ui

WEB远程操作界面

接口说明 : 远程操作设备
接口方法 : 浏览器访问
支持版本 : 触摸版本V7.0 以上
接口地址 : http://192.168.1.2:8000/control

触摸精灵相关

获取应用状态

接口说明 : 获取触摸精灵及设备信息等状态
接口方法 : GET
接口地址 : http://192.168.1.2:8000/api/app/state

返回状态行说明
HTTP/1.1 200 OK成功

返回值:

{
  "app": {
    "version": "触摸精灵版本号",
    "license": "到期时间"
  },
  "script": {
    "select": "当前选择脚本",
    "running": "是否运行中"
  },
  "system": {
    "os": "ios或android",
    "name": "设备名称",
    "sn": "设备串号",
    "ip": "设备IP地址",
    "battery": "设备电量",
    "log": "最后一条日志"
  }
}

注册

接口说明 : 使用触摸激活码解除半小时限制
接口方法 : POST
接口地址 : http://192.168.1.2:8000/api/app/register

参数类型说明
codestring16位注册码
返回状态行说明
HTTP/1.1 204 OK成功

参数示例:

{
    "code":"xxxxxxxxxxxxxxxx"
}

设置

接口说明 : 修改触摸精灵设置
接口方法 : PUT
接口地址 : http://192.168.1.2:8000/api/config

参数类型说明
cloudobject广域网设置
enablebool广域网开关
addressstring广域网网址
notify_stopbool脚本停止提示框开关
返回状态行说明
HTTP/1.1 204 OK成功

PUT参数示例:

{
    "cloud": {
        "enable": true,
        "address": "ws://192.168.1.100:3000"
    },
    "notify_stop": false
}

脚本相关

获取脚本列表

接口说明 : 获取脚本列表
接口方法 : GET
接口地址 : http://192.168.1.2:8000/api/script

返回状态行说明
HTTP/1.1 200 OK成功

返回:

["脚本1", "脚本2"]

运行脚本

接口说明 : 运行脚本
接口方法 : POST
接口地址 : http://192.168.1.2:8000/api/script/<脚本名>/run

参数类型
脚本名string
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 404 OK失败 (脚本不存在)

示例

http://192.168.1.2:8000/api/script/evan.tepe/run

停止脚本

接口说明 : 停止脚本
接口方法 : POST
接口地址 : http://192.168.1.2:8000/api/script/stop

参数类型说明
返回状态行说明
HTTP/1.1 204 OK成功

加密脚本

接口说明 : 将tep格式脚本加密为tepe
接口方法 : POST
接口地址 : http://192.168.1.2:8000/api/script/<脚本名>/encrypt

参数类型说明
scriptstring脚本的名字
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 404 OK失败 (脚本不存在)

示例

http://192.168.1.2:8000/api/script/evan.tepe/encrypt

获取脚本

接口说明 : 下载脚本
接口方法 : GET
接口地址 : http://192.168.1.2:8000/api/script/<脚本名>

参数类型说明
脚本名string要获取的脚本名
返回值类型说明
文件数据arraybuffer
返回状态行说明
HTTP/1.1 200 OK成功
HTTP/1.1 404 OK失败(文件不存在)
HTTP/1.1 400 OK失败(缺少参数)

更新脚本

接口说明 : 上传脚本
接口方法 : PUT
接口地址 : http://192.168.1.2:8000/api/script/<脚本名>

参数类型说明
脚本名string要更新的脚本名
请求数据类型说明
Content-Lengthnumber脚本数据长度
data 文件数据
返回值类型说明
返回状态行说明
HTTP/1.1 204 OK成功

删除脚本

接口说明 : 删除脚本
接口方法 : DELETE
接口地址 : http://192.168.1.2:8000/api/script/<脚本名>

参数类型说明
脚本名string要删除的脚本名
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 404 OK失败(脚本不存在)

系统相关

获取日志

接口说明 : 获取日志
接口方法 : GET
接口地址 : http://192.168.1.2:8000/api/system/log?last=n
返回值 :

参数类型说明
lastnumber返回日志的最后n行
返回值类型说明
日志内容string
返回状态行说明
HTTP/1.1 200 OK成功

示例:返回最后10行日志

http://192.168.1.2:8000/api/system/log?last=10

删除日志

接口说明 : 删除日志
接口方法 : DELETE
接口地址 : http://192.168.1.2:8000/api/system/log

返回状态行说明
HTTP/1.1 204 OK成功

重启设备

接口说明 : 重启设备
接口方法 : POST
接口地址 : http://192.168.1.2:8000/api/system/reboot
返回值 :

参数类型说明
返回状态行说明
HTTP/1.1 204 OK成功

注销设备

接口说明 : 注销设备
接口方法 : POST
接口地址 : http://192.168.1.2:8000/api/system/respring

参数类型说明
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 403 OK失败 (安卓不支持)

屏幕相关

获取截图

接口说明 : 获取截图
接口方法 : GET
接口地址 : http://192.168.1.2:8000/api/screen/snapshot

参数类型说明必填
formatbmp/png截图格式非必填,默认为bmp格式
scalenumber缩放比例(0-100)非必填,默认为100
ltxnumber截图区域左上角的X坐标非必填,默认全屏
ltynumber截图区域左上角的Y坐标非必填,默认全屏
rbxnumber截图区域右下角的X坐标非必填,默认全屏
rbynumber截图区域右下角的Y坐标非必填,默认全屏
返回值类型说明
图片数据arraybuffer
返回状态行说明
HTTP/1.1 204 OK成功

返回一个png图片,缩放比例为50

http://192.168.1.2:8000/api/screen/snapshot?format=png&scale=50

返回一个区域图片

http://192.168.1.2:8000/api/screen/snapshot?format=png<x=100<y=100&rbx=200&rby=200

触摸相关

手指按下

接口说明 : 手指按下
接口方法 : POST
数据类型 : JSON
接口地址 : http://192.168.1.2:8000/api/touch/down

参数类型说明
fingernumber手指ID
xnumber坐标x
ynumber坐标y
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 400失败[错误信息]

参数示例:

{
  "finger": 1,
  "x": 100,
  "y": 100
}

手指移动

接口说明 : 手指移动
接口方法 : POST
数据类型 : JSON
接口地址 : http://192.168.1.2:8000/api/touch/move

参数类型说明
fingernumber手指ID
xnumber坐标x
ynumber坐标y
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 400失败[错误信息]

参数示例:

{
  "finger": 1,
  "x": 100,
  "y": 100
}

手指抬起

接口说明 : 手指抬起
接口方法 : POST
数据类型 : JSON
接口地址 : http://192.168.1.2:8000/api/touch/up

参数类型说明
fingernumber手指ID
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 400失败[错误信息]

参数示例:

{
  "finger": 1
}

按键相关

按键按下

接口说明 : 按键按下
接口方法 : POST
数据类型 : JSON
接口地址 : http://192.168.1.2:8000/api/key/down

参数类型说明
codestring按键码
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 400失败[错误信息]

参数示例:

{
  "code": "home",
}

按键抬起

接口说明 : 按键抬起
接口方法 : POST
数据类型 : JSON
接口地址 : http://192.168.1.2:8000/api/key/up

参数类型说明
codestring按键码
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 400失败[错误信息]

参数示例:

{
  "code": "home",
}

文件相关

说明: 此类 API 都必须提供一个 path 参数, 值为从/var/touchelf/目录开始的文件路径

文件列表

接口说明 : 文件列表
接口方法 : GET
接口地址 : http://192.168.1.2:8000/api/file?path=/scripts

参数类型说明
pathstring从/var/touchelf目录开始的目录路径
返回值类型说明
文件列表application/jsonjson格式
返回状态行说明
HTTP/1.1 200 OK成功
HTTP/1.1 404 OK失败(目录不存在)
HTTP/1.1 400 OK失败(缺少参数)

示例:

[
  {
    "name": [文件a名],
    "type": [文件a类型: dir/file]
  },
  {
    "name": [文件b名],
    "type": [文件b类型: dir/file]
  },
  ...
]

下载文件

接口说明 : 下载文件
接口方法 : GET
接口地址 : http://192.168.1.2:8000/api/file?path=/scripts/a.lua

参数类型说明
pathstring从/var/touchelf目录开始的文件路径
返回值类型说明
文件数据arraybuffer
返回状态行说明
HTTP/1.1 200 OK成功
HTTP/1.1 404 OK失败(文件不存在)
HTTP/1.1 400 OK失败(缺少参数)

上传文件

接口说明 : 上传文件
接口方法 : PUT
接口地址 : http://192.168.1.2:8000/api/file?path=/scripts/a.lua

参数类型说明
pathstring从/var/touchelf目录开始的文件路径
请求数据类型说明
Content-Lengthnumber文件长度
data 文件数据
返回值类型说明
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 404 OK失败(父目录不存在)
HTTP/1.1 400 OK失败(缺少参数)

创建目录

接口说明 : 创建目录
接口方法 : PUT
接口地址 : http://192.168.1.2:8000/api/file?path=/scripts/a&directory

参数类型说明
pathstring从/var/touchelf目录开始的文件路径
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 400 OK失败(缺少参数)

删除文件/目录

接口说明 : 删除文件/目录
接口方法 : DELETE
接口地址 : http://192.168.1.2:8000/api/file?path=/scripts/a.lua

参数类型说明
pathstring从/var/touchelf目录开始的文件路径
返回状态行说明
HTTP/1.1 204 OK成功
HTTP/1.1 400 OK失败(缺少参数)
HTTP/1.1 404 OK失败(文件不存在)