api.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. # 首页
  41. Route::prefix('service')->group(function () {
  42. Route::get('category', [ClientServiceCategory::class, 'index']);
  43. Route::get('project', [ClientProjectController::class, 'index']);
  44. Route::get('project/{id}', [ClientProjectController::class, 'show']);
  45. Route::middleware(['auth:sanctum'])->group(function () {
  46. # 订单
  47. # 工单 - 查询
  48. Route::get('order/grab/{id}', [ClientServiceOrderController::class, 'grabList']);
  49. Route::put('order/grab/{id}', [ClientServiceOrderController::class, 'setGrab']);
  50. Route::get('order/confirm', [ClientServiceOrderController::class, 'confirm']);
  51. Route::get('order/compute', [ClientServiceOrderController::class, 'compute']);
  52. Route::put('order/cancel/{id}',[ClientServiceOrderController::class, 'cancel']);
  53. Route::get('order/qrCode',[ClientServiceOrderController::class, 'qrCode']);
  54. Route::resource('order', ClientServiceOrderController::class);
  55. });
  56. });
  57. Route::prefix('coach')->group(function () {
  58. # 申请技师
  59. Route::post('apply', [ClientCoachUserController::class, 'apply'])->middleware('auth:sanctum');
  60. Route::get('/', [ClientCoachUserController::class, 'index']);
  61. Route::get('/{id}', [ClientCoachUserController::class, 'show']);
  62. });
  63. Route::prefix('member')->middleware(['auth:sanctum'])->group(function () {
  64. # 余额明细
  65. Route::get('balance', [ClientMemberUserController::class, 'balance']);
  66. # 邀请码
  67. Route::get('qrcode', [ClientMemberUserController::class, 'qrcode']);
  68. Route::get('address/default', [ClientMemberAddressController::class, 'default']);
  69. Route::put('address/default/{id}', [ClientMemberAddressController::class, 'setDefault']);
  70. Route::resource('address', ClientMemberAddressController::class);
  71. Route::post('upload', [ClientMemberToolController::class, "upload"]);
  72. Route::get('/', [ClientMemberUserController::class, 'show']);
  73. Route::delete('/', [ClientMemberUserController::class, 'destroy']);
  74. Route::put('/', [ClientMemberUserController::class, 'update']);
  75. });
  76. });
  77. # 技师端
  78. Route::prefix('server')->group(function () {
  79. Route::get('/', function () {
  80. return ['Laravel' => 'frontend server'];
  81. });
  82. Route::prefix('coach')->group(function () {
  83. # 获取技师详情
  84. Route::get('user', [ServerCoachUserController::class, 'show']);
  85. Route::put('user', [ServerCoachUserController::class, 'update']);
  86. });
  87. Route::prefix('service')->group(function () {
  88. Route::get('project', [ServerProjectController::class, 'index']);
  89. Route::post('project', [ServerProjectController::class, 'update']);
  90. });
  91. });