chat-demo/src/main/java/com/zhangshu/chat/demo/controller/LoginController.java

46 lines
1.5 KiB
Java

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<LoginVo> login(@Valid @RequestBody LoginDto dto) {
LoginVo loginVo = loginService.login(dto);
return CommonResult.success(loginVo);
}
@GetMapping("/agora/token")
@ApiOperation(value = "agora-token")
public CommonResult<LoginVo> 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);
}
}