diff --git a/beike/Admin/Http/Controllers/AdminRoleController.php b/beike/Admin/Http/Controllers/AdminRoleController.php index 8318aa0a..e8f8fd7c 100644 --- a/beike/Admin/Http/Controllers/AdminRoleController.php +++ b/beike/Admin/Http/Controllers/AdminRoleController.php @@ -51,7 +51,7 @@ class AdminRoleController extends Controller /** - * 保存 + * 保存后台用户角色 * * @param AdminRoleRequest $request * @return array diff --git a/beike/Admin/Http/Controllers/PagesController.php b/beike/Admin/Http/Controllers/PagesController.php index d473d0ef..b97a34b4 100644 --- a/beike/Admin/Http/Controllers/PagesController.php +++ b/beike/Admin/Http/Controllers/PagesController.php @@ -13,6 +13,7 @@ namespace Beike\Admin\Http\Controllers; use Beike\Models\Page; use Beike\Repositories\ProductRepo; +use Beike\Shop\Http\Resources\PageDetail; use Illuminate\Http\Request; use Beike\Admin\Repositories\PageRepo; @@ -20,8 +21,10 @@ class PagesController { public function index() { + $pageList = PageRepo::getList(); $data = [ - 'pages' => PageRepo::getList() + 'pages' => $pageList, + 'pages_format' => PageDetail::collection($pageList)->jsonSerialize() ]; return view('admin::pages.pages.index', $data); } diff --git a/beike/Admin/Repositories/PageRepo.php b/beike/Admin/Repositories/PageRepo.php index a8ce9619..39848dbf 100644 --- a/beike/Admin/Repositories/PageRepo.php +++ b/beike/Admin/Repositories/PageRepo.php @@ -13,19 +13,23 @@ namespace Beike\Admin\Repositories; use Beike\Models\Page; use Beike\Models\Product; +use Beike\Shop\Http\Resources\PageDetail; use Illuminate\Contracts\Pagination\LengthAwarePaginator; class PageRepo { /** * 获取列表页数据 + * * @return LengthAwarePaginator */ public static function getList(): LengthAwarePaginator { - return Page::query()->with([ + $builder = Page::query()->with([ 'description' - ])->paginate(); + ])->orderByDesc('created_at'); + + return $builder->paginate(); } diff --git a/beike/Helpers.php b/beike/Helpers.php index 72cc832e..ddba3553 100644 --- a/beike/Helpers.php +++ b/beike/Helpers.php @@ -374,12 +374,11 @@ function quantity_format($quantity) */ function json_success($message, $data = []): array { - $result = [ + return [ 'status' => 'success', 'message' => $message, 'data' => $data, ]; - return $result; } /** @@ -387,12 +386,30 @@ function json_success($message, $data = []): array */ function json_fail($message, $data = []): array { - $result = [ + return [ 'status' => 'fail', 'message' => $message, 'data' => $data, ]; - return $result; +} + +if (!function_exists('sub_string')) { + /** + * @param $string + * @param int $length + * @param string $dot + * @return string + */ + function sub_string($string, int $length = 16, string $dot = '...'): string + { + $strLength = strlen($string); + if ($length <= 0) { + return $string; + } elseif ($strLength <= $length) { + return $string; + } + return mb_substr($string, 0, $length) . $dot; + } } /** diff --git a/beike/Shop/Http/Resources/PageDetail.php b/beike/Shop/Http/Resources/PageDetail.php index 2531be97..7829fe3b 100644 --- a/beike/Shop/Http/Resources/PageDetail.php +++ b/beike/Shop/Http/Resources/PageDetail.php @@ -26,7 +26,9 @@ class PageDetail extends JsonResource $description = $this->description; return [ 'id' => $this->id, + 'active' => $this->active, 'title' => $description->title, + 'title_format' => sub_string($description->title), 'content' => $description->content, 'meta_title' => $description->meta_title, 'meta_description' => $description->meta_description, diff --git a/resources/beike/admin/views/pages/pages/index.blade.php b/resources/beike/admin/views/pages/pages/index.blade.php index 3412ac95..8bb61fe5 100644 --- a/resources/beike/admin/views/pages/pages/index.blade.php +++ b/resources/beike/admin/views/pages/pages/index.blade.php @@ -20,16 +20,16 @@
- @foreach ($pages as $page) + @foreach ($pages_format as $page)