Ver Fonte

feat(plugin): 支持插件 Vue 文件的多级目录结构- 修改前端插件管理页面,调整组件 URL 路径格式以支持子目录- 更新后端路由规则,允许通过 extension 和 file 参数定位具体 Vue 文件
- 调整控制器方法参数,实现对指定扩展目录下任意 Vue 文件的读取与返回

runphp há 5 meses atrás
pai
commit
32985673a1
2 ficheiros alterados com 3 adições e 3 exclusões
  1. 1 1
      route/admin.php
  2. 2 2
      src/Controller/ExtensionController.php

+ 1 - 1
route/admin.php

@@ -4,7 +4,7 @@ declare(strict_types=1);
 use SixShop\System\Controller\{ExtensionConfigController, ExtensionController};
 use think\facade\Route;
 
-Route::get('extension/:id.vue', [ExtensionController::class, 'vue'])
+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' => '获取普通扩展列表']);

+ 2 - 2
src/Controller/ExtensionController.php

@@ -118,9 +118,9 @@ class ExtensionController
         return Helper::success_response($options);
     }
 
-    public function vue(string $id, ExtensionManager $extensionManager): Response
+    public function vue(string $extension, string $file, ExtensionManager $extensionManager): Response
     {
-        $filePath = Helper::extension_path($id) . 'resource/admin/' . $id . '.vue';
+        $filePath = Helper::extension_path($extension) . 'resource/admin/' . $file . '.vue';
         if (file_exists($filePath)) {
             return response(file_get_contents($filePath))
                 ->header(['Content-Type' => 'text/plain;charset=utf-8']);