268 lines
15 KiB
PHP
268 lines
15 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\MiniprogramController;
|
|
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\PointLogController;
|
|
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\StoreController;
|
|
use App\Endpoint\Api\Http\Controllers\UserBankController;
|
|
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, 'index']);
|
|
Route::get('product/part-coupons', [PartController::class, 'coupons']);
|
|
// 筛选商品
|
|
Route::get('product/products', [ProductSkuController::class, 'index']);
|
|
// 查看商品
|
|
Route::get('product/sku/{id}', [ProductSkuController::class, 'sku']);
|
|
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::get('draw-activities/{draw_activity}', [App\Endpoint\Api\Http\Controllers\DrawActivityController::class, 'show']);
|
|
Route::get('draw-activities/{draw_activity}/logs', [App\Endpoint\Api\Http\Controllers\DrawLogController::class, 'index']);
|
|
|
|
Route::get('offline-product-categories', [App\Endpoint\Api\Http\Controllers\OfflineProductCategoryController::class, 'index']);
|
|
|
|
//三方登录聚合
|
|
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('point-logs', [PointLogController::class, 'index']);
|
|
|
|
//银行卡
|
|
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::get('profit/total', [\App\Endpoint\Api\Http\Controllers\ProfitController::class, 'total']);
|
|
Route::apiResource('profit', \App\Endpoint\Api\Http\Controllers\ProfitController::class)->only(['index', 'show']);
|
|
|
|
// 抽奖活动抽奖
|
|
Route::post('draw-activities/{draw_activity}/draw', [App\Endpoint\Api\Http\Controllers\DrawActivityController::class, 'draw']);
|
|
Route::put('draw-activities/{draw_activity}/logs/{log}', [App\Endpoint\Api\Http\Controllers\DrawLogController::class, 'update']);
|
|
|
|
Route::get('offline-order-previews/{offline_order_preview}', [App\Endpoint\Api\Http\Controllers\OfflineOrderPreviewController::class, 'show']);
|
|
Route::post('offline-order-previews', [App\Endpoint\Api\Http\Controllers\OfflineOrderPreviewController::class, 'store']);
|
|
Route::post('offline-orders/check', [App\Endpoint\Api\Http\Controllers\OfflineOrderController::class, 'check']);
|
|
Route::post('offline-orders', [App\Endpoint\Api\Http\Controllers\OfflineOrderController::class, 'store']);
|
|
Route::post('offline-orders/{offline_order}/pay', [App\Endpoint\Api\Http\Controllers\OfflineOrderController::class, 'pay']);
|
|
});
|
|
|
|
// 微信小程序
|
|
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}/product-spus', [StoreController::class, 'productSpus']);
|
|
Route::get('store/{id}/product-skus', [StoreController::class, 'productSkus']);
|
|
Route::get('store/{store}/product-spu/{id}', [StoreController::class, 'productSpu']);
|
|
Route::get('store/{store}/product-sku/{id}', [StoreController::class, 'productSku']);
|
|
Route::apiResource('store', StoreController::class)->only(['index', 'show']);
|
|
|
|
// 门店桌号信息
|
|
Route::get('store/desk/{id}', [StoreController::class, 'desk']);
|
|
|
|
// 门店下单
|
|
Route::group(['middleware' => ['auth:api', \App\Endpoint\Api\Http\Middleware\CheckUserStatus::class]], function () {
|
|
Route::get('order-pre/{id}', [App\Endpoint\Api\Http\Controllers\Order\OrderPreController::class, 'show']);
|
|
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('articles/{article}', [ArticleController::class, 'show']);
|
|
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::post('articles/{article}/read', [ArticleController::class, 'read']);
|
|
Route::post('articles/{article}/like', [ArticleController::class, 'like']);
|
|
});
|
|
});
|