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;