Skip to main content

编辑器拓展接口

开放接口 是 AS APP 启动后 对外开放的接口

通过对外开放的接口,可以实现工程的管理,工程的运行停止.

可以实现第三方编辑器的插件开发

接口规范

host地址

host地址 为请求开放接口 的 基址.

它是一个http地址,有了它后才可以定位请求哪台机器的开放接口.

如何获得host地址?

    1. 首先需要您在手机等移动设备上安装 AS app
    1. host地址获取: AS App主页 - 开发者 - (局域网ip地址,或公网ip地址)
    1. 如上图中:

局域网ip:http://192.168.31.58:9096

公网ip:http://ide.airscript.cn/1/2/9096/

都可作为Host 地址,来请求 AS 开放接口

请求方式

Post/Get

开放接口中 Post 或 Get 形式都是支持的.

参数要求

Get,Post 形式中如出现特殊字符,或中文等情况.

请务必进行urlencode 处理.

数据返回

所有接口的返回数据格式均为json

  • 结构如下:
{
"code": 1,
"msg": "success",
"data": []/{}
}

  • 返回值说明
返回值必须备注
code必有接口成功返回1,其他值为失败
msg必有接口的处理结果信息
data必有每个接口的回执数据,有可能是一个class,或者是一个数组

工程管理

工程类的开放接口 ,可以实现工程的管理.

如通过接口,创建,删除,重命名,获取已创建的工程列表等功能.

创建

创建一个新的工程

  • 接口地址

host/api/model/create

  • 参数
参数必须备注
name必填工程的名称
  • 返回结果
{
"code": 1,
"msg": "success"
}

删除

删除一个AS工程

  • 接口地址

host/api/model/remove

  • 参数
参数必须备注
name必填要删除的工程名
  • 返回结果
{
"code": 1,
"msg": "success"
}

重命名

工程重命名

  • 接口地址

host/api/model/rename

  • 参数
参数必须备注
name必填目标工程名称
rename必填要替换的名称
  • 返回结果
{
"code": 1,
"msg": "success"
}

工程列表

获取所有已创建的工程

  • 接口地址

host/api/model/getlist

  • 参数

  • 返回结果
{
"code": 1,
"data": [{
"childs": [],
"ico": "/storage/emulated/0/airscript/model/888/res/img/logo.png",
"isFile": false,
"lastModified": 1685325500000,
"lastModified_format": "2023-05-29 09:58:20",
"length": 3488,
"length_format": "3.406KB",
"name": "888",
"path": "/storage/emulated/0/airscript/model/888"
}, {
"childs": [],
"ico": "/storage/emulated/0/airscript/model/测试log/res/img/logo.png",
"isFile": false,
"lastModified": 1685287188000,
"lastModified_format": "2023-05-28 23:19:48",
"length": 3488,
"length_format": "3.406KB",
"name": "测试log",
"path": "/storage/emulated/0/airscript/model/测试log"
}],
"msg": "success"
}
  • 返回值说明
返回值必须备注
ico必有工程的logo
lastModified必有最后一次更新的时间
lastModified_format必有格式化后的最后一次更新时间
length必有工程的大小,单位字节
length_format必有格式化后的工程大小
name必有工程的名称
path必有工程的文件路径

小程序

小程序接口,可以控制本地小程序的启停,打包,获取小程序源码文件列表 等操作

启动

启动一个本地小程序

  • 接口地址

host/api/model/run

  • 参数
参数必须备注
name必填本地小程序的名称

停止

停止当前运行的小程序

  • 接口地址

host/api/model/stop

  • 参数

小程序文件信息

获取小程序的详细信息,返回文件列表等信息

  • 接口地址

host/api/model/get

  • 参数
参数必须备注
name必填本地小程序名称
  • 返回结果
{
"code": 1,
"data": {
"childs": [{
"childs": [{
"childs": [{
"childs": [],
"isFile": true,
"lastModified": 1682498798000,
"lastModified_format": "2023-04-26 16:46:38",
"length": 2424,
"length_format": "2.367KB",
"name": "xcx.png",
"path": "/storage/emulated/0/airscript/model/a/res/img/xcx.png"
}],
"isFile": false,
"lastModified": 1682498798000,
"lastModified_format": "2023-04-26 16:46:38",
"length": 3488,
"length_format": "3.406KB",
"name": "img",
"path": "/storage/emulated/0/airscript/model/a/res/img"
}, {
"childs": [],
"isFile": false,
"lastModified": 1679888239000,
"lastModified_format": "2023-03-27 11:37:19",
"length": 3488,
"length_format": "3.406KB",
"name": "layout",
"path": "/storage/emulated/0/airscript/model/a/res/layout"
}],
"isFile": false,
"lastModified": 1679888239000,
"lastModified_format": "2023-03-27 11:37:19",
"length": 3488,
"length_format": "3.406KB",
"name": "res",
"path": "/storage/emulated/0/airscript/model/a/res"
}, {
"childs": [],
"isFile": true,
"lastModified": 1685328504000,
"lastModified_format": "2023-05-29 10:48:24",
"length": 3,
"length_format": "3.000B",
"name": "__init__.py",
"path": "/storage/emulated/0/airscript/model/a/__init__.py"
}],
"isFile": false,
"lastModified": 1682500673000,
"lastModified_format": "2023-04-26 17:17:53",
"length": 3488,
"length_format": "3.406KB",
"name": "a",
"path": "/storage/emulated/0/airscript/model/a"
},
"msg": "success"
}
  • 返回值说明
返回值必须备注
isFile必有是否是文件,false为文件夹,true为文件
lastModified必有最后一次更新的时间
lastModified_format必有格式化后的最后一次更新时间
length必有工程的大小,单位字节
length_format必有格式化后的工程大小
name必有文件的名称
path必有文件路径
childs必有如果包含子文件
则会出现数组数据,每一条数据就是一个子文件的详细描述

导出小程序

导出小程序包

  • 接口地址

host/api/model/export

  • 参数
参数必须备注
name必填本地小程序的名称
  • 返回

数据包文件

获取已安装的Python包

查询已安装的Python包

  • 接口地址

host/api/model/pip

  • 参数

  • 返回
{
"code": 1,
"data": {
"install": ["opencv-contrib-python\u003d\u003d4.1.2.30", "requests", "pymysql", "numpy"],
"options": ["--timeout", "1000"]
},
"msg": "success"
}
  • 返回值说明
返回值必须备注
install必有已安装python包的 数组列表
options必有pip install 的额外参数配置

日志监听

AS 内置了

文件管理

文件管理接口,可以删除,获取,重命名,上传某个文件

创建

创建文件或文件夹

  • 接口地址

host/api/file/create

  • 参数
参数必须备注
path必填文件夹的路径
name必填文件的名称
type必填文件类型:
创建文件 type=file
创建文件夹type=dir

删除

删除制定文件

  • 接口地址

host/api/file/remove

  • 参数
参数必须备注
path必填要删除的文件全路径

获取文件内容

获取文件内容

  • 接口地址

host/api/file/get

  • 参数
参数必须备注
path必填文件的路径
  • 返回结果

文件内容

存储文件

存储内容到制定文件

  • 接口地址

host/api/file/save

  • 参数
参数必须备注
path必填文件的路径
content必填文件的内容

重命名

指定文件重命名

  • 接口地址

host/api/file/rename

  • 参数
参数必须备注
path必填要重命名的文件全路径
name必填重命名名称

上传文件或小程序

上传文件,或小程序

  • 接口地址

host/api/file/rename

  • 参数
参数必须备注
body data必填需要将文件信息传入body 中的 data字段中
path必填上传的文件路径
zip选填zip= 1
传入此参数,系统默认上传的是一个as小程序包,会自动解压至小程序目录中