Addon.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\adminapi\controller\addon;
  12. use app\dict\addon\AddonDict;
  13. use app\service\admin\addon\AddonService;
  14. use app\service\core\addon\CoreAddonService;
  15. use core\base\BaseAdminController;
  16. use think\Response;
  17. class Addon extends BaseAdminController
  18. {
  19. /**
  20. * 获取已下载插架
  21. */
  22. public function getLocalAddonList()
  23. {
  24. return success((new CoreAddonService())->getLocalAddonList());
  25. }
  26. /**
  27. * 安装插件
  28. * @param string $addon
  29. */
  30. public function install($addon)
  31. {
  32. return success((new AddonService())->install($addon));
  33. }
  34. /**
  35. * 云安装插件
  36. * @param $addon
  37. * @return Response
  38. */
  39. public function cloudInstall($addon)
  40. {
  41. return success(data:(new AddonService())->cloudInstall($addon));
  42. }
  43. /**
  44. * 获取安装任务
  45. * @return Response
  46. */
  47. public function getInstallTask() {
  48. return success(data:(new AddonService())->getInstallTask());
  49. }
  50. /**
  51. * 获取云安装日志
  52. * @param $addon
  53. * @return Response
  54. */
  55. public function cloudInstallLog($addon) {
  56. return success(data:(new AddonService())->cloudInstallLog($addon));
  57. }
  58. /**
  59. * 插件安装环境检测
  60. * @param $addon
  61. * @return Response
  62. */
  63. public function installCheck($addon)
  64. {
  65. return success(data:(new AddonService())->installCheck($addon));
  66. }
  67. /**
  68. * 取消安装
  69. * @param $addon
  70. * @return Response
  71. */
  72. public function cancleInstall($addon)
  73. {
  74. return success(data:(new AddonService())->cancleInstall($addon));
  75. }
  76. /**
  77. * 卸载插件
  78. * @param string $addon
  79. */
  80. public function uninstall($addon)
  81. {
  82. (new AddonService())->uninstall($addon);
  83. return success('ADDON_UNINSTALL_SUCCESS');
  84. }
  85. /**
  86. * 插件安装环境检测
  87. * @param $addon
  88. * @return Response
  89. */
  90. public function uninstallCheck($addon)
  91. {
  92. return success(data:(new AddonService())->uninstallCheck($addon));
  93. }
  94. /**
  95. * 插件列表
  96. * @return Response
  97. */
  98. public function lists()
  99. {
  100. $data = $this->request->params([
  101. ['title', ''],
  102. ]);
  103. return success((new AddonService())->getPage($data));
  104. }
  105. /**
  106. * 插件详情
  107. * @param int $id
  108. * @return Response
  109. */
  110. public function info(int $id)
  111. {
  112. return success((new AddonService())->getInfo($id));
  113. }
  114. /**
  115. * 设置插件状态
  116. * @param int $id
  117. * @param int $status
  118. * @return Response
  119. */
  120. public function setStatus(int $id, int $status)
  121. {
  122. (new AddonService())->setStatus($id, $status);
  123. return success('SET_SUCCESS');
  124. }
  125. /**
  126. * 下载插件
  127. * @param $addon
  128. * @return Response
  129. */
  130. public function download($addon){
  131. $data = $this->request->params([
  132. ['version', '']
  133. ]);
  134. (new AddonService())->download($addon, $data['version']);
  135. return success('DOWNLOAD_SUCCESS');
  136. }
  137. /**
  138. * 查询已安装插件
  139. * @return Response
  140. */
  141. public function getInstallList(){
  142. return success(data:(new AddonService())->getInstallList());
  143. }
  144. /**
  145. * 查询已安装有效应用
  146. */
  147. public function getAddonList()
  148. {
  149. return success((new CoreAddonService())->getInstallAddonList());
  150. }
  151. /**
  152. * 插件类型
  153. * @return Response
  154. */
  155. public function getType(){
  156. return success(AddonDict::getType());
  157. }
  158. /**
  159. * 更新插件
  160. * @param string $addon
  161. * @return Response
  162. */
  163. public function upgrade($addon = ''){
  164. return success('DOWNLOAD_SUCCESS', (new AddonService())->upgrade($addon));
  165. }
  166. }