项目需要使用验证码的方式实现登录或者注册,想起之前yshop项目也用过阿里云的短信验证码,在此记录下如何接入项目。
<!--引入aliyun依赖-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.4.1</version>
</dependency>
@Data
public class VerityParam {
@NotBlank(message = "手机号必填")
private String phone;
//验证码登录/注册
private String type;
}
/**
* 阿里云短信验证码
* @param param
* @return
*/
@AnonymousAccess
@PostMapping("/register/verify")
@ApiOperation(value = "短信验证码发送", notes = "短信验证码发送")
public ApiResult<String> verify(@Validated @RequestBody VerityParam param) {
//查询手机号记录是否存在
YxUser yxUser = userService.getOne(Wrappers.<YxUser>lambdaQuery()
.eq(YxUser::getPhone,param.getPhone()),false);
//手机号存在且为注册操作
if (SmsTypeEnum.REGISTER.getValue().equals(param.getType()) && ObjectUtil