46 lines
1.5 KiB
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);
|
|
}
|
|
}
|