AccountController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. namespace App\Http\Controllers\Client;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\Client\AccountService;
  5. use Illuminate\Http\Request;
  6. /**
  7. * 账户相关的API接口
  8. */
  9. class AccountController extends Controller
  10. {
  11. protected AccountService $service;
  12. public function __construct(AccountService $service)
  13. {
  14. $this->service = $service;
  15. }
  16. /**
  17. * [账户管理] 发送验证码
  18. *
  19. * 向指定手机号发送验证码
  20. *
  21. * @bodyParam mobile string required 手机号码. Example: 13800138000
  22. * @response {
  23. * "code": 200,
  24. * "message": "验证码发送成功",
  25. * "data": null
  26. * }
  27. */
  28. public function sendVerifyCode(Request $request)
  29. {
  30. $mobile = $request->input('mobile');
  31. return $this->service->sendVerifyCode($mobile);
  32. }
  33. /**
  34. * [账户管理] 用户登录
  35. *
  36. * 使用手机号和验证码登录账户
  37. *
  38. * @bodyParam mobile string required 手机号码. Example: 13800138000
  39. * @bodyParam code string required 验证码. Example: 123456
  40. * @response {
  41. * "code": 200,
  42. * "message": "登录成功",
  43. * "data": {
  44. * "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
  45. * "user": {
  46. * "id": 1,
  47. * "mobile": "13800138000",
  48. * "nickname": "用户昵称"
  49. * }
  50. * }
  51. * }
  52. */
  53. public function login(Request $request)
  54. {
  55. $mobile = $request->input('mobile');
  56. $code = $request->input('code');
  57. return $this->service->login($mobile, $code);
  58. }
  59. /**
  60. * [账户管理] 微信登录
  61. *
  62. * 使用微信openid登录账户
  63. *
  64. * @bodyParam openid string required 微信openid. Example: wx_123456789
  65. * @response {
  66. * "code": 200,
  67. * "message": "登录成功",
  68. * "data": {
  69. * "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
  70. * "user": {
  71. * "id": 1,
  72. * "openid": "wx_123456789",
  73. * "nickname": "微信昵称"
  74. * }
  75. * }
  76. * }
  77. */
  78. public function wxLogin(Request $request)
  79. {
  80. $openid = $request->input('openid');
  81. return $this->service->wxLogin($openid);
  82. }
  83. /**
  84. * [账户管理] 用户退出
  85. *
  86. * 退出当前账户登录状态
  87. *
  88. * @authenticated
  89. * @response {
  90. * "code": 200,
  91. * "message": "退出成功",
  92. * "data": null
  93. * }
  94. */
  95. public function logout()
  96. {
  97. return $this->service->logout();
  98. }
  99. /**
  100. * [账户管理] 用户注销
  101. *
  102. * 永久注销当前账户
  103. *
  104. * @authenticated
  105. * @response {
  106. * "code": 200,
  107. * "message": "注销成功",
  108. * "data": null
  109. * }
  110. */
  111. public function destroy()
  112. {
  113. return $this->service->deleteAccount();
  114. }
  115. }