header('app-cli-os')); // 客户端版本 $version = (int) $request->header('app-cli-version', 0); $android = AppVersion::onlyReleased() ->where('os', AppOs::Android) ->latest('version') ->first(); $ios = AppVersion::onlyReleased() ->where('os', AppOs::Ios) ->latest('version') ->first(); 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 ($apkUpdateVersion) { $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 ($apkUpdateVersion) { $ios = $apkUpdateVersion; } } break; } return [ 'android' => $android ? AppVersionResource::make($android) : null, 'ios' => $ios ? AppVersionResource::make($ios) : null, ]; } }