6
0
Fork 0
jiqu-library-server/app/Endpoint/Api/routes.php

239 lines
13 KiB
PHP

<?php
use App\Endpoint\Api\Http\Controllers\Account\ChangePasswordController;
use App\Endpoint\Api\Http\Controllers\Account\FansController;
use App\Endpoint\Api\Http\Controllers\Account\UserController;
use App\Endpoint\Api\Http\Controllers\Account\WalletController;
use App\Endpoint\Api\Http\Controllers\Account\WalletPasswordController;
use App\Endpoint\Api\Http\Controllers\AdController;
use App\Endpoint\Api\Http\Controllers\AfterSaleController;
use App\Endpoint\Api\Http\Controllers\AliOssController;
use App\Endpoint\Api\Http\Controllers\AppVersionController;
use App\Endpoint\Api\Http\Controllers\ArticleController;
use App\Endpoint\Api\Http\Controllers\Auth;
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\PushController;
use App\Endpoint\Api\Http\Controllers\SettingController;
use App\Endpoint\Api\Http\Controllers\ShareBgController;
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\UserBankController;
use App\Endpoint\Api\Http\Controllers\UserCouponController;
use App\Endpoint\Api\Http\Controllers\ZoneController;
use App\Endpoint\Api\Http\Controllers\Auth\MiniprogramController;
use App\Endpoint\Api\Http\Controllers\StoreController;
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, 'index']);
Route::get('product/part-coupons', [PartController::class, 'coupons']);
// 筛选商品
Route::get('product/products', [ProductSkuController::class, 'index']);
// 查看商品
Route::get('product/products/{product}', [ProductSkuController::class, 'show']);
//查看搜索热词
Route::get('product/search-hot-keys', [ProductSkuController::class, 'searchHotKeys']);
//指定文章配置
//获取最新app版本信息
Route::get('app-version', [AppVersionController::class, 'index']);
//绑定用户端cid
Route::post('push-bind-uni', [PushController::class, 'bindUniCid']);
//获取配置
Route::get('configs', [SettingController::class, 'index']);
Route::get('configs-custom', [SettingController::class, 'custom']);
//砍价
Route::get('bargains/{activity}', [\App\Endpoint\Api\Http\Controllers\BargainController::class, 'activityDetail']);
Route::get('bargain-sku/{sku}', [\App\Endpoint\Api\Http\Controllers\BargainController::class, 'bargainSku']);
Route::get('bargain-order/sku/{sku}', [\App\Endpoint\Api\Http\Controllers\BargainController::class, 'barginaOrderBySku']);
Route::get('bargain-order/order/{order}', [\App\Endpoint\Api\Http\Controllers\BargainController::class, 'bargainOrderById']);
//三方登录聚合
Route::group([
'prefix' =>'socialite',
], function () {
Route::post('code-auth/{provider}', [Auth\SocialiteAuthController::class, 'codeAuth']);
Route::post('code-bind-user/{provider}', [Auth\SocialiteAuthController::class, 'codeBindUser']);
Route::post('unbind-user/{provider}', [Auth\SocialiteAuthController::class, 'unbindUser']);
});
Route::middleware([
'auth:api',
\App\Endpoint\Api\Http\Middleware\CheckUserStatus::class,
])->group(function () {
// 我的信息
Route::get('me', [UserController::class, 'show']);
Route::put('me', [UserController::class, 'update']);
// 修改密码
Route::post('change-password', ChangePasswordController::class);
//安全密码
Route::put('wallet-password', [WalletPasswordController::class, 'update']);
Route::post('wallet-password/reset', [WalletPasswordController::class, 'reset']);//重置或设置安全密码
//我的账户
Route::get('wallet', [WalletController::class, 'index']);
Route::get('wallet/wallet-logs', [WalletController::class, 'walletLogs']);
Route::get('wallet/balance-logs', [WalletController::class, 'balanceLogs']);
Route::get('wallet/wallet-to-bank-logs', [WalletController::class, 'walletToBankLogs']);
Route::post('wallet/pay', [WalletController::class, 'pay']);
Route::post('wallet/wallet-to-bank', [WalletController::class, 'walletToBank']);
Route::post('wallet/wallet-to-balance', [WalletController::class, 'walletToBalance']);
Route::post('wallet/balance-transfer', [WalletController::class, 'balanceTransfer']);
//银行卡
Route::get('user-bank', [UserBankController::class, 'show']);
Route::put('user-bank', [UserBankController::class, 'update']);
Route::get('banks-options', [UserBankController::class, 'options']);
// 商品分销
Route::get('product/products/{product}/share', [ProductSkuController::class, 'share']);
// 收藏商品
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('click', [ClickController::class, 'index']);
Route::post('click', [ClickController::class, 'click']);
//分享
Route::get('share-bgs', [ShareBgController::class, 'index']);
Route::post('user-qr-code', [ShareBgController::class, 'userQrCode']);
Route::get('fans/statistics', [FansController::class, 'statistics']);
Route::get('fans', [FansController::class, 'index']);
//OSS上传凭证
Route::post('oss-sts', [AliOssController::class, 'sts']);
// 线下订单
Route::post('order/underline/{id}/package', [\App\Endpoint\Api\Http\Controllers\Order\UnlineController::class, 'package']);
Route::apiResource('order/underline', \App\Endpoint\Api\Http\Controllers\Order\UnlineController::class)->only(['index', 'show']);
// 订单
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']);
Route::get('order/orders/{order}/packages', [OrderController::class, 'orderPackages']);
Route::get('order/orders/{package}/shipping-info', [OrderController::class, 'shippingInfo']);
Route::get('users/{phone}', [\App\Endpoint\Api\Http\Controllers\UserController::class, 'show']);
//砍价
Route::post('bargains/create-order/{sku}', [\App\Endpoint\Api\Http\Controllers\BargainController::class, 'createBargainOrder']);
Route::post('bargains/bargain/{order}', [\App\Endpoint\Api\Http\Controllers\BargainController::class, 'bargain']);
Route::post('bargains/create-mall-order/{bargainOrder}', [\App\Endpoint\Api\Http\Controllers\BargainController::class, 'createMallOrderByBargainOrder']);
// 会员卡
Route::get('vip', [\App\Endpoint\Api\Http\Controllers\VipController::class, 'index']);
Route::get('vip/buy', [\App\Endpoint\Api\Http\Controllers\VipController::class, 'list']);
Route::post('vip/buy', [\App\Endpoint\Api\Http\Controllers\VipController::class, 'buy']);
});
// 微信小程序
Route::group(['prefix' => 'wechat-mini'], function () {
Route::post('login', [MiniprogramController::class, 'login']);
Route::group(['middleware' => ['auth:api', \App\Endpoint\Api\Http\Middleware\CheckUserStatus::class]], function () {
Route::post('bind-phone', [MiniprogramController::class, 'bindPhone']);
});
});
// 门店提货
Route::get('store/{id}/products', [StoreController::class, 'products']);
Route::apiResource('store', StoreController::class)->only(['index', 'show']);
// 门店下单
Route::group(['middleware' => ['auth:api', \App\Endpoint\Api\Http\Middleware\CheckUserStatus::class]], function () {
Route::post('order-pre', [App\Endpoint\Api\Http\Controllers\Order\OrderPreController::class, 'store']);
Route::post('order-pre/order', [App\Endpoint\Api\Http\Controllers\Order\OrderPreController::class, 'storeOrder']);
});
// 文章
Route::get('articles/category', [ArticleController::class, 'category']);
Route::get('articles/category-tree', [ArticleController::class, 'categoryTree']);
/** 以前的路由 */
Route::get('article-config', [ArticleController::class, 'config']);
Route::get('articles', [ArticleController::class, 'index']);
Route::group(['middleware' => ['auth:api', \App\Endpoint\Api\Http\Middleware\CheckUserStatus::class]], function () {
Route::get('articles/{article}', [ArticleController::class, 'show']);
Route::post('articles/{article}/read', [ArticleController::class, 'read']);
Route::post('articles/{article}/like', [ArticleController::class, 'like']);
});
});