支持国际验证码
parent
a834ed95ee
commit
32d0a6186a
|
|
@ -10,6 +10,7 @@ import io.swagger.annotations.Api;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.Authorization;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
|
@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
@SuppressWarnings("ALL")
|
||||
@CrossOrigin
|
||||
@Api(tags = "短信验证码接口" , description = "短信验证码接口")
|
||||
@Slf4j
|
||||
public class PhoneCodeController {
|
||||
|
||||
@Autowired
|
||||
|
|
@ -48,6 +50,7 @@ public class PhoneCodeController {
|
|||
if ("OK".equals(send)) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
log.info("短信验证码发送失败:-------------------- " + send);
|
||||
return AjaxResult.error("短信验证码发送失败", send);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,8 @@ public class SendNoteUtil {
|
|||
* 阿里云短信模板Code
|
||||
*/
|
||||
// @Value("${alisms.templateCode}")
|
||||
private String templateCode = "SMS_299115021";
|
||||
private String homeTemplateCode = "SMS_299115021";
|
||||
private String foreignTemplateCode = "SMS_468240573";
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -87,7 +88,7 @@ public class SendNoteUtil {
|
|||
request.putQueryParameter("PhoneNumbers", PhoneNumber);//接受验证码的手机号
|
||||
request.putQueryParameter("SignName", signName);//签名
|
||||
//模板代码,我暂时用的参数,你可以直接写成模板码,模板码参考第八步
|
||||
request.putQueryParameter("TemplateCode", templateCode);
|
||||
request.putQueryParameter("TemplateCode", isChineseMobileNumber(PhoneNumber) ? homeTemplateCode : foreignTemplateCode);
|
||||
//用户定义的验证码内容
|
||||
request.putQueryParameter("TemplateParam", "{\"code\": \"" + randomNumber + "\"}");
|
||||
try {
|
||||
|
|
@ -148,6 +149,8 @@ public class SendNoteUtil {
|
|||
* @return 返回发送状态
|
||||
*/
|
||||
public String sendMessage(String PhoneNumber) {
|
||||
String homeTem = "SMS_467520300";
|
||||
String foreignTem = "SMS_468380559";
|
||||
CommonRequest request = new CommonRequest();
|
||||
request.setSysMethod(MethodType.POST);
|
||||
request.setSysDomain(dysmsapi);
|
||||
|
|
@ -156,7 +159,7 @@ public class SendNoteUtil {
|
|||
request.putQueryParameter("PhoneNumbers", PhoneNumber);//接受验证码的手机号
|
||||
request.putQueryParameter("SignName", signName);//签名
|
||||
//模板代码,我暂时用的参数,你可以直接写成模板码,模板码参考第八步,此模板代码是发送通过申请的模板代码
|
||||
request.putQueryParameter("TemplateCode", "SMS_467520300");
|
||||
request.putQueryParameter("TemplateCode", isChineseMobileNumber(PhoneNumber) ? homeTem : foreignTem);
|
||||
|
||||
request.putQueryParameter("TemplateParam", "{\"phone\":\"" + PhoneNumber + "\"}");
|
||||
try {
|
||||
|
|
@ -169,4 +172,9 @@ public class SendNoteUtil {
|
|||
return e.getErrMsg();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isChineseMobileNumber(String number) {
|
||||
String regex = "^1[3-9]\\d{9}$";
|
||||
return number.matches(regex);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue