Просмотр исходного кода

refactor(extension): 重构扩展路径获取逻辑并移除普通扩展列表接口

- 移除 extension_path 函数的默认参数并调整其行为
- 当扩展不存在时抛出 RuntimeException 异常
- 删除 ExtensionController 中的 normal 方法及相关路由
- 简化扩展路径解析逻辑,去除冗余条件判断
runphp 3 месяцев назад
Родитель
Сommit
e805998adf
2 измененных файлов с 0 добавлено и 25 удалено
  1. 0 1
      route/admin.php
  2. 0 24
      src/Controller/ExtensionController.php

+ 0 - 1
route/admin.php

@@ -11,7 +11,6 @@ Route::get('extension/:extension/:file\.vue', [ExtensionController::class, 'vue'
     ->option(['name' => 'system:extension:vue', 'description' => '获取扩展的Vue文件']);
 
 Route::group('extension', function () {
-    Route::get('normal', [ExtensionController::class, 'normal'])->option(['name' => 'system:extension:normal', 'description' => '获取普通扩展列表']);
     Route::resource('', ExtensionController::class, function () {
         Route::post('install', [ExtensionController::class, 'install'])->option(['name' => 'system:extension:install', 'description' => '安装扩展']);
         Route::post('uninstall', [ExtensionController::class, 'uninstall'])->option(['name' => 'system:extension:uninstall', 'description' => '卸载扩展']);

+ 0 - 24
src/Controller/ExtensionController.php

@@ -96,30 +96,6 @@ class ExtensionController
         return success_response();
     }
 
-    public function normal(App $app): Response
-    {
-        $extensionPath = extension_path();
-        $extensionDirs = array_diff(scandir($extensionPath), ['.', '..']);
-        $options = [];
-        foreach ($extensionDirs as $item) {
-            if (!is_dir($extensionPath . $item)) {
-                continue;
-            }
-            $infoFile = $extensionPath . $item . '/info.php';
-            if (is_file($infoFile)) {
-                $info = require $infoFile;
-                if (!($info['is_core'] ?? false)) {
-                    $options[] = [
-                        'value' => $info['id'],
-                        'label' => $info['name'],
-                    ];
-                }
-            }
-        }
-
-        return success_response($options);
-    }
-
     public function vue(string $extension, string $file, ExtensionManager $extensionManager): Response
     {
         $filePath = extension_path($extension) . 'resource/admin/' . $file . '.vue';