Browse Source

fixed:全能后台接口

刘学玺 4 months ago
parent
commit
063bddce30
1 changed files with 28 additions and 14 deletions
  1. 28 14
      app/Services/ViewService.php

+ 28 - 14
app/Services/ViewService.php

@@ -13,14 +13,16 @@ class ViewService
     /**
      * 获取视图列表
      *
-     * @param  array  $params  查询参数
+     * @param  string  $viewName  视图名称
+     * @param  array  $whereParams  查询参数
+     * @param  array  $pageParams  分页参数
+     * @param  array  $sortParams  排序参数
      */
-    public function viewList($viewName, array $whereParams, array $pageParams, array $sortParams = [])
+    public function viewList($viewName, array $whereParams, array $pageParams, array $sortParams = []): array
     {
         try {
             $query = DB::table($viewName);
 
-            // 获取分页数据
             // 条件筛选
             foreach ($whereParams as $key => $value) {
                 if (is_string($value)) {
@@ -31,23 +33,35 @@ class ViewService
             }
 
             // 排序
-            ! empty($sortParams) && $query->orderBy($sortParams['orderBy'], $sortParams['orderDir']);
+            if (! empty($sortParams)) {
+                $query->orderBy($sortParams['orderBy'], $sortParams['orderDir']);
+            }
 
             $result = $query->paginate($pageParams['perPage'], ['*'], 'page', $pageParams['page']);
 
-            return response()->json([
-                'code' => 200,
-                'message' => 'success',
-                'data' => $result,
-            ]);
+            return [
+                'data' => [
+                    'items' => $result->items(),
+                    'total' => $result->total(),
+                ],
+                'msg' => 'success',
+                'status' => 0,
+            ];
 
         } catch (\Exception $e) {
-            Log::error('获取用户列表失败:'.$e->getMessage());
-
-            return response()->json([
-                'code' => 500,
-                'message' => '获取用户列表失败',
+            Log::error('获取视图数据失败', [
+                'view_name' => $viewName,
+                'error' => $e->getMessage(),
+                'trace' => $e->getTraceAsString(),
             ]);
+
+            return [
+                'data' => [
+                    'items' => [],
+                ],
+                'msg' => '获取数据失败',
+                'status' => 1,
+            ];
         }
     }
 }