diff --git a/app/Endpoint/Api/Http/Controllers/Product/ProductSkuFavoriteController.php b/app/Endpoint/Api/Http/Controllers/Product/ProductSkuFavoriteController.php new file mode 100644 index 00000000..ed2df304 --- /dev/null +++ b/app/Endpoint/Api/Http/Controllers/Product/ProductSkuFavoriteController.php @@ -0,0 +1,29 @@ +has('sku') + ->where('user_id', $request->user()->id) + ->latest('id') + ->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); + + return ProductSkuFavoriteResource::collection($favorites); + } +} diff --git a/app/Endpoint/Api/Http/Resources/ProductSkuFavoriteResource.php b/app/Endpoint/Api/Http/Resources/ProductSkuFavoriteResource.php new file mode 100644 index 00000000..23fcec9c --- /dev/null +++ b/app/Endpoint/Api/Http/Resources/ProductSkuFavoriteResource.php @@ -0,0 +1,24 @@ + $this->id, + 'sku' => ProductSkuSimpleResource::make($this->whenLoaded('sku')), + 'created_at' => $this->created_at->toDateTimeString(), + ]; + } +} diff --git a/app/Endpoint/Api/routes.php b/app/Endpoint/Api/routes.php index 87697df3..e0fa7f7d 100644 --- a/app/Endpoint/Api/routes.php +++ b/app/Endpoint/Api/routes.php @@ -7,6 +7,7 @@ use App\Endpoint\Api\Http\Controllers\LogoutController; use App\Endpoint\Api\Http\Controllers\Product\HotController; use App\Endpoint\Api\Http\Controllers\Product\ProductCategoryController; use App\Endpoint\Api\Http\Controllers\Product\ProductSkuController; +use App\Endpoint\Api\Http\Controllers\Product\ProductSkuFavoriteController; use App\Endpoint\Api\Http\Controllers\Product\ProductViewLogController; use App\Endpoint\Api\Http\Controllers\RegisterController; use App\Endpoint\Api\Http\Controllers\SmsCodeController; @@ -46,6 +47,8 @@ Route::group([ Route::post('products/{product}/uncollect', [ProductSkuController::class, 'uncollect']); // 商品浏览记录 Route::get('view-logs', [ProductViewLogController::class, 'index']); + // 商品收藏记录 + Route::get('favorites', [ProductSkuFavoriteController::class, 'index']); }); }); });