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

View File

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

View File

@@ -7,9 +7,9 @@ import javax.annotation.PostConstruct;
@Component
public class AliyunConfigHolder {
private final AliyunProperties aliyunProperties;
private final AliyunAuthProperties aliyunProperties;
public AliyunConfigHolder(AliyunProperties aliyunProperties) {
public AliyunConfigHolder(AliyunAuthProperties 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();
param.put("code", smsCode);
try {
SmsCodeUtils.asyncSmsCode(phoneNumber, "大象网", "SMS_259435198", param, null);
SmsCodeUtils.asyncSmsCode(phoneNumber, "大象网", "SMS_464515480", param, null);
return Boolean.TRUE;
} catch (Exception e) {
return Boolean.FALSE;

View File

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