From 403fbe8fa8d3df96d692ad41ffa1c300b0db5493 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期六, 24 八月 2024 18:02:02 +0800 Subject: [PATCH] APP端登录模块接口 --- xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 115 insertions(+), 5 deletions(-) diff --git a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java index 47e877a..41f1707 100644 --- a/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java +++ b/xinquan-auth/src/main/java/com/xinquan/auth/controller/TokenController.java @@ -1,8 +1,11 @@ package com.xinquan.auth.controller; +import com.xinquan.auth.form.AppChangePwdBody; +import com.xinquan.auth.form.AppLoginBody; import com.xinquan.auth.form.AppRegisterBody; import com.xinquan.auth.form.LoginBody; import com.xinquan.auth.form.RegisterBody; +import com.xinquan.auth.form.VerifyResultVO; import com.xinquan.auth.service.SysLoginService; import com.xinquan.common.core.domain.R; import com.xinquan.common.core.utils.JwtUtils; @@ -13,7 +16,12 @@ import com.xinquan.system.api.domain.SysRole; import com.xinquan.system.api.domain.SysUser; import com.xinquan.system.api.feignClient.SysUserClient; +import com.xinquan.system.api.model.AppCaptchaBody; +import com.xinquan.system.api.model.AppVerifyCellPhoneBody; +import com.xinquan.system.api.model.AppWXLoginBody; +import com.xinquan.system.api.model.AppleLoginUser; import com.xinquan.system.api.model.LoginUser; +import com.xinquan.system.api.model.WXLoginUser; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -23,6 +31,7 @@ import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -52,11 +61,15 @@ * @param cellPhone 手机号码 * @return */ - @GetMapping("/app/send-captcha-code") + @GetMapping("/app/sendCaptchaCode") @ApiOperation(value = "发送验证码",tags = {"APP端"}) - @ApiImplicitParams({@ApiImplicitParam(name = "cellPhone",value = "手机号码",required = true,dataType = "String",paramType = "query")}) - public R<?> sendCaptchaCode(@RequestParam("cellPhone") String cellPhone) { - sysLoginService.sendCaptchaCode(cellPhone); + @ApiImplicitParams({ + @ApiImplicitParam(name = "cellPhone", value = "手机号码", required = true, dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "type", value = "类型 1=注册 2=验证码登录 3=找回密码 4=第三方登录后验证手机", required = true, dataType = "Integer", paramType = "query")}) + public R<?> sendCaptchaCode( + @RequestParam(value = "cellPhone", required = true) String cellPhone, + @RequestParam("type") Integer type) { + sysLoginService.sendCaptchaCode(cellPhone, type); return R.ok(); } @@ -67,13 +80,110 @@ */ @ApiOperation(value = "注册账户",tags = {"APP端"}) @PostMapping("/app/register") - public R<?> appRegister(@RequestBody AppRegisterBody appRegisterBody) + public R<?> appRegister(@Validated @RequestBody AppRegisterBody appRegisterBody) { // 用户注册 sysLoginService.appRegister(appRegisterBody); return R.ok(); } + /** + * 账号密码登录 + * + * @param body + * @return + */ + @ApiOperation(value = "账号密码登录", tags = {"APP端"}) + @PostMapping("/app/login") + public R<?> appLogin(@Validated @RequestBody AppLoginBody body) { + LoginUser userInfo = sysLoginService.appLogin(body); + return R.ok(tokenService.createToken(userInfo)); + } + + /** + * 验证码登录 + * + * @param body + * @return + */ + @ApiOperation(value = "验证码登录", tags = {"APP端"}) + @PostMapping("/app/captchaLogin") + public R<?> appCaptchaLogin(@Validated @RequestBody AppCaptchaBody body) { + LoginUser userInfo = sysLoginService.appCaptchaLogin(body); + return R.ok(tokenService.createToken(userInfo)); + } + + /** + * 验证手机号 + * + * @param body + * @return + */ + @ApiOperation(value = "忘记密码-验证手机号", tags = {"APP端"}) + @PostMapping("/app/verifyPhone") + public R<VerifyResultVO> verifyPhone(@Validated @RequestBody AppCaptchaBody body) { + return R.ok(sysLoginService.verifyPhone(body)); + } + + /** + * 设置新密码 + * + * @param body + * @return + */ + @ApiOperation(value = "设置新密码", tags = {"APP端"}) + @PostMapping("/app/changePassword") + public R<?> changePassword(@Validated @RequestBody AppChangePwdBody body) { + sysLoginService.changePassword(body); + return R.ok(); + } + + /** + * APP微信登录 + * + * @param body + * @return + */ + @ApiOperation(value = "微信登录", tags = {"APP端"}) + @PostMapping("/app/wxLogin") + public R<?> thirdLogin(@Validated @RequestBody AppWXLoginBody body) { + WXLoginUser wxLoginUser = sysLoginService.wxLogin(body); + return R.ok(tokenService.createToken4WXLoginUser(wxLoginUser)); + } + + /** + * 苹果登录 + * + * @param appleId + * @return + */ + @ApiOperation(value = "苹果登录", tags = {"APP端"}) + @PostMapping("/app/appleLogin") + @ApiImplicitParams({ + @ApiImplicitParam(name = "appleId", value = "苹果ID", required = true, dataType = "String", paramType = "query")}) + public R<?> appleLogin(@RequestParam(value = "appleId", required = true) String appleId) { + AppleLoginUser appleLoginUser = sysLoginService.appleLogin(appleId); + return R.ok(tokenService.createToken4WXLoginUser(appleLoginUser)); + } + + /** + * 微信苹果登录-验证手机号 + * + * @param body + * @return + */ + @ApiOperation(value = "微信苹果登录-验证手机号", tags = {"APP端"}) + @PostMapping("/app/verifyCellPhone") + public R<?> verifyCellPhone(@Validated @RequestBody AppVerifyCellPhoneBody body) { + return R.ok(tokenService.createToken4WXLoginUser(sysLoginService.verifyCellPhone(body))); + } + + /** + * 管理后台登录 + * + * @param form + * @return + */ @ApiOperation(value = "管理后台登录",tags = {"管理后台"}) @PostMapping("login") public R<?> login(@RequestBody LoginBody form) -- Gitblit v1.7.1