187 lines
4.3 KiB
PHP
187 lines
4.3 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | Niucloud-admin 企业快速开发的saas管理平台
|
||
// +----------------------------------------------------------------------
|
||
// | 官方网址:https://www.niucloud-admin.com
|
||
// +----------------------------------------------------------------------
|
||
// | niucloud团队 版权所有 开源版本可自由商用
|
||
// +----------------------------------------------------------------------
|
||
// | Author: Niucloud Team
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\adminapi\controller\addon;
|
||
|
||
use app\dict\addon\AddonDict;
|
||
use app\service\admin\addon\AddonService;
|
||
use app\service\core\addon\CoreAddonService;
|
||
use core\base\BaseAdminController;
|
||
use think\Response;
|
||
|
||
|
||
class Addon extends BaseAdminController
|
||
{
|
||
/**
|
||
* 获取已下载插架
|
||
*/
|
||
public function getLocalAddonList()
|
||
{
|
||
return success((new CoreAddonService())->getLocalAddonList());
|
||
}
|
||
|
||
/**
|
||
* 安装插件
|
||
* @param string $addon
|
||
*/
|
||
public function install($addon)
|
||
{
|
||
return success((new AddonService())->install($addon));
|
||
}
|
||
|
||
/**
|
||
* 云安装插件
|
||
* @param $addon
|
||
* @return Response
|
||
*/
|
||
public function cloudInstall($addon)
|
||
{
|
||
return success(data:(new AddonService())->cloudInstall($addon));
|
||
}
|
||
|
||
/**
|
||
* 获取安装任务
|
||
* @return Response
|
||
*/
|
||
public function getInstallTask() {
|
||
return success(data:(new AddonService())->getInstallTask());
|
||
}
|
||
|
||
/**
|
||
* 获取云安装日志
|
||
* @param $addon
|
||
* @return mixed
|
||
*/
|
||
public function cloudInstallLog($addon) {
|
||
return success(data:(new AddonService())->cloudInstallLog($addon));
|
||
}
|
||
|
||
/**
|
||
* 插件安装环境检测
|
||
* @param $addon
|
||
* @return Response
|
||
*/
|
||
public function installCheck($addon)
|
||
{
|
||
return success(data:(new AddonService())->installCheck($addon));
|
||
}
|
||
|
||
/**
|
||
* 取消安装
|
||
* @param $addon
|
||
* @return mixed
|
||
*/
|
||
public function cancleInstall($addon)
|
||
{
|
||
return success(data:(new AddonService())->cancleInstall($addon));
|
||
}
|
||
|
||
/**
|
||
* 卸载插件
|
||
* @param string $addon
|
||
*/
|
||
public function uninstall($addon)
|
||
{
|
||
(new AddonService())->uninstall($addon);
|
||
return success('ADDON_UNINSTALL_SUCCESS');
|
||
}
|
||
|
||
/**
|
||
* 插件安装环境检测
|
||
* @param $addon
|
||
* @return Response
|
||
*/
|
||
public function uninstallCheck($addon)
|
||
{
|
||
return success(data:(new AddonService())->uninstallCheck($addon));
|
||
}
|
||
|
||
/**
|
||
* 插件列表
|
||
* @return Response
|
||
*/
|
||
public function lists()
|
||
{
|
||
$data = $this->request->params([
|
||
['title', ''],
|
||
]);
|
||
return success((new AddonService())->getPage($data));
|
||
}
|
||
|
||
/**
|
||
* 插件详情
|
||
* @param int $id
|
||
* @return Response
|
||
*/
|
||
public function info(int $id)
|
||
{
|
||
return success((new AddonService())->getInfo($id));
|
||
}
|
||
|
||
/**
|
||
* 设置插件状态
|
||
* @param int $id
|
||
* @param int $status
|
||
* @return Response
|
||
*/
|
||
public function setStatus(int $id, int $status)
|
||
{
|
||
(new AddonService())->setStatus($id, $status);
|
||
return success('SET_SUCCESS');
|
||
}
|
||
|
||
/**
|
||
* 下载插件
|
||
* @param $app_key
|
||
* @return Response
|
||
*/
|
||
public function download($addon){
|
||
$data = $this->request->params([
|
||
['version', '']
|
||
]);
|
||
(new AddonService())->download($addon, $data['version']);
|
||
return success('DOWNLOAD_SUCCESS');
|
||
}
|
||
|
||
/**
|
||
* 查询已安装插件
|
||
* @return Response
|
||
*/
|
||
public function getInstallList(){
|
||
return success(data:(new AddonService())->getInstallList());
|
||
}
|
||
|
||
/**
|
||
* 查询已安装有效应用
|
||
*/
|
||
public function getAddonList()
|
||
{
|
||
return success((new CoreAddonService())->getInstallAddonList());
|
||
}
|
||
|
||
/**
|
||
* 插件类型
|
||
* @return Response
|
||
*/
|
||
public function getType(){
|
||
return success(AddonDict::getType());
|
||
}
|
||
|
||
/**
|
||
* 更新插件
|
||
* @param $app_key
|
||
* @return Response
|
||
*/
|
||
public function upgrade($addon = ''){
|
||
return success('DOWNLOAD_SUCCESS', (new AddonService())->upgrade($addon));
|
||
}
|
||
}
|