|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
|
|
+use App\Models\Upgrade;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use Illuminate\Support\Facades\Storage;
|
|
@@ -52,4 +53,69 @@ class UpgradeController extends Controller
|
|
}
|
|
}
|
|
return $this->jsonSuccess($info);
|
|
return $this->jsonSuccess($info);
|
|
}
|
|
}
|
|
|
|
+ /**
|
|
|
|
+ * 系统升级接口
|
|
|
|
+ * @param Request $request
|
|
|
|
+ * @return array
|
|
|
|
+ */
|
|
|
|
+ public function upgrade(Request $request)
|
|
|
|
+ {
|
|
|
|
+ $validator = Validator::make($request->all(), [
|
|
|
|
+ 'os' => ['required', Rule::in('ios', 'android')],
|
|
|
|
+ 'version_code' => 'required',
|
|
|
|
+ ]);
|
|
|
|
+ if ($validator->fails()) {
|
|
|
|
+ return jsonError($validator->errors()->first());
|
|
|
|
+ }
|
|
|
|
+ //$upgradeInfo = json_decode(config('customer.app_upgrade_info'), true);
|
|
|
|
+
|
|
|
|
+ $upgradeInfo = Upgrade::where(['os'=>$request['os']])->orderBy('id','desc')->first();
|
|
|
|
+ $info = [];
|
|
|
|
+ if ($upgradeInfo) {
|
|
|
|
+ $version = isset($upgradeInfo->version) ? $upgradeInfo->version : '1.0.0';
|
|
|
|
+ $versionCode = isset($upgradeInfo->version_code) ? $upgradeInfo->version_code : '1';
|
|
|
|
+ $content = isset($upgradeInfo->content) ? $upgradeInfo->content : '系统升级';
|
|
|
|
+ $title = isset($upgradeInfo->title) ? $upgradeInfo->title : '升级提示';
|
|
|
|
+ $clientVersion = intval($request['version_code']);
|
|
|
|
+ $url = isset($upgradeInfo->url) ? $upgradeInfo->url : '';
|
|
|
|
+
|
|
|
|
+ // $version = isset($upgradeInfo[$request['os']]) ? $upgradeInfo[$request['os']]['version'] : '1.0.0';
|
|
|
|
+ // $versionCode = isset($upgradeInfo[$request['os']]) ? $upgradeInfo[$request['os']]['version_code'] : '1';
|
|
|
|
+ // $content = isset($upgradeInfo[$request['os']]) ? $upgradeInfo[$request['os']]['content'] : '系统升级';
|
|
|
|
+ // $title = isset($upgradeInfo[$request['os']]) ? $upgradeInfo[$request['os']]['title'] : '升级提示';
|
|
|
|
+ // $clientVersion = intval($request['version_code']);
|
|
|
|
+ // $url = isset($upgradeInfo[$request['os']]) ? $upgradeInfo[$request['os']]['url'] : '';
|
|
|
|
+ if($upgradeInfo->is_forced_update == 1){
|
|
|
|
+ $info['upgrade'] = 2;
|
|
|
|
+ }else{
|
|
|
|
+ if ($clientVersion < $versionCode) {
|
|
|
|
+ $info['upgrade'] = 1;
|
|
|
|
+ $upgradeForcedInfo = Upgrade::where(['os'=>$request['os'],'is_forced_update'=>1])
|
|
|
|
+ ->where('version_code','>=',$clientVersion)
|
|
|
|
+ ->where('version_code','<=',$versionCode)
|
|
|
|
+ ->orderBy('id','desc')
|
|
|
|
+ ->first();
|
|
|
|
+ if($upgradeForcedInfo){
|
|
|
|
+ $info['upgrade'] = 2;
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ $info['upgrade'] = 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ $info['url'] = $url;
|
|
|
|
+ $info['version'] = $version;
|
|
|
|
+ $info['title'] = $title;
|
|
|
|
+ $info['content'] = $content;
|
|
|
|
+ } else {
|
|
|
|
+ $info['upgrade'] = 0;
|
|
|
|
+ $info['url'] = '';
|
|
|
|
+ $info['version'] = '';
|
|
|
|
+ $info['title'] = '';
|
|
|
|
+ $info['content'] = '';
|
|
|
|
+ Log::error('未设置升级配置信息');
|
|
|
|
+ }
|
|
|
|
+ return $this->jsonSuccess($info);
|
|
|
|
+ }
|
|
}
|
|
}
|