应用管理
获取已安装应用的列表
GET /api/plugin/installed_plugins
return data:
{
"code":0, // 返回码, 0 成功,非0失败
"plugins": [ // 应用列表
{
"id" : "0000001", // 应用的ID
"name" : "Hello,World", // 应用的名字
"author" : "魔锤网络科技", // 应用的作者
"icon" : "http://xxxxxx.png", // 应用图标的链接
"source" : "http://xxxxx.tar.gz", // 应用的安装包连接
"version" : "0.0.1", // 应用的最新版本
"size" : 12432, // 应用包的大小
"chksum" : "addeae87343573223", // 应用包的校验码
"releaseDate" : "2014.06.20", // 应用的发布日期
"installDate" : "2014.06.21", // 应用的安装日期
"description" : "第一个Demo插件", // 应用的说明
"instruction" : "1,xxx; 2,xxx" // 应用的安装、使用说明
"is_sys_app" : 是否是内置应用 // 如果是内置系统应用,则不允许删除(可升级)
}, ...
]
}
获取某应用的最新信息
GET /api/plugin/plugin_latest_info?id=0000001
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"info" :
{
"id" : "0000001", // 应用的ID
"name" : "Hello,World", // 应用的名字
"author" : "魔锤网络科技", // 应用的作者
"icon" : "http://xxxxxx.png", // 应用图标的链接
"source" : "http://xxxxx.tar.gz", // 应用的安装包连接
"version" : "0.0.1", // 应用的最新版本
"size" : 12432, // 应用包的大小
"chksum" : "addeae87343573223", // 应用包的校验码
"releaseDate" : "2014.06.20", // 应用的发布日期
"description" : "第一个Demo插件", // 应用的说明
"instruction" : "1,xxx; 2,xxx" // 应用的安装、使用说明
}
}
安装应用
POST /api/plugin/install_plugin
post data:
{
"name" : "modou-samba" // 应用名称
}
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "", // 错误消息
"id" : "72428512" // 应用ID
}
删除应用
POST /api/plugin/uninstall_plugin
post data:
{
"id" : "0000001" // 应用ID
}
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "" // 错误消息
}
启动应用
POST /api/plugin/start_plugin
post data:
{
"id" : "0000001" // 应用ID
}
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "" // 错误消息
}
停止应用
POST /api/plugin/stop_plugin
post data:
{
"id" : "0000001" // 应用ID
}
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "" // 错误消息
}
查询应用状态
GET /api/plugin/plugin_status?id=0000001
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "", // 错误消息
"id" : "0000001", // 应用ID
"isRunning" : true, // 是否正在运行
"status" : "xxxxxxxxxxx" // 附件状态信息
}
查询应用的安装状态
GET /api/plugin/plugin_install_status?id=0000001
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "" // 错误消息
}
状态码 | 消息 | 意义 |
---|---|---|
-1 | “plugin ID missing” | 缺少应用ID |
-2 | “It’s not installing plugin:<PLUGIN_ID>” | 当前不在安装应用 |
1 | “downloading plugin config file” | 正在下载应用配置文件 |
2 | “parsing plugin config file” | 正在解析应用配置文件 |
3 | “downloading the install package of plugin” | 正在下载安装包 |
4 | “checking md5 checksum of install package” | 正在校验安装包 |
5 | “installing plugin” | 正在安装 |
6 | “remove old app” | 删除老应用 |
7 | “updating installed plugin list” | 更新已安装应用列表 |
8 | “auto start app” | 自动启动应用 |
0 | “plugin successfully installed” | 应用安装成功 |
10 | “plugin alreay installed” | 应用已安装 |
101 | “failed to open status file:<FILENAME>” | 读取状态失败 |
901 | “failed to download the plugin config file” | 下载配置文件失败 |
902 | “failed to read plugin config file : <CODE>” | 读取配置文件失败 |
903 | “field missing in plugin config file” | 配置文件错误 |
904 | “failed to download plugin install package” | 下载安装包失败 |
905 | “MD5 check sum doesn’t match with config” | MD5校验失败 |
906 | “extract the install package failed” | 解压安装包失败 |
对应用进行配置
POST /api/plugin/config/set
POST /api/plugin/config
(不建议使用)
post data:
{
"package_id" : "0000001", // 应用ID
"data" : <JSON OBJECT> // 应用自行维护的JSON配置数据
}
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "", // 错误消息
"data" : <JSON OBJECT> // 应用自行维护的JSON配置数据
}
获取应用的配置信息
GET /api/plugin/config/get?id=<package_id>&type=<TP|MOBILE|WEB>
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "", // 错误消息
"data" : <JSON OBJECT>, // 应用自行维护的JSON配置数据
"views" : <JSON OBJECT>, // 应用的视图配置信息
"actions" : <JSON OBJECT> // 应用的命令列表
}
执行应用的某个操作
POST /api/plugin/execute
post data:
{
"package_id" : "0000001", // 应用ID
"type" : "TP|MOBILE|WEB", // 调用来源类型
"actions" : <JSON OBJECT> // 应用的命令列表
}
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"msg" : "", // 错误消息
"data" : <JSON OBJECT> // 应用自行维护的JSON配置数据
}
action的JSON数据格式:
{
"command1" : {
"id" : "command1", // 应用的命令ID
"is_sync" : true, // 是否需要同步阻塞执行,默认阻塞同步
"input" : "100" // 应用的命令参数
}
}
data的JSON数据格式:
{
"data1" : {
"id" : "data1", // 配置数据的ID
"name" : "username", // 配置数据的名字
"value" : "middle", // 配置数据的值
"group_id": "group1", // 配置数据的组ID
"type" : {
"class" : "ENUM|BOOL|INT|STRING|FLOAT|SET",
"items" : ["high", "middle", "low"], // ENUM,SET适用
"min" : 0, // INT, FLOAT, STRING使用
"max" : 100, // INT, FLOAT, STRING使用
"multiple" : true|false
}
}
}
view的JSON数据格式:
{
"view1" : {
"id" : "view1", // 配置视图的ID
"name" : "viewname", // 配置视图的名字
"data" : {
"data1" : {"id" : "data1",// 视图需要展示的数据的ID
"acess" : "RO|RW" // 数据是否可修改
},
...
},
"menu" : { // 主视图适用
"1" : { "index" : 1,
"text" : "contract",
"type" : "COMMAND|MENU|VIEW",
"action" : actionid, // COMMAND适用
"input" : data1, // COMMAND适用
"viewid" : viewid, // VIEW适用
"items" : { // MENU适用
"1" : {
"index" : 1,
"text" : "item1",
"type" : "COMMAND|VIEW",
"action" : actionid, // COMMAND适用
"input" : data1, // COMMAND适用
"viewid" : viewid // VIEW适用
},
...
}
},
...
}
}
}
安装非认证应用
POST /api/plugin/install_custom
post data:
{
"name" : "app-name", // 应用名称
"file" : "xxxxcvvadfafad", // 安装包的内容
"size" : 10240 // 文件的大小
}
return data:
{
"code" : 0, // 返回码, 0 成功,非0失败
"id" : "app-id", // 生成的应用ID
"msg" : "" // 错误消息
}