package com.zanxiang.sdk.controller; import com.zanxiang.common.domain.ResultVo; import com.zanxiang.sdk.domain.params.*; import com.zanxiang.sdk.domain.vo.UserLoginVO; import com.zanxiang.sdk.service.RegisterLoginService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author : lingfeng * @time : 2022-06-21 * @description : 用户注册登录 */ @Api(tags = "注册登录接口") @RestController @RequestMapping(value = "/api/user") public class RegisterLoginController { @Autowired private RegisterLoginService registerPassword; @ApiOperation(value = "用户普通注册") @PostMapping("/register/password") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVo registerPassword(@Validated @RequestBody RegisterPasswordParam registerPasswordParam, HttpServletRequest request, UserData userData) { return registerPassword.registerPassword(registerPasswordParam, request, userData); } @ApiOperation(value = "用户手机注册") @PostMapping("/register/mobile") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVo registerMobile(@Validated @RequestBody RegisterMobileParam registerMobileParam, HttpServletRequest request, UserData userData) { return registerPassword.registerMobile(registerMobileParam, request, userData); } @ApiOperation(value = "用户名密码登录") @PostMapping("/login/password") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVo loginPassword(@Validated @RequestBody LoginPasswordParam userLoginParam, HttpServletRequest request, UserData userData) { return registerPassword.loginPassword(userLoginParam, request, userData); } @ApiOperation(value = "用户手机号登录") @PostMapping("/login/mobile") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVo loginMobile(@Validated @RequestBody LoginMobileParam loginMobileParam, HttpServletRequest request, UserData userData) { return registerPassword.loginMobile(loginMobileParam, request, userData); } @ApiOperation(value = "用户QQ授权登录") @GetMapping("/register/login/qq") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVo qqLoginAuth(HttpServletResponse response) { registerPassword.qqLoginAuth(response); return ResultVo.ok(); } @ApiOperation(value = "用户QQ授权登录回调接口") @PostMapping("/register/login/qq/call/back") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVo qqLoginCallback(@Validated @RequestBody QqLoginCallbackParam qqLoginCallbackParam, HttpServletRequest request, UserData userData) { return registerPassword.qqLoginCallback(qqLoginCallbackParam, request, userData); } @ApiOperation(value = "用户微信授权登录") @GetMapping("/register/login/vx") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVo getUserDetail(HttpServletResponse response) { registerPassword.vxLoginAuth(response); return ResultVo.ok(); } @ApiOperation(value = "用户微信授权登录回调接口") @PostMapping("/register/login/vx/call/back") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVo vxLoginCallback(@Validated @RequestBody QqLoginCallbackParam qqLoginCallbackParam, HttpServletRequest request, UserData userData) { return registerPassword.vxLoginCallback(qqLoginCallbackParam, request, userData); } }