package com.zanxiang.sdk.controller; import com.zanxiang.common.domain.ResultVO; import com.zanxiang.sdk.annotation.UnSignCheck; import com.zanxiang.sdk.annotation.ValidLogin; import com.zanxiang.sdk.domain.params.LoginMobileParam; import com.zanxiang.sdk.domain.params.LoginPasswordParam; import com.zanxiang.sdk.domain.params.UserData; import com.zanxiang.sdk.domain.vo.UserLoginVO; import com.zanxiang.sdk.service.RegisterLoginService; import com.zanxiang.sdk.service.UserTokenService; 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.*; /** * @author : lingfeng * @time : 2022-06-21 * @description : 用户注册登录 */ @Api(tags = "注册登录接口") @RestController @RequestMapping(value = "/api/login") public class LoginController { @Autowired private RegisterLoginService registerLoginService; @Autowired private UserTokenService userTokenService; @UnSignCheck @ApiOperation(value = "登录凭证验证") @GetMapping("/token/check") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Long.class)}) public ResultVO userTokenCheck(@RequestParam Long appId, @RequestParam Long userId, @RequestParam String token, @RequestParam String sign) { return userTokenService.userTokenCheck(appId, userId, token, sign); } @ApiOperation(value = "登录凭证时效验证") @GetMapping("/token/expireTime/check") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Long.class)}) public ResultVO userTokenExpireTimeCheck(@ValidLogin UserData userData) { return ResultVO.ok(userTokenService.userTokenExpireTimeCheck(userData)); } @ApiOperation(value = "用户账号注册/登录") @PostMapping("/password") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVO loginPassword(@Validated @RequestBody LoginPasswordParam param, UserData userData) { return registerLoginService.loginPassword(param, userData); } @ApiOperation(value = "用户手机号注册/登录") @PostMapping("/mobile") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVO loginMobile(@Validated @RequestBody LoginMobileParam param, UserData userData) { return registerLoginService.loginMobile(param, userData); } @ApiOperation(value = "用户退出") @GetMapping("/sign/out") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVO loginOut(@ValidLogin UserData userData) { return ResultVO.ok(registerLoginService.loginOut(userData)); } @ApiOperation(value = "用户账号注销") @GetMapping("/write/off") @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)}) public ResultVO writeOff(@ValidLogin UserData userData) { return ResultVO.ok(registerLoginService.writeOff(userData)); } //-------------------------------- 微信和QQ授权登录(暂时没有用到) -------------------------------- // @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); // } }