api.php 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. use App\Http\Controllers\Client\AccountController;
  3. use App\Http\Controllers\Client\CoachController;
  4. use App\Http\Controllers\Client\CoachLocationController;
  5. use App\Http\Controllers\Client\ProjectController;
  6. use App\Http\Controllers\Client\UserAddressController;
  7. use App\Http\Controllers\Client\UserController;
  8. use App\Http\Controllers\ScribeController;
  9. use Illuminate\Support\Facades\Route;
  10. // API文档相关
  11. Route::get('scribe/update-token/{mobile}', [ScribeController::class, 'updateAuthToken']);
  12. // 无需认证的公开路由
  13. Route::prefix('account')->group(function () {
  14. // 发送验证码
  15. Route::post('send-code', [AccountController::class, 'sendVerifyCode']);
  16. // 手机号登录
  17. Route::post('login', [AccountController::class, 'login']);
  18. // 微信登录
  19. Route::post('wx-login', [AccountController::class, 'wxLogin']);
  20. });
  21. // 需要认证的路由组
  22. Route::middleware('auth:sanctum')->group(function () {
  23. // 账号相关
  24. Route::prefix('account')->group(function () {
  25. // 退出登录
  26. Route::post('logout', [AccountController::class, 'logout']);
  27. // 注销账号
  28. Route::delete('/', [AccountController::class, 'destroy']);
  29. });
  30. // 用户相关
  31. Route::prefix('user')->group(function () {
  32. // 获取用户信息
  33. Route::get('/', [UserController::class, 'show']);
  34. // 更新用户信息
  35. Route::put('/', [UserController::class, 'update']);
  36. // 获取钱包信息
  37. Route::get('wallet', [UserController::class, 'wallet']);
  38. // 提现
  39. Route::post('withdraw', [UserController::class, 'withdraw']);
  40. // 用户反馈
  41. // Route::post('feedback', [UserController::class, 'feedback']);
  42. // 申请成为技师
  43. Route::post('apply-coach', [UserController::class, 'applyCoach']);
  44. });
  45. Route::prefix('project')->group(function () {
  46. Route::get('/', [ProjectController::class, 'index']); // 获取项目列表
  47. Route::get('/{id}/detail', [ProjectController::class, 'detail']); // 获取项目详情
  48. Route::get('/coach-list', [ProjectController::class, 'coachProjectList']); // 获取技师开通的项目列表
  49. });
  50. Route::prefix('coach')->group(function () {
  51. Route::prefix('location')->group(function () {
  52. Route::get('/', [CoachLocationController::class, 'index']); // 获取所有技师定位
  53. Route::post('/', [CoachLocationController::class, 'store']); // 创建新的技师定位
  54. Route::delete('/{id}', [CoachLocationController::class, 'destroy']); // 删除技师定位
  55. });
  56. Route::get('/', [CoachController::class, 'list']); // 获取技师列表
  57. Route::get('/{id}', [CoachController::class, 'detail']); // 获取技师详情
  58. });
  59. // 用户地址相关
  60. Route::prefix('address')->group(function () {
  61. Route::get('default', [UserAddressController::class, 'getDefault']);
  62. Route::post('/', [UserAddressController::class, 'store']);
  63. Route::put('/{id}', [UserAddressController::class, 'update']);
  64. Route::delete('/{id}', [UserAddressController::class, 'destroy']);
  65. Route::put('/{id}/default', [UserAddressController::class, 'setDefault']);
  66. });
  67. });