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

270 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\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\Dealer;
use App\Endpoint\Api\Http\Controllers\Merchant;
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 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']);
//文章列表
Route::get('articles', [ArticleController::class, 'index']);
//指定文章配置
Route::get('article-config', [ArticleController::class, 'config']);
//获取最新app版本信息
Route::get('app-version', [AppVersionController::class, 'index']);
//绑定用户端cid
Route::post('push-bind-uni', [PushController::class, 'bindUniCid']);
//获取配置
Route::get('configs', [SettingController::class, 'index']);
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('wallet-password/reset', [WalletPasswordController::class, 'reset']);//重置或设置安全密码
//我的账户
Route::get('wallet', [WalletController::class, 'index']);
Route::get('wallet/distribution-logs', [WalletController::class, 'distributionLogs']);
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::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('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::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::group([
'prefix' => 'merchant',
'middleware' => [
'guard:api',
'ability:merchant',
],
], function () {
// 个人信息
Route::get('me', [Merchant\UserController::class, 'show']);
// 个人账户
Route::get('account', [Merchant\UserController::class, 'account']);
// 粉丝列表
Route::get('fans', [Merchant\FanController::class, 'index']);
// 粉丝统计
Route::get('fan-statistics', [Merchant\FanController::class, 'statistics']);
// 配额日志
Route::get('quota-logs', [Merchant\QuotaLogController::class, 'index']);
// 个人销售值日志
Route::get('sales-value-logs', [Merchant\SalesValueLogController::class, 'index']);
// 团队销售值日志
Route::get('team-sales-value-logs', [Merchant\TeamSalesValueLogController::class, 'index']);
// 代理晋升条件
Route::get('agent-upgrade-conditions', [Merchant\AgentController::class, 'upgradeConditions']);
// 代理统计
Route::get('agent-statistics', [Merchant\AgentController::class, 'statistics']);
// 消息列表
Route::get('messages', [Merchant\MessageController::class, 'index']);
// 领取老配额分红
Route::post('receive-quota-v1', [Merchant\QuotaLogController::class, 'receiveQuotaV1']);
// 老配额领取记录
Route::get('quota-v1-logs', [Merchant\QuotaLogController::class, 'quotaV1Logs']);
});
//商品列表
Route::get('/dealer/products', [Dealer\ProductController::class, 'index']);
//商品详情
Route::get('/dealer/products/{id}', [Dealer\ProductController::class, 'show']);
Route::group([
'prefix'=>'dealer',
'middleware' => [
'guard:api',
'ability:dealer',
],
], function () {
//个人信息
Route::get('me', [Dealer\UserController::class, 'show']);
Route::put('pay-info', [Dealer\UserController::class, 'updatePayInfo']);
//业绩统计
Route::get('fans/statistics', [Dealer\FansController::class, 'statistics']);
Route::get('fans', [Dealer\FansController::class, 'index']);
//我的库存
Route::get('user-products', [Dealer\UserProductController::class, 'index']);
Route::get('user-products/{product}', [Dealer\UserProductController::class, 'show']);
Route::get('user-products-logs', [Dealer\UserProductController::class, 'logs']);
Route::post('user-products/offline-out', [Dealer\UserProductController::class, 'offlineOutQty']);
//计算商品下单价格
Route::get('orders/total-amount', [Dealer\OrderController::class, 'totalAmount']);
//订单列表
Route::get('orders', [Dealer\OrderController::class, 'index']);
//下单
Route::post('orders', [Dealer\OrderController::class, 'store']);
//订单详情
Route::get('orders/{order}', [Dealer\OrderController::class, 'show']);
//确认接单
Route::post('orders/{order}/confirm', [Dealer\OrderController::class, 'confirmOrder']);
//确认打款
Route::post('orders/{order}/pay', [Dealer\OrderController::class, 'payOrder']);
//确认收款
Route::post('orders/{order}/paid', [Dealer\OrderController::class, 'paidOrder']);
//确认收货
Route::post('orders/{order}/shippinged', [Dealer\OrderController::class, 'shippingedOrder']);
//取消订单
Route::post('orders/{order}/cancel', [Dealer\OrderController::class, 'cancelOrder']);
//资金列表
Route::get('earnings', [Dealer\EarningController::class, 'index']);
Route::get('earnings/{earning}', [Dealer\EarningController::class, 'show']);
Route::post('earnings/{earning}/pay', [Dealer\EarningController::class, 'payEarning']);
Route::post('earnings/{earning}/confirm', [Dealer\EarningController::class, 'confirmEarning']);
//余额提现
Route::get('wallet', [Dealer\WalletController::class, 'index']);
Route::post('wallet/withdraw', [Dealer\WalletController::class, 'walletToBank']);
Route::get('wallet/withdraw-logs', [Dealer\WalletController::class, 'walletToBankLogs']);
Route::get('wallet/withdraw-logs/{withdraw_log}', [Dealer\WalletController::class, 'walletToBankLogShow']);
});
});