128 lines
6.2 KiB
PHP
128 lines
6.2 KiB
PHP
<?php
|
|
|
|
use App\Endpoint\Api\Http\Controllers\Account\ChangePasswordController;
|
|
use App\Endpoint\Api\Http\Controllers\Account\UserController;
|
|
use App\Endpoint\Api\Http\Controllers\AdController;
|
|
use App\Endpoint\Api\Http\Controllers\AfterSaleController;
|
|
use App\Endpoint\Api\Http\Controllers\ArticleController;
|
|
use App\Endpoint\Api\Http\Controllers\Auth\LoginController;
|
|
use App\Endpoint\Api\Http\Controllers\Auth\LogoutController;
|
|
use App\Endpoint\Api\Http\Controllers\Auth\RegisterController;
|
|
use App\Endpoint\Api\Http\Controllers\Auth\ResetPasswordController;
|
|
use App\Endpoint\Api\Http\Controllers\CaptchaController;
|
|
use App\Endpoint\Api\Http\Controllers\ClickController;
|
|
use App\Endpoint\Api\Http\Controllers\MessageController;
|
|
use App\Endpoint\Api\Http\Controllers\Order\OrderController;
|
|
use App\Endpoint\Api\Http\Controllers\Order\OrderVerifyController;
|
|
use App\Endpoint\Api\Http\Controllers\Order\StatisticsController;
|
|
use App\Endpoint\Api\Http\Controllers\Product\HotController;
|
|
use App\Endpoint\Api\Http\Controllers\Product\PartController;
|
|
use App\Endpoint\Api\Http\Controllers\Product\ProductCategoryController;
|
|
use App\Endpoint\Api\Http\Controllers\Product\ProductFavoriteController;
|
|
use App\Endpoint\Api\Http\Controllers\Product\ProductSkuController;
|
|
use App\Endpoint\Api\Http\Controllers\Product\ProductViewLogController;
|
|
use App\Endpoint\Api\Http\Controllers\ShippingAddressController;
|
|
use App\Endpoint\Api\Http\Controllers\ShoppingCartItemController;
|
|
use App\Endpoint\Api\Http\Controllers\SmsCodeController;
|
|
use App\Endpoint\Api\Http\Controllers\UserCouponController;
|
|
use App\Endpoint\Api\Http\Controllers\ZoneController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::group([
|
|
'prefix' => 'v1',
|
|
'middleware' => [
|
|
'guard:api',
|
|
\App\Endpoint\Api\Http\Middleware\ConfigModelFilter::class,
|
|
],
|
|
], function () {
|
|
Route::post('captchas', [CaptchaController::class, 'store']);
|
|
Route::get('captchas/{captcha}', [CaptchaController::class, 'show']);
|
|
Route::post('sms-codes', [SmsCodeController::class, 'store']);
|
|
|
|
Route::get('zones', [ZoneController::class, 'index']);
|
|
|
|
Route::post('login', LoginController::class);
|
|
Route::post('logout', LogoutController::class);
|
|
Route::post('register', RegisterController::class);
|
|
Route::post('reset-password', ResetPasswordController::class);
|
|
|
|
Route::get('ads', [AdController::class, 'index']);
|
|
|
|
// 商品分类
|
|
Route::get('product/categories', [ProductCategoryController::class, 'index']);
|
|
// 热销商品
|
|
Route::get('product/hot', HotController::class);
|
|
// 商品分区
|
|
Route::get('product/part', PartController::class);
|
|
// 筛选商品
|
|
Route::get('product/products', [ProductSkuController::class, 'index']);
|
|
// 查看商品
|
|
Route::get('product/products/{product}', [ProductSkuController::class, 'show']);
|
|
//文章列表
|
|
Route::get('articles', [ArticleController::class, 'index']);
|
|
//指定文章配置
|
|
Route::get('article-config', [ArticleController::class, 'config']);
|
|
|
|
Route::middleware(['auth:api'])->group(function () {
|
|
// 我的信息
|
|
Route::get('me', [UserController::class, 'show']);
|
|
Route::put('me', [UserController::class, 'update']);
|
|
// 修改密码
|
|
Route::post('change-password', ChangePasswordController::class);
|
|
|
|
// 收藏商品
|
|
Route::post('product/products/{product}/collect', [ProductSkuController::class, 'collect']);
|
|
// 取消商品收藏
|
|
Route::post('product/products/{product}/uncollect', [ProductSkuController::class, 'uncollect']);
|
|
// 商品浏览记录
|
|
Route::get('product/view-logs', [ProductViewLogController::class, 'index']);
|
|
// 商品收藏记录
|
|
Route::get('product/favorites', [ProductFavoriteController::class, 'index']);
|
|
|
|
// 购物车
|
|
Route::get('shopping-cart-items', [ShoppingCartItemController::class, 'index']);
|
|
Route::post('shopping-cart-items', [ShoppingCartItemController::class, 'store']);
|
|
Route::delete('shopping-cart-items', [ShoppingCartItemController::class, 'delete']);
|
|
Route::put('shopping-cart-items/{shopping_cart_item}', [ShoppingCartItemController::class, 'update']);
|
|
|
|
Route::apiResource('shipping-addresses', ShippingAddressController::class);
|
|
|
|
//售后订单
|
|
Route::get('after-sales', [AfterSaleController::class, 'index']);
|
|
Route::post('after-sales', [AfterSaleController::class, 'store']);
|
|
Route::get('after-sales/{after_sale}', [AfterSaleController::class, 'show']);
|
|
Route::get('after-sales/{after_sale}/logs', [AfterSaleController::class, 'logs']);
|
|
Route::put('after-sales/{after_sale}', [AfterSaleController::class, 'update']);
|
|
Route::put('after-sales/{after_sale}/agree', [AfterSaleController::class, 'agree']);
|
|
Route::delete('after-sales/{after_sale}', [AfterSaleController::class, 'cancel']);
|
|
|
|
//消息
|
|
Route::get('messages', [MessageController::class, 'index']);
|
|
Route::get('messages/wait-read-num', [MessageController::class, 'waitReadNum']);
|
|
Route::post('messages/read/{message}', [MessageController::class, 'read']);
|
|
Route::post('messages/batch-read', [MessageController::class, 'batchRead']);
|
|
|
|
// 我的优惠券
|
|
Route::get('coupons', [UserCouponController::class, 'index']);
|
|
|
|
//文章
|
|
Route::get('articles/{article}', [ArticleController::class, 'show']);
|
|
Route::post('articles/{article}/read', [ArticleController::class, 'read']);
|
|
Route::post('articles/{article}/like', [ArticleController::class, 'like']);
|
|
|
|
//签到
|
|
Route::get('click', [ClickController::class, 'index']);
|
|
Route::post('click', [ClickController::class, 'click']);
|
|
|
|
// 订单
|
|
Route::get('order/statistics', StatisticsController::class);
|
|
Route::post('order/verify-order', OrderVerifyController::class);
|
|
Route::apiResource('order/orders', OrderController::class)->only([
|
|
'index', 'store', 'show',
|
|
]);
|
|
Route::post('order/orders/{order}/pay', [OrderController::class, 'pay']);
|
|
Route::post('order/orders/{order}/confirm', [OrderController::class, 'confirm']);
|
|
Route::post('order/orders/{order}/cancel', [OrderController::class, 'cancel']);
|
|
});
|
|
});
|