Skip to content

Commit

Permalink
完善扩展插件系统
Browse files Browse the repository at this point in the history
  • Loading branch information
deatil committed Jul 19, 2024
1 parent 4385b2f commit 80d5789
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 18 deletions.
10 changes: 5 additions & 5 deletions src/larke/admin/Command/Extension.php
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ protected function install($name)
}
}

AdminExtension::newClassMethod($info['class_name'], 'action');
AdminExtension::callClassMethod($info['class_name'], 'action');

// 安装前
do_action('install_extension', $name);
Expand Down Expand Up @@ -243,7 +243,7 @@ protected function uninstall($name)
}

AdminExtension::loadExtension();
AdminExtension::newClassMethod($info['class_name'], 'action');
AdminExtension::callClassMethod($info['class_name'], 'action');

// 卸载前
do_action('uninstall_extension', $name);
Expand Down Expand Up @@ -350,7 +350,7 @@ protected function upgrade($name)
}
}

AdminExtension::newClassMethod($info['class_name'], 'action');
AdminExtension::callClassMethod($info['class_name'], 'action');

// 更新前
do_action('upgrade_extension', $name);
Expand Down Expand Up @@ -405,7 +405,7 @@ protected function enable($name)
}

AdminExtension::loadExtension();
AdminExtension::newClassMethod($installInfo['class_name'], 'action');
AdminExtension::callClassMethod($installInfo['class_name'], 'action');

// 启用前
do_action('enable_extension', $name);
Expand Down Expand Up @@ -446,7 +446,7 @@ protected function disable($name)
return ;
}

AdminExtension::newClassMethod($installInfo['class_name'], 'action');
AdminExtension::callClassMethod($installInfo['class_name'], 'action');

// 禁用前
do_action('disable_extension', $name);
Expand Down
20 changes: 11 additions & 9 deletions src/larke/admin/Controller/Extension.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Larke\Admin\Model\Extension as ExtensionModel;

use function Larke\Admin\do_action;
use function Larke\Admin\apply_filters;

/**
* 扩展
Expand Down Expand Up @@ -294,7 +295,7 @@ public function install(string $name)
}
}

AdminExtension::newClassMethod($info['class_name'], 'action');
AdminExtension::callClassMethod($info['class_name'], 'action');

// 安装前
do_action('install_extension', $name);
Expand Down Expand Up @@ -359,7 +360,7 @@ public function uninstall(string $name)
}

AdminExtension::loadExtension();
AdminExtension::newClassMethod($info['class_name'], 'action');
AdminExtension::callClassMethod($info['class_name'], 'action');

// 卸载前
do_action('uninstall_extension', $name);
Expand Down Expand Up @@ -458,7 +459,7 @@ public function upgrade(string $name)
}
}

AdminExtension::newClassMethod($info['class_name'], 'action');
AdminExtension::callClassMethod($info['class_name'], 'action');

// 更新前
do_action('upgrade_extension', $name);
Expand Down Expand Up @@ -557,7 +558,7 @@ public function enable(string $name)
}

AdminExtension::loadExtension();
AdminExtension::newClassMethod($installInfo['class_name'], 'action');
AdminExtension::callClassMethod($installInfo['class_name'], 'action');

// 启用前
do_action('enable_extension', $name);
Expand Down Expand Up @@ -607,7 +608,7 @@ public function disable(string $name)
return $this->error(__('larke-admin::extension.extension_disabled'));
}

AdminExtension::newClassMethod($installInfo['class_name'], 'action');
AdminExtension::callClassMethod($installInfo['class_name'], 'action');

// 禁用前
do_action('disable_extension', $name);
Expand Down Expand Up @@ -648,10 +649,11 @@ public function config(string $name, Request $request)
return $this->error(__('larke-admin::extension.extension_package_name_dont_empty'));
}

do_action("extension_config_before", $name);

$config = $request->input('config');

// 过滤配置
$config = apply_filters("extension_config_before", $config, $name);

$info = ExtensionModel::where(['name' => $name])
->first();
if (empty($info)) {
Expand All @@ -669,11 +671,11 @@ public function config(string $name, Request $request)
return $this->error(__('larke-admin::extension.update_extension_config_fail'));
}

do_action("extension_config_after", $name);

// 清除缓存
AdminExtension::forgetExtensionCache($name);

do_action("extension_config_after", $name, $info);

return $this->success(__('larke-admin::extension.update_extension_config_success'));
}

Expand Down
4 changes: 2 additions & 2 deletions src/larke/admin/Extension/Manager.php
Original file line number Diff line number Diff line change
Expand Up @@ -583,14 +583,14 @@ public function newClass(?string $className = null): mixed
}

/**
* 实例化类方法
* 调用类方法
*
* @param string|null $className
* @param string|null $method
* @param array $param
* @return mixed
*/
public function newClassMethod(?string $className = null, ?string $method = null, array $param = []): mixed
public function callClassMethod(?string $className = null, ?string $method = null, array $param = []): mixed
{
if (empty($className) || empty($method)) {
return false;
Expand Down
4 changes: 2 additions & 2 deletions src/larke/resources/config/larkeadmin.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
'name' => "LarkeAdmin",
'name_mini' => "Larke",
'logo' => "<b>Larke</b> admin",
'release' => "20240718",
'version' => "2.0.0",
'release' => "20240719",
'version' => "2.0.1",
],

// 是否使用 https 方式
Expand Down

0 comments on commit 80d5789

Please sign in to comment.