Bläddra i källkod

add upgrade api

xielin 5 år sedan
förälder
incheckning
319e58736f
3 ändrade filer med 58 tillägg och 5 borttagningar
  1. 49 0
      app/Http/Controllers/UpgradeController.php
  2. 1 0
      config/customer.tpl
  3. 8 5
      routes/api.php

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

@@ -0,0 +1,49 @@
+<?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);
+    }
+}

+ 1 - 0
config/customer.tpl

@@ -15,4 +15,5 @@ return [
     'share_post_bean' => '{share_post_bean}',
     'find_friend_img' => '{find_friend_img}',
     'suggest_img' => '{suggest_img}',
+    'app_upgrade_info' => '{app_upgrade_info}',
 ];

+ 8 - 5
routes/api.php

@@ -31,27 +31,30 @@ $api->version('v1', [
         $api->get('message/hide', 'MessageRuleController@hide');
     });
     //登录+验签
-    $api->group(['middleware' => ['chxq_jwt_auth','chxq_sign']], function ($api) {
+    $api->group(['middleware' => ['chxq_jwt_auth', 'chxq_sign']], function ($api) {
     });
     //公共配置
-    $api->get('/config','ConfigController@index');
+    $api->get('/config', 'ConfigController@index');
+
     //仅验签
     $api->group(['middleware' => 'chxq_sign'], function ($api) {
         //自提点列表
-        $api->get('/pickupNode/index','ConfigPickupNodeController@index');
+        $api->get('/pickupNode/index', 'ConfigPickupNodeController@index');
 
 
         //已开通城市列表
-        $api->get('/cityManagement/index','ConfigCityManagementController@index');
+        $api->get('/cityManagement/index', 'ConfigCityManagementController@index');
         //获取省市区
         $api->get('/configProvince/index', 'ConfigProvinceController@index');
 
         //储存方式列表
         $api->get('/storeType/index', 'StoreTypeController@index');
+        //升级接口
+        $api->get('upgrade', 'UpgradeController@index');
     });
 
     //获取某自提点
-    $api->get('/pickupNode/getPickupNode','ConfigPickupNodeController@getPickupNode');
+    $api->get('/pickupNode/getPickupNode', 'ConfigPickupNodeController@getPickupNode');
 });
 
 $api->version('v1', [