From f8657488d8c3a1dcead4c6597ef725068da6c954 Mon Sep 17 00:00:00 2001 From: augushong Date: Wed, 18 Oct 2023 17:45:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=9B=B4=E6=96=B0=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/service/AdminUpdateServiceBase.php | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/extend/base/admin/service/AdminUpdateServiceBase.php b/extend/base/admin/service/AdminUpdateServiceBase.php index fa906bd..97a1a96 100644 --- a/extend/base/admin/service/AdminUpdateServiceBase.php +++ b/extend/base/admin/service/AdminUpdateServiceBase.php @@ -73,11 +73,12 @@ class AdminUpdateServiceBase if ($last_version == $current_version) { $output->writeln('当前版本为最新版本'); - + if ($input->hasOption('reinstall')) { $output->writeln('重装代码'); } else { $this->cleanWorkpaceDir(); + return; } } @@ -126,23 +127,23 @@ class AdminUpdateServiceBase ->toArray() ); + $ignore_prefix = [ + 'runtime', + 'vendor', + '.git', + ]; + // 当前版本的所有文件 $current_version_files = $current_version_filesystem->listContents('/', true) - ->filter(function (StorageAttributes $attributes) { + ->filter(function (StorageAttributes $attributes) use ($ignore_prefix) { if ($attributes->isDir()) { return false; } - if (strpos($attributes->path(), 'runtime') === 0) { - return false; - } - - if (strpos($attributes->path(), 'vendor') === 0) { - return false; - } - - if (strpos($attributes->path(), '.git') === 0) { - return false; + foreach ($ignore_prefix as $prefix) { + if (str_starts_with($attributes->path(), $prefix)) { + return false; + } } return true; @@ -152,17 +153,15 @@ class AdminUpdateServiceBase // 最新版本的所有文件 $last_version_files = $last_version_filesystem->listContents('/', true) - ->filter(function (StorageAttributes $attributes) { + ->filter(function (StorageAttributes $attributes) use ($ignore_prefix) { if ($attributes->isDir()) { return false; } - if (strpos($attributes->path(), 'runtime') === 0) { - return false; - } - - if (strpos($attributes->path(), 'vendor') === 0) { - return false; + foreach ($ignore_prefix as $prefix) { + if (str_starts_with($attributes->path(), $prefix)) { + return false; + } } return true; @@ -255,14 +254,15 @@ class AdminUpdateServiceBase } } - if(empty($need_process_files)){ + if (empty($need_process_files)) { $output->writeln('没有需要更新的文件'); $this->cleanWorkpaceDir(); + return; } // 处理需要更新的文件 - + foreach ($need_process_files as $file_path => $type) { $now_file_path = $now_dir . '/' . $file_path; $last_file_path = $last_version_dir . '/' . $file_path;