From f8c3f680105445b04041a71134f5d96e7bf9f2b6 Mon Sep 17 00:00:00 2001 From: Jing Li Date: Sun, 5 May 2024 23:02:49 +0800 Subject: [PATCH] Update --- .../Controllers/Api/AppVersionController.php | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/app/Http/Controllers/Api/AppVersionController.php b/app/Http/Controllers/Api/AppVersionController.php index 64e8aae..42b35f4 100644 --- a/app/Http/Controllers/Api/AppVersionController.php +++ b/app/Http/Controllers/Api/AppVersionController.php @@ -29,31 +29,45 @@ class AppVersionController extends Controller switch ($os) { case AppOs::Android: - if (! $android->isApkUpdate()) { - $apkUpdateVersion = AppVersion::onlyReleased() - ->where('os', AppOs::Android) - ->where('version', '>', $version) - ->where('update_strategy', AppUpdateStrategy::Apk) - ->latest('version') - ->first(); + if ($android->version > $version + 1) { + if (! $android->isApkUpdate()) { + $apkUpdateVersion = AppVersion::onlyReleased() + ->where('os', AppOs::Android) + ->where('version', '>', $version) + ->where('update_strategy', AppUpdateStrategy::Apk) + ->latest('version') + ->first(); - if ($apkUpdateVersion) { - $android = $apkUpdateVersion; + // 全量包更新 + if ($apkUpdateVersion) { + if ((string) $android->apk_url === '') { + $android->update_strategy = AppUpdateStrategy::Apk; + } else { + $android = $apkUpdateVersion; + } + } } } break; case AppOs::Ios: - if (! $ios->isApkUpdate()) { - $apkUpdateVersion = AppVersion::onlyReleased() - ->where('os', AppOs::Ios) - ->where('version', '>', $version) - ->where('update_strategy', AppUpdateStrategy::Apk) - ->latest('version') - ->first(); + if ($ios->version > $version + 1) { + if (! $ios->isApkUpdate()) { + $apkUpdateVersion = AppVersion::onlyReleased() + ->where('os', AppOs::Ios) + ->where('version', '>', $version) + ->where('update_strategy', AppUpdateStrategy::Apk) + ->latest('version') + ->first(); - if ($apkUpdateVersion) { - $ios = $apkUpdateVersion; + // 全量包更新 + if ($apkUpdateVersion) { + if ((string) $ios->apk_url === '') { + $ios->update_strategy = AppUpdateStrategy::Apk; + } else { + $ios = $apkUpdateVersion; + } + } } } break;