UserController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace app\controller\api\user;
  3. use app\extra\basic\Base;
  4. use app\extra\service\user\UserService;
  5. use app\middleware\AuthMiddleware;
  6. use app\model\system\SystemUser;
  7. use app\model\user\User;
  8. use app\validate\api\user\UserValidate;
  9. use DI\Attribute\Inject;
  10. use LinFly\Annotation\Route\Controller;
  11. use LinFly\Annotation\Route\Middleware;
  12. use LinFly\Annotation\Route\Route;
  13. use Shopwwi\WebmanAuth\Auth;
  14. use support\Request;
  15. use support\Response;
  16. use think\facade\Db;
  17. #[Controller(prefix: "/api/user/"),Middleware(AuthMiddleware::class)]
  18. class UserController extends Base
  19. {
  20. #[Inject]
  21. protected UserService $service;
  22. #[Inject]
  23. protected UserValidate $validate;
  24. /**
  25. * 用户数据
  26. * @param Request $request
  27. * @return Response
  28. */
  29. #[Route(path: "",methods: "get")]
  30. public function profile(Request $request): Response
  31. {
  32. try {
  33. $user = (new Auth)->guard("user")->user()->toArray();
  34. $user = $this->service->getUserProfile($user);
  35. return successTrans("success.data",$user);
  36. } catch (\Throwable $throwable) {
  37. return error($throwable->getMessage());
  38. }
  39. }
  40. /**
  41. * 修改用户数据
  42. * @param Request $request
  43. * @return Response
  44. */
  45. #[Route(path: "edit",methods: "post")]
  46. public function editUser(Request $request): Response
  47. {
  48. try {
  49. $param = $request->post();
  50. if (!$this->validate->check($param)) return error($this->validate->getError());
  51. $param = $this->validate->checked($param);
  52. $user = (new Auth)->guard("user")->user()->toArray();
  53. $state = $this->service->update($user['uid'],$param);
  54. if(!$state) return errorTrans("error.data");
  55. return successTrans("success.data");
  56. } catch (\Throwable $throwable) {
  57. return error($throwable->getMessage());
  58. }
  59. }
  60. }