Преглед изворни кода

Merge branch 'develop' of http://git.caihongxingqiu.net/rainbow/config-service into develop

xielin пре 5 година
родитељ
комит
ab42f700cd
2 измењених фајлова са 83 додато и 0 уклоњено
  1. 66 0
      app/Http/Controllers/UpgradeController.php
  2. 17 0
      app/Models/Upgrade.php

+ 66 - 0
app/Http/Controllers/UpgradeController.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers;
 
+use App\Models\Upgrade;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Log;
 use Illuminate\Support\Facades\Storage;
@@ -52,4 +53,69 @@ class UpgradeController extends Controller
         }
         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);
+    }
 }

+ 17 - 0
app/Models/Upgrade.php

@@ -0,0 +1,17 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Administrator
+ * Date: 2019-08-21
+ * Time: 10:25
+ */
+
+namespace App\Models;
+
+
+use Illuminate\Database\Eloquent\Model;
+
+class Upgrade extends Model {
+    protected $table = 'upgrade';
+    protected $guarded = [];
+}