浏览代码

'未登录接口添加包判断中间件'

zhuchengjie 2 年之前
父节点
当前提交
57454f6d1d
共有 3 个文件被更改,包括 34 次插入2 次删除
  1. 2 1
      app/Http/Kernel.php
  2. 31 0
      app/Http/Middleware/QuickAppGetPackage.php
  3. 1 1
      app/Http/Routes/QuickApp/QuickAppRoutes.php

+ 2 - 1
app/Http/Kernel.php

@@ -49,6 +49,7 @@ class Kernel extends HttpKernel
         'throttle'  => \Illuminate\Routing\Middleware\ThrottleRequests::class,
         'throttle'  => \Illuminate\Routing\Middleware\ThrottleRequests::class,
         'checkSign' => \App\Http\Middleware\CheckSign::class,
         'checkSign' => \App\Http\Middleware\CheckSign::class,
         'userstatus'=> \App\Http\Middleware\QuickAppUserStatus::class,
         'userstatus'=> \App\Http\Middleware\QuickAppUserStatus::class,
-        'userrefresh'=> \App\Http\Middleware\QuickAppUserInfoRefresh::class
+        'userrefresh'=> \App\Http\Middleware\QuickAppUserInfoRefresh::class,
+        'getPackage'=> \App\Http\Middleware\QuickAppGetPackage::class,
     ];
     ];
 }
 }

+ 31 - 0
app/Http/Middleware/QuickAppGetPackage.php

@@ -0,0 +1,31 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use App\Modules\User\Services\QappPackageService;
+use Closure;
+use Tymon\JWTAuth\Middleware\BaseMiddleware;
+
+class QuickAppGetPackage extends BaseMiddleware
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        // 获取头部信息
+        $package     = $request->header('x-package', '');
+        $channel_id = QappPackageService::getChannelId($package);
+        if($channel_id > 0){
+            return $next($request);
+        }else{
+            \Log::info('not_exists_package:'.$package. 'channel_id:'. $channel_id);
+            return response()->error('QAPP_SYS_ERROR');
+        }
+
+    }
+}

+ 1 - 1
app/Http/Routes/QuickApp/QuickAppRoutes.php

@@ -19,7 +19,7 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
     });
     });
 
 
     // 无需登录的接口
     // 无需登录的接口
-    Route::group(['prefix' => 'api'], function () {
+    Route::group(['prefix' => 'api', 'middleware' => 'getPackage'], function () {
 
 
         Route::middleware(['userrefresh'])->group(function (){
         Route::middleware(['userrefresh'])->group(function (){
             // 首页
             // 首页