|
|
@@ -9,6 +9,8 @@ use SixShop\System\Cron\SystemCron;
|
|
|
use SixShop\System\Enum\ExtensionStatusEnum;
|
|
|
use SixShop\System\Hook\ExtensionStatusHook;
|
|
|
use SixShop\System\Hook\GatheringCrontabEventHook;
|
|
|
+use think\db\exception\PDOException;
|
|
|
+
|
|
|
use function SixShop\Core\extension_name_list;
|
|
|
|
|
|
class Extension extends ExtensionAbstract
|
|
|
@@ -49,7 +51,12 @@ class Extension extends ExtensionAbstract
|
|
|
}
|
|
|
$className::macro('available', function () {
|
|
|
$extensionID = $this->getInfo()['id'];
|
|
|
- $info = app()->make(ExtensionManager::class)->getInfo($extensionID);
|
|
|
+ try {
|
|
|
+ $info = app()->make(ExtensionManager::class)->getInfo($extensionID);
|
|
|
+ } catch (PDOException) {
|
|
|
+ // 新装系统的时候system扩展还未安装
|
|
|
+ return false;
|
|
|
+ }
|
|
|
return $info->status === ExtensionStatusEnum::ENABLED;
|
|
|
});
|
|
|
|
|
|
@@ -57,6 +64,11 @@ class Extension extends ExtensionAbstract
|
|
|
parent::boot();
|
|
|
}
|
|
|
|
|
|
+ public function available()
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
protected function getBaseDir(): string
|
|
|
{
|
|
|
return dirname(__DIR__);
|