新增插件安装及更新前事件
parent
098a3bdc2b
commit
6ddfb2255f
|
|
@ -166,6 +166,14 @@ class PluginsAdminService
|
||||||
$config = self::GetPluginsConfig($plugins);
|
$config = self::GetPluginsConfig($plugins);
|
||||||
if(!empty($config) && !empty($config['base']) && !empty($config['base']['name']))
|
if(!empty($config) && !empty($config['base']) && !empty($config['base']['name']))
|
||||||
{
|
{
|
||||||
|
// 插件前置事件
|
||||||
|
$ret = PluginsService::PluginsEventCall($plugins, 'BeginInstall', $params);
|
||||||
|
if(!empty($ret) && isset($ret['code']) && $ret['code'] != 0)
|
||||||
|
{
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加处理
|
||||||
$cache = PluginsService::PluginsCacheData($plugins);
|
$cache = PluginsService::PluginsCacheData($plugins);
|
||||||
$data = [
|
$data = [
|
||||||
'name' => $config['base']['name'],
|
'name' => $config['base']['name'],
|
||||||
|
|
@ -1470,6 +1478,13 @@ php;
|
||||||
return DataReturn('应用不存在['.$params['plugins_value'].']、请先安装', -1);
|
return DataReturn('应用不存在['.$params['plugins_value'].']、请先安装', -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 插件前置事件
|
||||||
|
$ret = PluginsService::PluginsEventCall($params['plugins_value'], 'BeginUpgrade', $params);
|
||||||
|
if(!empty($ret) && isset($ret['code']) && $ret['code'] != 0)
|
||||||
|
{
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
// 包处理
|
// 包处理
|
||||||
$ret = self::PluginsPackageHandle($package_file, 1, $params['plugins_value']);
|
$ret = self::PluginsPackageHandle($package_file, 1, $params['plugins_value']);
|
||||||
if($ret['code'] != 0)
|
if($ret['code'] != 0)
|
||||||
|
|
|
||||||
|
|
@ -399,7 +399,15 @@ class PluginsService
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @date 2020-01-02
|
* @date 2020-01-02
|
||||||
* @param [string] $plugins [应用标记]
|
* @param [string] $plugins [应用标记]
|
||||||
* @param [string] $action [事件方法(Upload 上传, Install 安装, Uninstall 卸载, Download 下载, Upgrade 更新, Delete 删除)]
|
* @param [string] $action [事件方法(
|
||||||
|
* Upload 上传
|
||||||
|
* BeginInstall 安装前(验证返回状态)
|
||||||
|
* Install 安装
|
||||||
|
* Uninstall 卸载
|
||||||
|
* Download 下载
|
||||||
|
* BeginUpgrade 更新前(验证返回状态)
|
||||||
|
* Upgrade 更新
|
||||||
|
* Delete 删除)]
|
||||||
* @param [array] $params [输入参数]
|
* @param [array] $params [输入参数]
|
||||||
*/
|
*/
|
||||||
public static function PluginsEventCall($plugins, $action, $params = [])
|
public static function PluginsEventCall($plugins, $action, $params = [])
|
||||||
|
|
@ -408,7 +416,7 @@ class PluginsService
|
||||||
$plugins = '\app\plugins\\'.$plugins.'\\Event';
|
$plugins = '\app\plugins\\'.$plugins.'\\Event';
|
||||||
if(!class_exists($plugins))
|
if(!class_exists($plugins))
|
||||||
{
|
{
|
||||||
return DataReturn('应用事件未定义['.$plugins.']', -1);
|
return DataReturn('应用事件未定义['.$plugins.']', 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 调用方法
|
// 调用方法
|
||||||
|
|
@ -416,7 +424,7 @@ class PluginsService
|
||||||
$obj = new $plugins($params);
|
$obj = new $plugins($params);
|
||||||
if(!method_exists($obj, $action))
|
if(!method_exists($obj, $action))
|
||||||
{
|
{
|
||||||
return DataReturn('应用事件方法未定义['.$action.']', -1);
|
return DataReturn('应用事件方法未定义['.$action.']', 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 调用方法仅传递请求参数
|
// 调用方法仅传递请求参数
|
||||||
|
|
@ -424,7 +432,12 @@ class PluginsService
|
||||||
{
|
{
|
||||||
$params = $params['data_request'];
|
$params = $params['data_request'];
|
||||||
}
|
}
|
||||||
return DataReturn('调用成功', 0, $obj->$action($params));
|
$ret = $obj->$action($params);
|
||||||
|
if(!empty($ret) && is_array($ret) && array_key_exists('code', $ret) && array_key_exists('data', $ret) && array_key_exists('msg', $ret))
|
||||||
|
{
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
return DataReturn('调用成功', 0, $ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue