应用管理

获取已安装应用的列表

GET /api/plugin/installed_plugins

return data:

  1. {
  2. "code":0, // 返回码, 0 成功,非0失败
  3. "plugins": [ // 应用列表
  4. {
  5. "id" : "0000001", // 应用的ID
  6. "name" : "Hello,World", // 应用的名字
  7. "author" : "魔锤网络科技", // 应用的作者
  8. "icon" : "http://xxxxxx.png", // 应用图标的链接
  9. "source" : "http://xxxxx.tar.gz", // 应用的安装包连接
  10. "version" : "0.0.1", // 应用的最新版本
  11. "size" : 12432, // 应用包的大小
  12. "chksum" : "addeae87343573223", // 应用包的校验码
  13. "releaseDate" : "2014.06.20", // 应用的发布日期
  14. "installDate" : "2014.06.21", // 应用的安装日期
  15. "description" : "第一个Demo插件", // 应用的说明
  16. "instruction" : "1,xxx; 2,xxx" // 应用的安装、使用说明
  17. "is_sys_app" : 是否是内置应用 // 如果是内置系统应用,则不允许删除(可升级)
  18. }, ...
  19. ]
  20. }

获取某应用的最新信息

GET /api/plugin/plugin_latest_info?id=0000001

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "info" :
  4. {
  5. "id" : "0000001", // 应用的ID
  6. "name" : "Hello,World", // 应用的名字
  7. "author" : "魔锤网络科技", // 应用的作者
  8. "icon" : "http://xxxxxx.png", // 应用图标的链接
  9. "source" : "http://xxxxx.tar.gz", // 应用的安装包连接
  10. "version" : "0.0.1", // 应用的最新版本
  11. "size" : 12432, // 应用包的大小
  12. "chksum" : "addeae87343573223", // 应用包的校验码
  13. "releaseDate" : "2014.06.20", // 应用的发布日期
  14. "description" : "第一个Demo插件", // 应用的说明
  15. "instruction" : "1,xxx; 2,xxx" // 应用的安装、使用说明
  16. }
  17. }

安装应用

POST /api/plugin/install_plugin

post data:

  1. {
  2. "name" : "modou-samba" // 应用名称
  3. }

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "", // 错误消息
  4. "id" : "72428512" // 应用ID
  5. }

删除应用

POST /api/plugin/uninstall_plugin

post data:

  1. {
  2. "id" : "0000001" // 应用ID
  3. }

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "" // 错误消息
  4. }

启动应用

POST /api/plugin/start_plugin

post data:

  1. {
  2. "id" : "0000001" // 应用ID
  3. }

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "" // 错误消息
  4. }

停止应用

POST /api/plugin/stop_plugin

post data:

  1. {
  2. "id" : "0000001" // 应用ID
  3. }

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "" // 错误消息
  4. }

查询应用状态

GET /api/plugin/plugin_status?id=0000001

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "", // 错误消息
  4. "id" : "0000001", // 应用ID
  5. "isRunning" : true, // 是否正在运行
  6. "status" : "xxxxxxxxxxx" // 附件状态信息
  7. }

查询应用的安装状态

GET /api/plugin/plugin_install_status?id=0000001

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "" // 错误消息
  4. }
状态码 消息 意义
-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:

  1. {
  2. "package_id" : "0000001", // 应用ID
  3. "data" : <JSON OBJECT> // 应用自行维护的JSON配置数据
  4. }

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "", // 错误消息
  4. "data" : <JSON OBJECT> // 应用自行维护的JSON配置数据
  5. }

获取应用的配置信息

GET /api/plugin/config/get?id=<package_id>&type=<TP|MOBILE|WEB>

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "", // 错误消息
  4. "data" : <JSON OBJECT>, // 应用自行维护的JSON配置数据
  5. "views" : <JSON OBJECT>, // 应用的视图配置信息
  6. "actions" : <JSON OBJECT> // 应用的命令列表
  7. }

执行应用的某个操作

POST /api/plugin/execute

post data:

  1. {
  2. "package_id" : "0000001", // 应用ID
  3. "type" : "TP|MOBILE|WEB", // 调用来源类型
  4. "actions" : <JSON OBJECT> // 应用的命令列表
  5. }

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "msg" : "", // 错误消息
  4. "data" : <JSON OBJECT> // 应用自行维护的JSON配置数据
  5. }

action的JSON数据格式:

  1. {
  2. "command1" : {
  3. "id" : "command1", // 应用的命令ID
  4. "is_sync" : true, // 是否需要同步阻塞执行,默认阻塞同步
  5. "input" : "100" // 应用的命令参数
  6. }
  7. }

data的JSON数据格式:

  1. {
  2. "data1" : {
  3. "id" : "data1", // 配置数据的ID
  4. "name" : "username", // 配置数据的名字
  5. "value" : "middle", // 配置数据的值
  6. "group_id": "group1", // 配置数据的组ID
  7. "type" : {
  8. "class" : "ENUM|BOOL|INT|STRING|FLOAT|SET",
  9. "items" : ["high", "middle", "low"], // ENUM,SET适用
  10. "min" : 0, // INT, FLOAT, STRING使用
  11. "max" : 100, // INT, FLOAT, STRING使用
  12. "multiple" : true|false
  13. }
  14. }
  15. }

view的JSON数据格式:

  1. {
  2. "view1" : {
  3. "id" : "view1", // 配置视图的ID
  4. "name" : "viewname", // 配置视图的名字
  5. "data" : {
  6. "data1" : {"id" : "data1",// 视图需要展示的数据的ID
  7. "acess" : "RO|RW" // 数据是否可修改
  8. },
  9. ...
  10. },
  11. "menu" : { // 主视图适用
  12. "1" : { "index" : 1,
  13. "text" : "contract",
  14. "type" : "COMMAND|MENU|VIEW",
  15. "action" : actionid, // COMMAND适用
  16. "input" : data1, // COMMAND适用
  17. "viewid" : viewid, // VIEW适用
  18. "items" : { // MENU适用
  19. "1" : {
  20. "index" : 1,
  21. "text" : "item1",
  22. "type" : "COMMAND|VIEW",
  23. "action" : actionid, // COMMAND适用
  24. "input" : data1, // COMMAND适用
  25. "viewid" : viewid // VIEW适用
  26. },
  27. ...
  28. }
  29. },
  30. ...
  31. }
  32. }
  33. }

安装非认证应用

POST /api/plugin/install_custom

post data:

  1. {
  2. "name" : "app-name", // 应用名称
  3. "file" : "xxxxcvvadfafad", // 安装包的内容
  4. "size" : 10240 // 文件的大小
  5. }

return data:

  1. {
  2. "code" : 0, // 返回码, 0 成功,非0失败
  3. "id" : "app-id", // 生成的应用ID
  4. "msg" : "" // 错误消息
  5. }