api.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?php
  2. use App\Http\Controllers\Backend\Server\System\UserController;
  3. use App\Http\Controllers\Frontend\Client\CoachController as ClientCoachController;
  4. use App\Http\Controllers\Frontend\Client\Coach\UserController as ClientCoachUserController;
  5. use App\Http\Controllers\Frontend\Server\Coach\UserController as ServerCoachUserController;
  6. use App\Http\Controllers\Frontend\Client\Service\ProjectController as ClientProjectController;
  7. use App\Http\Controllers\Frontend\Server\Service\ProjectController as ServerProjectController;
  8. use App\Http\Controllers\Frontend\Client\Service\OrderController as ClientServiceOrderController;
  9. use App\Http\Controllers\Frontend\Client\Auth\AuthenticatedController as ClientAccountAuthController;
  10. use App\Http\Controllers\Frontend\Client\Service\CategoryController as ClientServiceCategory;
  11. use App\Http\Controllers\Frontend\Client\Member\UserController as ClientMemberUserController;
  12. use App\Http\Controllers\Frontend\Client\Auth\WechatAuthenticatedController as ClientWechatAuthenticatedController;
  13. use App\Http\Controllers\Frontend\Client\Member\ToolController as ClientMemberToolController;
  14. use App\Http\Controllers\Frontend\Client\Member\AddressController as ClientMemberAddressController;
  15. use Illuminate\Http\Request;
  16. use Illuminate\Support\Facades\Route;
  17. Route::prefix('client')->group(function () {
  18. Route::get('/', function () {
  19. return ['Laravel' => 'frontend client'];
  20. });
  21. });
  22. Route::middleware(['auth:sanctum'])->get('/user', function (Request $request) {
  23. return $request->user();
  24. });
  25. # 客户
  26. Route::prefix('client')->group(function () {
  27. # 登录
  28. Route::prefix('login')->group(function () {
  29. Route::post('/', [ClientAccountAuthController::class, 'store']);
  30. Route::post('send', [ClientAccountAuthController::class, 'send']);
  31. });
  32. # 微信
  33. Route::prefix('wechat')->group(function () {
  34. Route::get('/oauth', [ClientWechatAuthenticatedController::class, 'oauth']);
  35. Route::get('/callback', [ClientWechatAuthenticatedController::class, 'callback']);
  36. Route::get('/login', [ClientWechatAuthenticatedController::class, 'store']);
  37. Route::get('/bind', [ClientWechatAuthenticatedController::class, 'bind']);
  38. Route::get('/signature', [ClientWechatAuthenticatedController::class, 'signature']);
  39. # 支付
  40. Route::get('/payment', [\App\Http\Controllers\Frontend\Client\Wechat\PaymentController::class, 'payment']);
  41. Route::post('/payment/notify', [\App\Http\Controllers\Frontend\Client\Wechat\PaymentController::class, 'notify']);
  42. });
  43. # 首页
  44. Route::prefix('service')->group(function () {
  45. Route::get('category', [ClientServiceCategory::class, 'index']);
  46. Route::get('project', [ClientProjectController::class, 'index']);
  47. Route::get('project/{id}', [ClientProjectController::class, 'show']);
  48. Route::middleware(['auth:sanctum'])->group(function () {
  49. # 订单
  50. # 工单 - 查询
  51. Route::get('order/grab/{id}', [ClientServiceOrderController::class, 'grabList']);
  52. Route::put('order/grab/{id}', [ClientServiceOrderController::class, 'setGrab']);
  53. Route::get('order/confirm', [ClientServiceOrderController::class, 'confirm']);
  54. Route::get('order/compute', [ClientServiceOrderController::class, 'compute']);
  55. Route::put('order/cancel/{id}',[ClientServiceOrderController::class, 'cancel']);
  56. Route::get('order/qrCode',[ClientServiceOrderController::class, 'qrCode']);
  57. Route::resource('order', ClientServiceOrderController::class);
  58. });
  59. });
  60. Route::prefix('coach')->group(function () {
  61. # 申请技师
  62. Route::post('apply', [ClientCoachUserController::class, 'apply'])->middleware('auth:sanctum');
  63. Route::get('/', [ClientCoachUserController::class, 'index']);
  64. Route::get('/{id}', [ClientCoachUserController::class, 'show']);
  65. });
  66. Route::prefix('member')->middleware(['auth:sanctum'])->group(function () {
  67. # 余额明细
  68. Route::get('balance', [ClientMemberUserController::class, 'balance']);
  69. # 邀请码
  70. Route::get('qrcode', [ClientMemberUserController::class, 'qrcode']);
  71. Route::get('address/default', [ClientMemberAddressController::class, 'default']);
  72. Route::put('address/default/{id}', [ClientMemberAddressController::class, 'setDefault']);
  73. Route::resource('address', ClientMemberAddressController::class);
  74. Route::post('upload', [ClientMemberToolController::class, "upload"]);
  75. Route::get('/', [ClientMemberUserController::class, 'show']);
  76. Route::delete('/', [ClientMemberUserController::class, 'destroy']);
  77. Route::put('/', [ClientMemberUserController::class, 'update']);
  78. });
  79. });
  80. # 技师端
  81. Route::prefix('server')->group(function () {
  82. Route::get('/', function () {
  83. return ['Laravel' => 'frontend server'];
  84. });
  85. Route::prefix('coach')->group(function () {
  86. # 获取技师详情
  87. Route::get('user', [ServerCoachUserController::class, 'show']);
  88. Route::put('user', [ServerCoachUserController::class, 'update']);
  89. });
  90. Route::prefix('service')->group(function () {
  91. Route::get('project', [ServerProjectController::class, 'index']);
  92. Route::post('project', [ServerProjectController::class, 'update']);
  93. });
  94. });