6
0
Fork 0
jiqu-library-server/app/Endpoint/Api/routes.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']);
});
});