소스 검색

'新增中间件,用户状态为0时返回空'

zhuchengjie 3 년 전
부모
커밋
919a1142a4
3개의 변경된 파일63개의 추가작업 그리고 11개의 파일을 삭제
  1. 1 0
      app/Http/Kernel.php
  2. 38 0
      app/Http/Middleware/QuickAppUserStatus.php
  3. 24 11
      app/Http/Routes/QuickApp/QuickAppRoutes.php

+ 1 - 0
app/Http/Kernel.php

@@ -48,5 +48,6 @@ class Kernel extends HttpKernel
     protected $routeMiddleware = [
         'throttle'  => \Illuminate\Routing\Middleware\ThrottleRequests::class,
         'checkSign' => \App\Http\Middleware\CheckSign::class,
+        'userstatus'=> \App\Http\Middleware\QuickAppUserStatus::class
     ];
 }

+ 38 - 0
app/Http/Middleware/QuickAppUserStatus.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use App\Modules\User\Services\QappUserService;
+use Closure;
+use Exception;
+class QuickAppUserStatus
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        // 判断是否登录
+        if (!$token = $this->auth->setRequest($request)->getToken()) {
+            return response()->error('QAPP_NOT_LOGIN');
+        }
+        try {
+            //获取用户信息
+            $user = $this->auth->authenticate($token);
+            //根据uid判断用户状态 0为已注销
+            $user_info = (new QappUserService)->getQAppUserByUid($user->id);
+            if(!$user_info || $user_info->status == 0){
+                return response()->success();
+            }
+        } catch (Exception $e) {
+            myLog('QuickAppGetUserFromToken')->info($e->getMessage());
+            return response()->error('QAPP_NOT_LOGIN');
+        }
+
+        return $next($request);
+    }
+}

+ 24 - 11
app/Http/Routes/QuickApp/QuickAppRoutes.php

@@ -41,6 +41,26 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
     });
 
     Route::group(['prefix' => 'api', 'middleware' => 'jwttoken'], function () {
+
+        Route::middleware(['userstatus'])->group(function (){
+            //章节订购列表
+            Route::get('order/chapterOrderList', 'Order\OrdersController@chapterOrderList');
+
+            //单本订购列表
+            Route::get('order/bookOrderList', 'Order\OrdersController@bookOrderList');
+
+            //充值记录
+            Route::get('order/chargeRecordLists', 'Order\OrdersController@chargeRecordLists');
+
+            Route::get('user/sign_record', 'User\UserController@signRecord');
+
+            //书架
+            Route::get('userShelfBooks', 'User\UserShelfBooksController@index');
+
+            //阅读记录
+            Route::get('readrecord', 'User\ReadRecordController@index');
+        });
+
         //限免
         Route::get('books/free/{sex}', 'Book\BookController@free')->where('sex', '\d+');
         // 全局配置
@@ -63,12 +83,6 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
         Route::get('books/{bid}/balance/chapterOrders/{cid}', 'Book\ChapterController@pay');
         //充值列表
         Route::get('order/chargeList', 'Order\OrdersController@chargeList');
-        //章节订购列表
-        Route::get('order/chapterOrderList', 'Order\OrdersController@chapterOrderList');
-        //单本订购列表
-        Route::get('order/bookOrderList', 'Order\OrdersController@bookOrderList');
-        //充值记录
-        Route::get('order/chargeRecordLists', 'Order\OrdersController@chargeRecordLists');
 
         Route::get('order/issuccess', 'Order\OrdersController@isSuccess');
         //个人中心
@@ -89,18 +103,16 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
         Route::get('sign', 'User\UserController@sign');
         Route::get('sign/new', 'User\UserController@newSign');
         Route::get('sign/info', 'User\UserController@findSignInfo');
-        Route::get('user/sign_record', 'User\UserController@signRecord');
+
         Route::get('user/addDesktop', 'User\UserController@addDesktop');
-        //书架
-        Route::get('userShelfBooks', 'User\UserShelfBooksController@index');
+
         //添加书架
         Route::post('userShelfBooks', 'User\UserShelfBooksController@addShelf');
         //删除书架
         Route::get('userShelfBooks/delete', 'User\UserShelfBooksController@delShelf');
 
         Route::get('userShelfBooks/isonshelf', 'User\UserShelfBooksController@isOnshelf');
-        //阅读记录
-        Route::get('readrecord', 'User\ReadRecordController@index');
+
         //添加阅读记录
         Route::post('readrecord', 'User\ReadRecordController@addReadRecord');
         //删除阅读记录
@@ -120,6 +132,7 @@ Route::group(['domain' => env('QUICKAPP_DOMAIN'), 'namespace' => 'App\Http\Contr
         Route::get('activity/detail', 'Activity\ActivityController@channelCustomActivityV3');
     });
 
+
     // 推送
     Route::group(['prefix' => 'api/push'], function () {
         Route::post('pushToUser', 'Push\PushController@pushToUser');