package com.example.catchTheLetters.controller; import com.example.catchTheLetters.model.dto.LoginDto; import com.example.catchTheLetters.model.dto.RegisterDto; import com.example.catchTheLetters.entity.User; import com.example.catchTheLetters.model.vo.UserVo; import com.example.catchTheLetters.service.AuthService; import com.example.catchTheLetters.utils.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; /** * 认证控制器 * * @author spyn */ @RestController @Slf4j @Api(tags = "认证API") @RequestMapping("/auth") public class AuthController { @Resource private AuthService authService; @ApiOperation(value = "用户登录") @PostMapping("/login") public R login(@RequestBody LoginDto loginDto) { return authService.login(loginDto); } @ApiOperation(value = "用户注销") @PostMapping("/logout") public R logout(String token) { return authService.logout(token) ? R.ok() : R.fail(); } @ApiOperation(value = "验证token(不会返回密码)") @PostMapping("/verify") public R verify(String token) { return R.ok(authService.verify(token)); } @ApiOperation(value = "用户注册") @PostMapping("/register") public R register(@RequestBody RegisterDto registerDto) { return authService.register(registerDto); } @ApiOperation(value = "用户信息查询(不会返回密码,查不出status为0的用户)") @GetMapping("/info") @ApiParam(name = "id", value = "用户ID(不传就是拿token查自己)") public R info(@RequestParam(required = false) String id, @RequestHeader("token") String token) { if (id != null) { return R.ok(authService.getUserInfo(id)); } return R.ok(authService.verify(token)); } @ApiOperation(value = "用户信息修改") @PostMapping("/update") public R update(@RequestBody User user) { return null; } }