ソースを参照

fix: LakalaOnboardingClient.phpat line 53 报 Class 'Lakala\OpenAPISDK\V3\Configuration' not found

shizhongqi 1 ヶ月 前
コミット
53f512c1cf
1 ファイル変更18 行追加0 行削除
  1. 18 0
      common/components/lakala/LakalaOnboardingClient.php

+ 18 - 0
common/components/lakala/LakalaOnboardingClient.php

@@ -18,6 +18,8 @@ class LakalaOnboardingClient
 
     public function __construct()
     {
+        $this->ensureSdkLoaded();
+
         $params = Yii::$app->params['lakalaOnboarding'] ?? [];
         $production = getenv('YII_ENV') === 'production';
         $defaults = [
@@ -62,6 +64,22 @@ class LakalaOnboardingClient
         ]);
     }
 
+    private function ensureSdkLoaded()
+    {
+        if (class_exists(Configuration::class) && class_exists(LakalaApi::class) && class_exists(ModelRequest::class)) {
+            return;
+        }
+
+        $autoload = Yii::getAlias('@vendor/lakalasdk/openapi/vendor/autoload.php', false);
+        if ($autoload && is_file($autoload)) {
+            require_once $autoload;
+        }
+
+        if (!class_exists(Configuration::class) || !class_exists(LakalaApi::class) || !class_exists(ModelRequest::class)) {
+            throw new \RuntimeException('拉卡拉 SDK 未加载,请确认已安装 lakalasdk/openapi 并重新生成 Composer autoload。');
+        }
+    }
+
     public function orgCode()
     {
         return $this->orgCode;