添加手机号注册和邮箱注册
This commit is contained in:
parent
de3a02b439
commit
e17d9f4618
@ -6,9 +6,11 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.ruoyi.common.annotation.Anonymous;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.model.LoginBody;
|
||||
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||
import com.ruoyi.tfa.email.service.impl.MailServiceImpl;
|
||||
|
||||
@RestController
|
||||
@ -29,4 +31,18 @@ public class MailAuthController extends BaseController {
|
||||
serviceImpl.doBindVerify(loginBody);
|
||||
return success();
|
||||
}
|
||||
|
||||
@PostMapping("/send/register")
|
||||
@Anonymous
|
||||
public AjaxResult sendRegister(@RequestBody RegisterBody registerBody) {
|
||||
serviceImpl.doRegister(registerBody);
|
||||
return success();
|
||||
}
|
||||
|
||||
@PostMapping("/verify/register")
|
||||
@Anonymous
|
||||
public AjaxResult verifyRegister(@RequestBody RegisterBody registerBody) {
|
||||
serviceImpl.doRegisterVerify(registerBody);
|
||||
return success();
|
||||
}
|
||||
}
|
||||
|
@ -57,8 +57,10 @@ public class MailServiceImpl implements IMailService {
|
||||
if (StringUtils.isEmpty(code))
|
||||
return false;
|
||||
String cachedCode = CacheUtils.get(CacheConstants.EMAIL_CODES, use.getValue() + email, String.class); // 从缓存中获取验证码
|
||||
boolean isValid = code.equals(cachedCode);
|
||||
if (isValid)
|
||||
CacheUtils.remove(CacheConstants.EMAIL_CODES, use.getValue() + email);
|
||||
return code.equals(cachedCode);
|
||||
return isValid;
|
||||
}
|
||||
|
||||
public void doLogin(LoginBody loginBody, boolean isRegister) {
|
||||
@ -104,6 +106,7 @@ public class MailServiceImpl implements IMailService {
|
||||
if (checkCode(registerBody.getEmail(), registerBody.getCode(), OauthVerificationUse.REGISTER)) {
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setUserName(registerBody.getEmail());
|
||||
sysUser.setNickName(registerBody.getEmail());
|
||||
sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
|
||||
sysUser.setEmail(registerBody.getEmail());
|
||||
userService.registerUser(sysUser);
|
||||
|
@ -6,9 +6,11 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.ruoyi.common.annotation.Anonymous;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.domain.model.LoginBody;
|
||||
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||
import com.ruoyi.tfa.phone.service.Impl.DySmsServiceImpl;
|
||||
|
||||
/**
|
||||
@ -18,7 +20,7 @@ import com.ruoyi.tfa.phone.service.Impl.DySmsServiceImpl;
|
||||
* @date 2024-04-16
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/tfa/phone")
|
||||
@RequestMapping("/auth/phone")
|
||||
public class DySmsAuthController extends BaseController {
|
||||
@Autowired
|
||||
public DySmsServiceImpl dySmsService;
|
||||
@ -34,4 +36,18 @@ public class DySmsAuthController extends BaseController {
|
||||
dySmsService.doBindVerify(loginBody);
|
||||
return success();
|
||||
}
|
||||
|
||||
@PostMapping("/send/register")
|
||||
@Anonymous
|
||||
public AjaxResult sendRegister(@RequestBody RegisterBody registerBody) {
|
||||
dySmsService.doRegister(registerBody);
|
||||
return success();
|
||||
}
|
||||
|
||||
@PostMapping("/verify/register")
|
||||
@Anonymous
|
||||
public AjaxResult verifyRegister(@RequestBody RegisterBody registerBody) {
|
||||
dySmsService.doRegisterVerify(registerBody);
|
||||
return success();
|
||||
}
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ public class DySmsServiceImpl implements DySmsService {
|
||||
private TokenService tokenService;
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(DySmsServiceImpl.class);
|
||||
|
||||
@Override
|
||||
public boolean sendCode(String phone, String code, OauthVerificationUse use) {
|
||||
if (CacheUtils.hasKey(CacheConstants.PHONE_CODES, use.getValue() + phone)) {
|
||||
@ -66,8 +67,10 @@ public class DySmsServiceImpl implements DySmsService {
|
||||
if (StringUtils.isEmpty(code))
|
||||
return false;
|
||||
String cachedCode = CacheUtils.get(CacheConstants.PHONE_CODES, use.getValue() + phone, String.class); // 从缓存中获取验证码
|
||||
boolean isValid = code.equals(cachedCode);
|
||||
if (isValid)
|
||||
CacheUtils.remove(CacheConstants.PHONE_CODES, use.getValue() + phone);
|
||||
return code.equals(cachedCode);
|
||||
return isValid;
|
||||
}
|
||||
|
||||
public void doLogin(LoginBody loginBody, boolean isRegister) {
|
||||
@ -113,6 +116,7 @@ public class DySmsServiceImpl implements DySmsService {
|
||||
if (checkCode(registerBody.getPhonenumber(), registerBody.getCode(), OauthVerificationUse.REGISTER)) {
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setUserName(registerBody.getPhonenumber());
|
||||
sysUser.setNickName(registerBody.getUsername());
|
||||
sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword()));
|
||||
sysUser.setPhonenumber(registerBody.getPhonenumber());
|
||||
return userService.registerUser(sysUser);
|
||||
|
@ -11,6 +11,7 @@ import com.aliyun.tea.TeaException;
|
||||
import com.aliyun.teaopenapi.models.Config;
|
||||
import com.aliyun.teautil.Common;
|
||||
import com.aliyun.teautil.models.RuntimeOptions;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
import com.ruoyi.tfa.phone.config.DySmsConfig;
|
||||
import com.ruoyi.tfa.phone.enums.DySmsTemplate;
|
||||
@ -67,9 +68,10 @@ public class DySmsUtil {
|
||||
// 复制代码运行请自行打印 API 的返回值
|
||||
SendSmsResponse sendSmsResponse = client.sendSmsWithOptions(sendSmsRequest, new RuntimeOptions());
|
||||
if (sendSmsResponse.getBody().getCode().equals("OK")) {
|
||||
logger.info("短信接口返回的数据---", sendSmsResponse.getBody().getMessage());
|
||||
logger.info("短信接口返回的数据--- {}", sendSmsResponse.getBody().getMessage());
|
||||
} else {
|
||||
logger.error("短信接口返回的数据---", sendSmsResponse.getBody().getMessage());
|
||||
logger.error("短信接口返回的数据--- {}", sendSmsResponse.getBody().getMessage());
|
||||
throw new ServiceException(sendSmsResponse.getBody().getMessage());
|
||||
}
|
||||
} catch (TeaException error) {
|
||||
// 错误 message
|
||||
@ -77,13 +79,6 @@ public class DySmsUtil {
|
||||
// 诊断地址
|
||||
System.out.println(error.getData().get("Recommend"));
|
||||
Common.assertAsString(error.message);
|
||||
} catch (Exception _error) {
|
||||
TeaException error = new TeaException(_error.getMessage(), _error);
|
||||
// 错误 message
|
||||
System.out.println(error.getMessage());
|
||||
// 诊断地址
|
||||
System.out.println(error.getData().get("Recommend"));
|
||||
Common.assertAsString(error.message);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user