From a6cebc3750bd1a2639aed9f6a2a3cca65d1b387f Mon Sep 17 00:00:00 2001 From: JaguarJack Date: Mon, 7 Sep 2020 07:44:56 +0800 Subject: [PATCH] =?UTF-8?q?update:=E6=9B=B4=E6=96=B0=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/catcher/CatchUpload.php | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/extend/catcher/CatchUpload.php b/extend/catcher/CatchUpload.php index 0ed8548..c22a0b7 100644 --- a/extend/catcher/CatchUpload.php +++ b/extend/catcher/CatchUpload.php @@ -247,9 +247,19 @@ class CatchUpload $disk = app()->config->get('filesystem.disks'); $uploadConfigs = $configModel->getConfig($upload->id); + + // 重组 + $_config = []; if (!empty($uploadConfigs)) { + foreach ($uploadConfigs as $key => $value) { + list($object, $key) = explode('.', $key); + $_config[$object][$key] = $value; + } + } + + if (!empty($_config)) { // 读取上传可配置数据 - foreach ($uploadConfigs as $key => &$config) { + foreach ($_config as $key => &$config) { // $disk[$key]['type'] = $key; // 腾讯云配置处理 if (strtolower($key) == 'qcloud') { @@ -258,21 +268,21 @@ class CatchUpload 'secretKey' => $config['secret_key'] ?? '', 'secretId' => $config['secret_id'] ?? '', ]; - $readFromCdn = $config['read_from_cdn'] ?? false; - $config['read_from_cdn'] = $readFromCdn ? true : false; + $readFromCdn = $config['read_from_cdn'] ?? 0; + $config['read_from_cdn'] = intval($readFromCdn) == 1; } // OSS 配置 if (strtolower($key) == 'oss') { - $isCname = $config['is_cname'] ?? false; - $config['is_cname'] = $isCname ? true : false; + $isCname = $config['is_cname'] ?? 0; + $config['is_cname'] = intval($isCname) == 1; } } // 合并数组 - array_walk($disk, function (&$item, $key) use ($uploadConfigs) { + array_walk($disk, function (&$item, $key) use ($_config) { if (!in_array($key, ['public', 'local'])) { - if ($uploadConfigs[$key] ?? false) { - foreach ($uploadConfigs[$key] as $k => $value) { + if ($_config[$key] ?? false) { + foreach ($_config[$key] as $k => $value) { $item[$k] = $value; } }