diff --git a/beike/Admin/Repositories/PageRepo.php b/beike/Admin/Repositories/PageRepo.php index 6cb871a2..230b5184 100644 --- a/beike/Admin/Repositories/PageRepo.php +++ b/beike/Admin/Repositories/PageRepo.php @@ -28,7 +28,7 @@ class PageRepo 'description' ])->orderByDesc('updated_at'); - return $builder->paginate(); + return $builder->paginate(perPage()); } diff --git a/beike/Helpers.php b/beike/Helpers.php index 86196490..21cd7660 100644 --- a/beike/Helpers.php +++ b/beike/Helpers.php @@ -542,7 +542,7 @@ if (!function_exists('sub_string')) { * @param mixed $builder * @return string|string[]|null */ -function to_sql($builder) +function to_sql($builder): array|string|null { $sql = $builder->toSql(); foreach ($builder->getBindings() as $binding) { @@ -575,7 +575,7 @@ function create_directories($directoryPath) * @param $hookValue * @return mixed */ -function hook_filter($hookKey, $hookValue) +function hook_filter($hookKey, $hookValue): mixed { return Eventy::filter($hookKey, $hookValue); } @@ -587,7 +587,7 @@ function hook_filter($hookKey, $hookValue) * @param $hookValue * @return mixed */ -function hook_action($hookKey, $hookValue) +function hook_action($hookKey, $hookValue): mixed { Eventy::action($hookKey, $hookValue); } @@ -624,7 +624,7 @@ function add_action($hook, $callback, int $priority = 20, int $arguments = 1) * * @return bool */ -function installed() +function installed(): bool { return file_exists(storage_path('installed')); } @@ -634,7 +634,7 @@ function installed() * * @return bool */ -function is_mobile() +function is_mobile(): bool { return (new \Jenssegers\Agent\Agent())->isMobile(); } @@ -645,7 +645,7 @@ function is_mobile() * * @return bool */ -function is_secure() +function is_secure(): bool { if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') { return true; @@ -660,3 +660,14 @@ function is_secure() } return false; } + + +/** + * 每页商品显示数量 + * + * @return int + */ +function perPage(): int +{ + return (int)system_setting('base.product_per_page', 20); +} diff --git a/beike/Repositories/BrandRepo.php b/beike/Repositories/BrandRepo.php index ed82e584..33101a07 100644 --- a/beike/Repositories/BrandRepo.php +++ b/beike/Repositories/BrandRepo.php @@ -95,7 +95,7 @@ class BrandRepo public static function list($filters): LengthAwarePaginator { $builder = self::getBuilder($filters); - return $builder->paginate(10)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } diff --git a/beike/Repositories/CountryRepo.php b/beike/Repositories/CountryRepo.php index e142411e..9b543d54 100644 --- a/beike/Repositories/CountryRepo.php +++ b/beike/Repositories/CountryRepo.php @@ -99,7 +99,7 @@ class CountryRepo $builder->where('countries.status', $data['status']); } - return $builder->paginate(20)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } diff --git a/beike/Repositories/CustomerRepo.php b/beike/Repositories/CustomerRepo.php index 2817b52b..ab7935d7 100644 --- a/beike/Repositories/CustomerRepo.php +++ b/beike/Repositories/CustomerRepo.php @@ -81,7 +81,7 @@ class CustomerRepo public static function list($data): LengthAwarePaginator { $builder = self::getListBuilder($data); - return $builder->paginate(20)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } @@ -170,7 +170,7 @@ class CustomerRepo $builder = $customer->wishlists() ->whereHas('product'); - return $builder->with('product.description')->paginate(20); + return $builder->with('product.description')->paginate(perPage()); } /** diff --git a/beike/Repositories/OrderRepo.php b/beike/Repositories/OrderRepo.php index 4a08b7db..ec488743 100644 --- a/beike/Repositories/OrderRepo.php +++ b/beike/Repositories/OrderRepo.php @@ -44,7 +44,7 @@ class OrderRepo public static function getListByCustomer($customer): LengthAwarePaginator { $builder = self::getListBuilder(['customer' => $customer])->orderByDesc('created_at'); - return $builder->paginate(); + return $builder->paginate(perPage()); } @@ -69,7 +69,7 @@ class OrderRepo public static function filterOrders(array $filters = []): LengthAwarePaginator { $builder = self::getListBuilder($filters)->orderByDesc('created_at'); - return $builder->paginate(); + return $builder->paginate(perPage()); } diff --git a/beike/Repositories/ProductRepo.php b/beike/Repositories/ProductRepo.php index 99ba8d28..8cafb9b9 100644 --- a/beike/Repositories/ProductRepo.php +++ b/beike/Repositories/ProductRepo.php @@ -48,7 +48,7 @@ class ProductRepo public static function getProductsByCategory($categoryId): AnonymousResourceCollection { $builder = self::getBuilder(['category_id' => $categoryId, 'active' => 1]); - $products = $builder->with('inCurrentWishlist')->paginate(20); + $products = $builder->with('inCurrentWishlist')->paginate(perPage()); return ProductSimple::collection($products); } @@ -138,7 +138,7 @@ class ProductRepo public static function list($data = []) { - return self::getBuilder($data)->paginate($data['per_page'] ?? 20); + return self::getBuilder($data)->paginate($data['per_page'] ?? perPage()); } public static function autocomplete($name) diff --git a/beike/Repositories/RmaRepo.php b/beike/Repositories/RmaRepo.php index fd2e83c5..fe903a44 100644 --- a/beike/Repositories/RmaRepo.php +++ b/beike/Repositories/RmaRepo.php @@ -121,7 +121,7 @@ class RmaRepo } $builder->orderBy('id', 'DESC'); - return $builder->paginate(10)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } /** diff --git a/beike/Repositories/UserRepo.php b/beike/Repositories/UserRepo.php index 48465400..4688e71b 100644 --- a/beike/Repositories/UserRepo.php +++ b/beike/Repositories/UserRepo.php @@ -84,7 +84,7 @@ class UserRepo $builder->where('admin_users.active', $data['active']); } - return $builder->paginate(20)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } } diff --git a/beike/Repositories/ZoneRepo.php b/beike/Repositories/ZoneRepo.php index 653a774e..c474ce32 100644 --- a/beike/Repositories/ZoneRepo.php +++ b/beike/Repositories/ZoneRepo.php @@ -97,7 +97,7 @@ class ZoneRepo $builder->where('zones.status', $data['status']); } - return $builder->paginate(20)->withQueryString(); + return $builder->paginate(perPage())->withQueryString(); } /** diff --git a/beike/Shop/Http/Controllers/BrandController.php b/beike/Shop/Http/Controllers/BrandController.php index b3b781a1..7b30165b 100644 --- a/beike/Shop/Http/Controllers/BrandController.php +++ b/beike/Shop/Http/Controllers/BrandController.php @@ -27,7 +27,7 @@ class BrandController extends Controller 'description', 'inCurrentWishlist' ]) - ->paginate(20); + ->paginate(perPage()); $data = [ 'brand' => $brand, diff --git a/beike/Shop/Http/Controllers/ProductController.php b/beike/Shop/Http/Controllers/ProductController.php index 6ec86f63..fd3ae586 100644 --- a/beike/Shop/Http/Controllers/ProductController.php +++ b/beike/Shop/Http/Controllers/ProductController.php @@ -35,7 +35,10 @@ class ProductController extends Controller public function search(Request $request) { $keyword = $request->get('keyword'); - $products = ProductRepo::getBuilder(['keyword' => $keyword])->where('active', true)->paginate(); + $products = ProductRepo::getBuilder(['keyword' => $keyword]) + ->where('active', true) + ->paginate(perPage()) + ->withQueryString(); $data = [ 'products' => $products, diff --git a/plugins/LatestProducts/Controllers/MenusController.php b/plugins/LatestProducts/Controllers/MenusController.php index 075859ec..35150288 100644 --- a/plugins/LatestProducts/Controllers/MenusController.php +++ b/plugins/LatestProducts/Controllers/MenusController.php @@ -31,7 +31,7 @@ class MenusController extends Controller $products = ProductRepo::getBuilder(['active' => 1]) ->whereHas('master_sku') ->with('inCurrentWishlist') - ->paginate(40); + ->paginate(perPage()); $data = [ 'products' => $products, diff --git a/resources/beike/admin/views/pages/setting.blade.php b/resources/beike/admin/views/pages/setting.blade.php index 0940c7c5..31f05778 100644 --- a/resources/beike/admin/views/pages/setting.blade.php +++ b/resources/beike/admin/views/pages/setting.blade.php @@ -69,7 +69,7 @@