diff --git a/app/service/OssService.php b/app/service/OssService.php index e8e7452..75dd524 100644 --- a/app/service/OssService.php +++ b/app/service/OssService.php @@ -65,17 +65,27 @@ class OssService public function generatePrivateUrl($objectKey, $expireTime = 3600) { try { - // 生成 OSS 私有 URL(有效期为 3600 秒) - $url = $this->ossClient->signUrl($this->bucket, $objectKey, $expireTime); - // 记录调试信息 + // 记录更详细的调试信息 error_log("OSS URL Generation Debug:"); error_log("Bucket: " . $this->bucket); error_log("ObjectKey: " . $objectKey); error_log("ExpireTime: " . $expireTime); + error_log("Current Time: " . time()); + error_log("Expiration Time: " . (time() + $expireTime)); + error_log("AccessKeyId: " . substr($this->accessKeyId, 0, 4) . "****"); + error_log("Endpoint: " . $this->endpoint); + + // 生成 OSS 私有 URL + $url = $this->ossClient->signUrl($this->bucket, $objectKey, $expireTime); + + // 记录生成的 URL error_log("Generated URL: " . $url); + return $url; } catch (OssException $e) { error_log("OSS Error: " . $e->getMessage()); + error_log("Error Code: " . $e->getCode()); + error_log("Error Trace: " . $e->getTraceAsString()); throw new \RuntimeException('OSS Error: ' . $e->getMessage()); } } diff --git a/config/plugin/shopwwi/filesystem/app.php b/config/plugin/shopwwi/filesystem/app.php index 784267f..50605b2 100644 --- a/config/plugin/shopwwi/filesystem/app.php +++ b/config/plugin/shopwwi/filesystem/app.php @@ -64,25 +64,21 @@ return [ ], 'oss' => [ 'driver' => \Shopwwi\WebmanFilesystem\Adapter\AliyunOssAdapterFactory::class, -// 'accessId' => 'OSS_ACCESS_ID', -// 'accessSecret' => 'OSS_ACCESS_SECRET', -// 'bucket' => 'OSS_BUCKET', -// 'endpoint' => 'OSS_ENDPOINT', -// 'url' => '', // 静态文件访问域名 - - 'accessId' => 'LTAI5tAGiH7bkVkmrniXnfkA', - 'accessSecret' => 'nqklJBft6t3S0A4ZvxF4ci9ni91kmm', - 'accessKey' => 'LTAI5tAGiH7bkVkmrniXnfkA', - 'secretKey' => 'nqklJBft6t3S0A4ZvxF4ci9ni91kmm', - 'bucket' => 'vehicle-album', - 'endpoint' => 'https://oss-cn-beijing.aliyuncs.com', + 'accessId' => env('OSS_ACCESS_KEY_ID'), + 'accessSecret' => env('OSS_ACCESS_KEY_SECRET'), + 'accessKey' => env('OSS_ACCESS_KEY_ID'), + 'secretKey' => env('OSS_ACCESS_KEY_SECRET'), + 'bucket' => env('OSS_BUCKET', 'vehicle-album'), + 'endpoint' => env('OSS_ENDPOINT', 'https://oss-cn-beijing.aliyuncs.com'), 'url' => '', // 静态文件访问域名 - // 'timeout' => 3600, - // 'connectTimeout' => 10, 'isCName' => false, 'prefix' => '', - // 'token' => null, - // 'proxy' => null, + 'timeout' => 60, + 'connectTimeout' => 10, + 'securityToken' => null, + 'proxy' => null, + 'useSSL' => true, + 'signatureVersion' => 'v4', ], 'qiniu' => [ 'driver' => \Shopwwi\WebmanFilesystem\Adapter\QiniuAdapterFactory::class, diff --git a/plugin/admin/app/controller/VehicleController.php b/plugin/admin/app/controller/VehicleController.php index f8a1595..43919a5 100644 --- a/plugin/admin/app/controller/VehicleController.php +++ b/plugin/admin/app/controller/VehicleController.php @@ -139,16 +139,20 @@ class VehicleController extends Crud if(!str_starts_with($item['img_url'], 'http')){ try { $ossservice = new OssService(); - $img_url = $ossservice->generatePrivateUrl($item['img_url'], 3600); + // 使用更短的过期时间(5分钟) + $img_url = $ossservice->generatePrivateUrl($item['img_url'], 300); Log::info("Vehicle image URL generation:", [ 'original_url' => $item['img_url'], - 'generated_url' => $img_url + 'generated_url' => $img_url, + 'current_time' => time() ]); $item['img_url'] = $img_url; } catch (\Exception $e) { Log::error("Vehicle image URL generation failed:", [ 'error' => $e->getMessage(), - 'original_url' => $item['img_url'] + 'original_url' => $item['img_url'], + 'error_code' => $e->getCode(), + 'trace' => $e->getTraceAsString() ]); } }