wesmiler 1 日 前
コミット
d658e5d2ee

+ 19 - 1
app/Http/Controllers/Api/v1/ScoialController.php

@@ -3,8 +3,8 @@
 namespace App\Http\Controllers\Api\v1;
 
 use App\Http\Controllers\Api\webApp;
-use App\Services\Api\ArticleService;
 use App\Services\Api\ScoialService;
+use App\Services\Common\AdService;
 
 /**
  * 发圈管理
@@ -26,6 +26,24 @@ class ScoialController extends webApp
     }
 
     /**
+     * 首页数据
+     * @return array
+     */
+    public function data()
+    {
+        try {
+            $data = [
+                'banners' => AdService::make()->getListByPosition(2), // 轮播
+            ];
+
+            return showJson(1010, true, $data);
+        } catch (\Exception $exception) {
+            $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
+            return showJson(1046, false, $error);
+        }
+    }
+
+    /**
      * 详情
      */
     public function info()

+ 1 - 6
app/Http/Controllers/Api/webApp.php

@@ -38,9 +38,6 @@ class webApp extends BaseController
     // 用户类型
     protected $userType = 1;
 
-    // 仓库ID
-    protected $stockId = 1;
-
     // 登录信息
     protected $userInfo = [];
 
@@ -58,7 +55,7 @@ class webApp extends BaseController
         $this->initConfig();
 
         // 登录检测中间件
-//        $this->middleware('web.login');
+        $this->middleware('web.auth');
 
 
         // 初始化登录信息
@@ -72,7 +69,6 @@ class webApp extends BaseController
                 $this->initLogin($userId);
             }else{
                 $this->userId = $userId;
-                $this->stockId = isset($userInfo['stock_id'])? $userInfo['stock_id'] : 0;
                 $this->userType = isset($userInfo['user_type']) && $userInfo['user_type']? $userInfo['user_type'] : 1;
                 $this->userInfo = $userInfo;
             }
@@ -113,7 +109,6 @@ class webApp extends BaseController
             $memberModel = new MemberModel();
             $userInfo = $memberModel->getInfo($this->userId);
             $this->userInfo = $userInfo;
-            $this->stockId = isset($userInfo['stock_id'])? $userInfo['stock_id'] : 0;
             $this->userType = isset($userInfo['user_type']) && $userInfo['user_type']? $userInfo['user_type'] : 1;
             RedisService::set("auths:info:{$userId}", $this->userInfo, 7*24*3600);
         }

+ 1 - 1
app/Http/Kernel.php

@@ -69,6 +69,6 @@ class Kernel extends HttpKernel
         // app端
         'web.login' => \App\Http\Middleware\WebLogin::class,
         // 司机端
-        'driver.login' => \App\Http\Middleware\DriverLogin::class,
+        'web.auth' => \App\Http\Middleware\WebAuth::class,
     ];
 }

+ 49 - 0
app/Http/Middleware/WebAuth.php

@@ -0,0 +1,49 @@
+<?php
+
+
+namespace App\Http\Middleware;
+
+use App\Helpers\Jwt;
+use App\Services\JwtService;
+use App\Services\RedisService;
+use Closure;
+use Illuminate\Auth\Middleware\Authenticate as Middleware;
+
+class WebAuth extends Middleware
+{
+    /**
+     * 执行句柄
+     * @param \Illuminate\Http\Request $request
+     * @param Closure $next
+     * @param mixed ...$guards
+     * @return mixed
+     * @throws \Illuminate\Auth\AuthenticationException
+     * @since 2020/8/31
+     * @author wesmiler
+     */
+    public function handle($request, Closure $next, ...$guards)
+    {
+        $action = app('request')->route()->getAction();
+        $controller = class_basename($action['controller']);
+        list($controller, $action) = explode('@', $controller);
+        $noLoginActs = ['LoginController','UploadController','IndexController'];
+        $token = $request->headers->get('Authorization');
+        if (strpos($token, 'Bearer ') !== false) {
+            $token = str_replace("Bearer ", null, $token);
+            $token = trim($token);
+            if($token){
+                // JWT解密token
+                $userId = JwtService::make()->verifyToken($token);
+
+            }else{
+                return response()->json(message(1035, false, [], 403))->setEncodingOptions(256);
+            }
+        } else {
+            $userId = 0;
+        }
+
+        $request->headers->set('token_uid' , $userId);
+        //如果已登录则执行正常的请求
+        return $next($request);
+    }
+}

+ 1 - 0
routes/api.php

@@ -45,6 +45,7 @@ Route::prefix('v1')->group(function() {
 
     // 发圈笔记
     Route::get('/scoial/index', [\App\Http\Controllers\Api\v1\ScoialController::class, 'index']);
+    Route::get('/scoial/data', [\App\Http\Controllers\Api\v1\ScoialController::class, 'data']);
 });