package com.zhangshu.chat.demo.controller; import com.zhangshu.chat.demo.dto.CommonResult; import com.zhangshu.chat.demo.dto.LoginDto; import com.zhangshu.chat.demo.service.LoginService; import com.zhangshu.chat.demo.vo.LoginVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.NonNull; import org.hibernate.validator.constraints.Range; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; /** * LoginController * * @date 2022/3/18 20:10 */ @RestController @RequestMapping("/auth") @Api(value = "LoginController", tags = "登陆授权") public class LoginController { @Autowired LoginService loginService; @PostMapping("/login") @ApiOperation(value = "login") public CommonResult login(@Valid @RequestBody LoginDto dto) { LoginVo loginVo = loginService.login(dto); return CommonResult.success(loginVo); } @GetMapping("/agora/token") @ApiOperation(value = "agora-token") public CommonResult agoraToken(@Valid @NonNull Authentication authentication, @RequestParam("channelName") String channelName, @Range(min = 1, max = 2, message = "role error") @RequestParam("role") int role) { LoginVo loginVo = loginService.agoraToken(authentication, channelName, role); return CommonResult.success(loginVo); } }