SYYTe/maku-boot-system/src/main/java/net/maku/system/controller/SysAuthController.java

74 lines
2.1 KiB
Java
Raw Normal View History

2022-08-28 00:01:17 +08:00
package net.maku.system.controller;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import net.maku.framework.common.utils.Result;
import net.maku.framework.security.utils.TokenUtils;
2022-08-30 22:39:03 +08:00
import net.maku.system.service.SysAuthService;
2022-08-28 00:01:17 +08:00
import net.maku.system.service.SysCaptchaService;
2022-08-30 22:39:03 +08:00
import net.maku.system.vo.SysAccountLoginVO;
import net.maku.system.vo.SysCaptchaVO;
import net.maku.system.vo.SysMobileLoginVO;
2022-08-28 00:01:17 +08:00
import net.maku.system.vo.SysTokenVO;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* 认证管理
*
* @author 阿沐 babamu@126.com
*/
@RestController
@RequestMapping("sys/auth")
@Tag(name = "认证管理")
@AllArgsConstructor
public class SysAuthController {
private final SysCaptchaService sysCaptchaService;
2022-08-30 22:39:03 +08:00
private final SysAuthService sysAuthService;
2022-08-28 00:01:17 +08:00
@GetMapping("captcha")
@Operation(summary = "验证码")
2022-08-30 22:39:03 +08:00
public Result<SysCaptchaVO> captcha() {
SysCaptchaVO captchaVO = sysCaptchaService.generate();
2022-08-28 00:01:17 +08:00
2022-08-30 22:39:03 +08:00
return Result.ok(captchaVO);
2022-08-28 00:01:17 +08:00
}
@PostMapping("login")
2022-08-30 22:39:03 +08:00
@Operation(summary = "账号密码登录")
public Result<SysTokenVO> login(@RequestBody SysAccountLoginVO login) {
SysTokenVO token = sysAuthService.loginByAccount(login);
2022-08-28 00:01:17 +08:00
2022-08-30 22:39:03 +08:00
return Result.ok(token);
}
2022-08-28 00:01:17 +08:00
2022-08-30 22:39:03 +08:00
@PostMapping("send/code")
@Operation(summary = "发送短信验证码")
public Result<String> sendCode(String mobile) {
2022-10-17 12:12:39 +08:00
boolean flag = sysAuthService.sendCode(mobile);
if (!flag) {
return Result.error("短信发送失败!");
}
2022-08-28 00:01:17 +08:00
2022-08-30 22:39:03 +08:00
return Result.ok();
}
2022-08-28 00:01:17 +08:00
2022-08-30 22:39:03 +08:00
@PostMapping("mobile")
@Operation(summary = "手机号登录")
public Result<SysTokenVO> mobile(@RequestBody SysMobileLoginVO login) {
SysTokenVO token = sysAuthService.loginByMobile(login);
2022-08-28 00:01:17 +08:00
2022-08-30 22:39:03 +08:00
return Result.ok(token);
2022-08-28 00:01:17 +08:00
}
@PostMapping("logout")
@Operation(summary = "退出")
public Result<String> logout(HttpServletRequest request) {
2022-08-30 22:39:03 +08:00
sysAuthService.logout(TokenUtils.getAccessToken(request));
2022-08-28 00:01:17 +08:00
return Result.ok();
}
}