<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; class UpgradeController extends Controller { /** * 系统升级接口 * @param Request $request * @return array */ public function index(Request $request) { $validator = Validator::make($request->all(), [ 'os' => ['required', Rule::in('ios', 'android')], 'version' => 'required', ]); if ($validator->fails()) { return jsonError($validator->errors()->first()); } $upgradeInfo = json_decode(config('customer.app_upgrade_info'), true); $info = []; if ($upgradeInfo) { $version = isset($upgradeInfo[$request['os']]) ? $upgradeInfo[$request['os']]['version'] : '1.0.0'; $clientVersion = $request['version']; $url = isset($upgradeInfo[$request['os']]) ? $upgradeInfo[$request['os']]['url'] : ''; $row = version_compare($version, $clientVersion); if (-1 == $row) { $info['upgrade'] = 0; } elseif (0 == $row) { $info['upgrade'] = 0; } elseif (1 == $row) { $info['upgrade'] = 1; } $info['url'] = $url; } else { $info['upgrade'] = 0; $info['url'] = ''; Log::error('未设置升级配置信息'); } return $this->jsonSuccess($info); } }