黄宗昌 преди 2 години
родител
ревизия
5b197975f1
променени са 2 файла, в които са добавени 30 реда и са изтрити 10 реда
  1. 28 0
      app/Helper/function.php
  2. 2 10
      app/Http/Controllers/V1/ProductController.php

+ 28 - 0
app/Helper/function.php

xqd
@@ -330,3 +330,31 @@ if (!function_exists('valid_url')) {
     }
 }
 
+/**
+ * 列表数据处理
+ */
+if (!function_exists('pages')) {
+
+    function pages($list,$num){
+        $arr1 = array_slice(array_chunk($list->items(),$num),0,count(array_chunk($list->items(),$num))-2);
+        $arr2 = array_slice(array_chunk($list->items(),$num),-2);
+        $arr3 = [];
+        if(!empty($arr2)){
+            foreach ($arr2 as $v){
+                foreach ($v as $v1){
+                    $arr3[] = $v1;
+                }
+            }
+        }
+        $arr = array_merge($arr1,[$arr3]);
+        return [
+            'items' => $arr,
+            'total' => $list->total(),   // 总数
+            'pageSize' => $list->perPage(), // 每页数据
+            'totalPage' => $list->lastPage(),// 总页数
+            'page' => $list->currentPage(),//当前页
+        ];
+    }
+
+}
+

+ 2 - 10
app/Http/Controllers/V1/ProductController.php

xqd
@@ -183,16 +183,8 @@ class ProductController extends Controller
         }
         $list = $query->where('status',1)
             ->paginate($limit);
-        $num = intval(round($limit / $go));
-        $data = [
-            'items' => array_chunk($list->items(),$num),
-            'total' => $list->total(),   // 总数
-            'pageSize' => $list->perPage(), // 每页数据
-            'totalPage' => $list->lastPage(),// 总页数
-            'page' => $list->currentPage(),//当前页
-        ];
-
-        return $this->success($data);
+        $num = intval($limit / $go);
+        return $this->success(pages($list,$num));
     }
 
     /**