feat:阿里云短信模块开发

This commit is contained in:
xiang
2025-09-06 22:58:03 +08:00
parent 97704a5a4a
commit 14d190e2db
6 changed files with 23 additions and 13 deletions

View File

@@ -4,22 +4,22 @@ import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider; import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient; import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient;
import com.aliyun.teaopenapi.models.Config; import com.aliyun.teaopenapi.models.Config;
import com.xiang.xservice.basic.xservice.aliyun.config.AliyunProperties; import com.xiang.xservice.basic.xservice.aliyun.config.AliyunAuthProperties;
import darabonba.core.client.ClientOverrideConfiguration; import darabonba.core.client.ClientOverrideConfiguration;
import lombok.Setter; import lombok.Setter;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
@EnableConfigurationProperties({AliyunProperties.class}) @EnableConfigurationProperties({AliyunAuthProperties.class})
public class ClientUtils { public class ClientUtils {
@Setter @Setter
private static AliyunProperties aliyunProperties; private static AliyunAuthProperties aliyunProperties;
private static final String ENDPOINT = "dysmsapi.aliyuncs.com"; private static final String ENDPOINT = "dysmsapi.aliyuncs.com";
public static com.aliyun.dysmsapi20170525.Client initClients() throws Exception { public static com.aliyun.dysmsapi20170525.Client initClients() throws Exception {
AliyunProperties properties = new AliyunProperties(); AliyunAuthProperties properties = new AliyunAuthProperties();
Config config = new Config() Config config = new Config()
// 配置 AccessKey ID请确保代码运行环境配置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。 // 配置 AccessKey ID请确保代码运行环境配置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
.setAccessKeyId(aliyunProperties.getAccessKeyId()) .setAccessKeyId(aliyunProperties.getAccessKeyId())
@@ -32,8 +32,8 @@ public class ClientUtils {
public static AsyncClient initAsyncClient() { public static AsyncClient initAsyncClient() {
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder() StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
.accessKeyId(System.getenv(aliyunProperties.getAccessKeyId())) .accessKeyId(aliyunProperties.getAccessKeyId())
.accessKeySecret(System.getenv(aliyunProperties.getAccessKeySecret())) .accessKeySecret(aliyunProperties.getAccessKeySecret())
.build()); .build());
return AsyncClient.builder() return AsyncClient.builder()
.region("cn-hangzhou") // Region ID .region("cn-hangzhou") // Region ID

View File

@@ -3,13 +3,13 @@ package com.xiang.xservice.basic.xservice.aliyun.config;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.boot.context.properties.ConfigurationProperties;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@RefreshScope @ConfigurationProperties(prefix = "aliyun.auth")
public class AliyunProperties { public class AliyunAuthProperties {
private String accessKeyId; private String accessKeyId;
private String accessKeySecret; private String accessKeySecret;

View File

@@ -7,9 +7,9 @@ import javax.annotation.PostConstruct;
@Component @Component
public class AliyunConfigHolder { public class AliyunConfigHolder {
private final AliyunProperties aliyunProperties; private final AliyunAuthProperties aliyunProperties;
public AliyunConfigHolder(AliyunProperties aliyunProperties) { public AliyunConfigHolder(AliyunAuthProperties aliyunProperties) {
this.aliyunProperties = aliyunProperties; this.aliyunProperties = aliyunProperties;
} }

View File

@@ -0,0 +1,10 @@
package com.xiang.xservice.basic.xservice.aliyun.config;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableConfigurationProperties(AliyunAuthProperties.class)
public class AliyunPropertiesConfig {
}

View File

@@ -13,7 +13,7 @@ public class SmsCodeServiceImpl implements ISmsCodeService {
Map<String, String> param = Maps.newHashMap(); Map<String, String> param = Maps.newHashMap();
param.put("code", smsCode); param.put("code", smsCode);
try { try {
SmsCodeUtils.asyncSmsCode(phoneNumber, "大象网", "SMS_259435198", param, null); SmsCodeUtils.asyncSmsCode(phoneNumber, "大象网", "SMS_464515480", param, null);
return Boolean.TRUE; return Boolean.TRUE;
} catch (Exception e) { } catch (Exception e) {
return Boolean.FALSE; return Boolean.FALSE;

View File

@@ -1,2 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.xiang.xservice.basic.xservice.aliyun.config.AliyunProperties com.xiang.xservice.basic.xservice.aliyun.config.AliyunPropertiesConfig