ith5 6 месяцев назад
Родитель
Сommit
5290433a17

+ 1 - 1
app/v1/controller/center/CommonController.php

@@ -51,7 +51,7 @@ class CommonController extends BaseController
      */
     public function getTreeGameOptions(Request $request): Response
     {
-        $data = $this->gameMainLogic->getTreeGameOptions();
+        $data = $this->gameLogic->getGameListByPermission();
         return $this->success($data);
     }
 }

+ 11 - 0
app/v1/logic/center/GameLogic.php

@@ -85,6 +85,15 @@ class GameLogic extends BaseLogic
         return array_values($groupedGames);
     }
 
+    /**
+     * 根据权限获取游戏列表
+     */
+    public function getGameListByPermission()
+    {
+        $game_list = $this->getAllGameData();
+        return $game_list;
+    }
+
     /**
      * 根据部门ID获取游戏列表
      * @param array $where
@@ -125,4 +134,6 @@ class GameLogic extends BaseLogic
     {
         $this->systemDeptLogic->setGameListByDeptId($dept_id, $game_list);
     }
+
+   
 }

+ 36 - 0
app/v1/middleware/FilterPermission.php

@@ -0,0 +1,36 @@
+<?php
+namespace app\v1\middleware;
+
+use plugin\saiadmin\app\cache\UserInfoCache;
+use Webman\Http\Request;
+use Webman\Http\Response;
+use Webman\MiddlewareInterface;
+
+/**
+ * 权限检查中间件
+ */
+class FilterPermission implements MiddlewareInterface
+{
+    public function process(Request $request, callable $handler) : Response
+    {
+        // 根据用户id获取用户权限
+        $token = getCurrentInfo();
+        // 用户权限缓存
+        $userAuthCache = new UserInfoCache($token['id']);
+        $user_info = $userAuthCache->getUserInfo();
+
+        // 获取游戏数据权限
+        $auth_game_list = $user_info['game_list'] ?? -1;
+
+        // 获取游戏自然量数据权限
+        $auth_normal_game_list = $user_info['normal_game_list'] ?? -1;
+
+        // 获取游戏自然量数据权限
+        $auth_ad_permission = $user_info['ad_permission'] ?? -1;
+
+        $request->setGet(['auth_normal_game_list' => $auth_normal_game_list==='*'?'':$auth_normal_game_list,'auth_game_list' => $auth_game_list==='*'?'':$auth_game_list,'auth_ad_permission' => $auth_ad_permission==='*'?'':$auth_ad_permission]);
+       
+
+        return $handler($request);
+    }
+}

+ 5 - 1
config/middleware.php

@@ -1,5 +1,6 @@
 <?php
 
+use app\v1\middleware\FilterPermission;
 use plugin\saiadmin\app\middleware\SystemLog;
 use plugin\saiadmin\app\middleware\CheckLogin;
 use plugin\saiadmin\app\middleware\CheckAuth;
@@ -9,5 +10,8 @@ return [
         CheckLogin::class,
         CheckAuth::class,
         SystemLog::class,
-    ]
+    ],
+    'v1' => [
+        FilterPermission::class,
+    ],
 ];