códigos de la primavera de arranque + Redis enviado a través de la plataforma SMS

Si eso.

Que se utiliza aquí es Tencent plataforma de mensajería en la nube, con el argumento de que, por primera vez presentó la abertura 100 SMS

Después de la autenticación de nombre real personal, introduzca https://cloud.tencent.com/act/free

Según los pasos para llenar y plantillas de aplicación

A continuación, crear claves de la API https://console.cloud.tencent.com/cam/capi

Clic para continuar con el uso, haga clic en Nuevas claves

A continuación, introduzca https://console.cloud.tencent.com/api/explorer?Product=sms&Version=2019-07-11&Action=SendSms&SignVersion=

Copiar el código

1  importación com.tencentcloudapi.common.Credential;
2  importación com.tencentcloudapi.common.profile.ClientProfile;
3  importación com.tencentcloudapi.common.profile.HttpProfile;
4  importación com.tencentcloudapi.common.exception.TencentCloudSDKException;
5  
6  importación com.tencentcloudapi.sms.v20190711.SmsClient;
7  
8  importación com.tencentcloudapi.sms.v20190711.models.SendSmsRequest;
9  importación com.tencentcloudapi.sms.v20190711.models.SendSmsResponse;
10  
11  pública  de clase SendSMS
 12  {
 13     público  estáticas  void principales (args String []) {
 14          try {
 15  
16              credencial CRED = nueva credencial ( "【SecretId】", "【SecretKey】" );
17              
18              HttpProfile httpProfile = nuevo HttpProfile ();
19              httpProfile.setEndpoint ( "sms.tencentcloudapi.com" );
20  
21              ClientProfile clientProfile = nuevo ClientProfile ();
22              clientProfile.setHttpProfile (httpProfile);
23              
24              cliente SMSClient = nuevaSMSClient (CRED, "ap-Beijing" , clientProfile);
25              
26              params String = "{\" PhoneNumberSet \ ": [\" + 86 【电话号码】 \ "], \" TemplateID \ ": \" 【模板ID】 \ "\ "SmsSdkAppid \": \" 【 SmsSdkAppid】 \ "}" ;
27              SendSmsRequest req = SendSmsRequest.fromJsonString (params, SendSmsRequest. Clase );
28              
29              SendSmsResponse resp = client.SendSms (req);
30              
31              System.out.println (SendSmsRequest.toJsonString (resp));
32          } catch (TencentCloudSDKException e) {
 33                  System.out.println (e.ToString ());
 35  
36      }
 37      
38 }

Luego hay que añadir pom-dependientes:

. 1          < dependencia > 
2              < la groupId > com.tencentcloudapi </ el groupId > 
3.              < El artifactId > tencentcloud-SDK-Java </ el artifactId > 
4.              < Versión > 3.1.27 </ Version > <! - Nota: Esto es sólo un ejemplo de número versión , por favor obtener la última versión https://mvnrepository.com/artifact/com.tencentcloudapi/tencentcloud-sdk-java -> 
5          </ dependencia >

A continuación, puede utilizarlo.

 

---------------------------------

herramienta de sugerencia en el paquete, el número de teléfono entrante y el código de verificación, se establece en un método estático. 

 

códigos de la primavera de arranque usadas en combinación código de la interfaz Redis:

1  paquete top.bigking.backstage.service.impl;
2  
3  importación org.springframework.data.redis.core.RedisTemplate;
4  importación org.springframework.data.redis.serializer.StringRedisSerializer;
5  importación org.springframework.stereotype.Service;
6  importación top.bigking.backstage.service.VerifyCodeService;
7  importación top.bigking.backstage.utils.SendSms;
8  
9  importación javax.annotation.Resource;
10  importación java.util.Random;
11  importación java.util.concurrent.TimeUnit;
12  
13 / ** 
14  * @author ABKing
 15  * @since 02/04/2020下午5:41
 16  * * / 
17  @Service
 18  pública  de clase VerifyCodeServiceImpl implementos VerifyCodeService {
 19      @Resource
 20      privado RedisTemplate <String, String> redisTemplate;
21  
22      @ Override
 23      pública Boolean setVerifyCode (String phoneNum) {
 24          redisTemplate.setKeySerializer ( nuevo StringRedisSerializer ());
25          redisTemplate.setValueSerializer (nuevo nuevo StringRedisSerializer ());
 26 es          Cadena Clave de código = "Verify_code:" + phoneNum + ": código" ;
 27          Cadena codeCount = "Verify_code:" + phoneNum + ": COUNT" ;
 28          código String = la getCode (6. );
 29          SendSMS. SendSMS (phoneNum, código);
 30          // un día número uno hasta tres veces los códigos de transmisión 
31 es          de cadena COUNT = redisTemplate.opsForValue () GET (codeCount) ;.
 32          IF (COUNT == nula ) {
 33 se              redisTemplate.opsForValue () SET. (codeCount, ,. 1" 1" . , TimeUnit.DAYS);
34              // códigos de 60 segundos expiran 
35             redisTemplate.opsForValue () define (Clave de código, código, 60. , TimeUnit.SECONDS);
36              volver  verdadero ;
37          } más  si (Integer.parseInt (recuento) <= 2 ) {
 38              redisTemplate.opsForValue () conjunto (codeCount, String.valueOf (Integer.parseInt (recuento) + 1), 1. , TimeUnit.DAYS);
39              // 验证码60秒过期
40              redisTemplate.opsForValue () define (Clave de código, código, 60. , TimeUnit.SECONDS);
41              regresan  verdadera ;
42          }
 43          de retorno  falsa ;
44      }
 45     Privada Cadena la getCode (longitud entero) {
 46 es          código String = "" ;
 47          la Random Random = nuevo nuevo el Random ();
 48          para ( int i = 0; i <longitud; i ++ ) {
 49              // unido establecer los parámetros, valores en el rango [0, con destino), si no los parámetros de escritura, el valor int de la gama, 31 es de ~ 2 ^ -2 ^ 31-1 
50              código random.nextInt = + (10 );
 51 es          }
 52 es          el retorno de código;
 53 es      }
 54 es  
55      @ Override
 56 es      público cadena getVerifyCode (phoneNum String) {
 57 es         redisTemplate.setKeySerializer ( nuevo StringRedisSerializer ());
58          redisTemplate.setValueSerializer ( nuevo StringRedisSerializer ());
59          Cadena de Clave de código = "Verify_code:" + phoneNum + ": código" ;
60          de retorno redisTemplate.opsForValue get () (Clave de código).;
61      }
 62  
63 }

 

Supongo que te gusta

Origin www.cnblogs.com/ABKing/p/12628833.html
Recomendado
Clasificación