fix aliyun sms error popup

This commit is contained in:
jingrow 2025-04-13 17:35:43 +08:00
parent 941a56874a
commit a85054e417
2 changed files with 29 additions and 16 deletions

View File

@ -30,12 +30,19 @@ class AliyunSMSClient:
def initialize(self):
"""初始化配置信息"""
try:
settings = jingrow.get_single("Jcloud Settings")
self.access_key_id = settings.get("aliyun_access_key_id")
self.access_secret = settings.get_password("aliyun_access_secret")
# 检查 Jcloud Settings 是否存在
if jingrow.exists("Jcloud Settings"):
settings = jingrow.get_single("Jcloud Settings")
self.access_key_id = settings.get("aliyun_access_key_id")
self.access_secret = settings.get_password("aliyun_access_secret") if settings.get("aliyun_access_secret") else None
else:
# 设置默认值
self.access_key_id = None
self.access_secret = None
jingrow.log_error("阿里云SMS客户端: Jcloud Settings 尚未配置,请在设置中完成配置")
except Exception as e:
jingrow.log_error(f"阿里云SMS客户端初始化失败: {str(e)}")
jingrow.log_error(f"阿里云SMS客户端初始化: {str(e)}")
self.access_key_id = None
self.access_secret = None
@ -125,12 +132,19 @@ class AliyunSMSClient:
signature = base64.b64encode(h.digest()).decode()
return signature
# 创建单例实例
sms_client = AliyunSMSClient.get_instance()
# 改为在首次调用时初始化
sms_client = None
def get_sms_client():
"""获取短信客户端实例,确保在首次调用时才初始化"""
global sms_client
if sms_client is None:
sms_client = AliyunSMSClient.get_instance()
return sms_client
def send_custom_sms(phone_numbers, message_content, sign_name, template_code):
return sms_client.send_sms(phone_numbers, template_code, message_content, sign_name)
client = get_sms_client()
return client.send_sms(phone_numbers, template_code, message_content, sign_name)
def generate_verification_code(length=4):
"""生成指定长度的随机数字验证码"""
@ -164,10 +178,4 @@ def send_renew_sms(phone_numbers, days_remaining, site_end_date):
"site_end_date": str(site_end_date)
}
return send_custom_sms(phone_numbers, message_content, sign_name, template_code)
# 在模块导入时初始化客户端
try:
sms_client = AliyunSMSClient.get_instance()
except Exception as e:
jingrow.log_error(f"阿里云SMS客户端自动初始化失败: {str(e)}")
return send_custom_sms(phone_numbers, message_content, sign_name, template_code)

View File

@ -80,7 +80,7 @@ Developer,开发者,
Disabled,禁用,
Document Name,文档名称,
Document Type,文档类型,
Domain,领域,
Domain,主域名,
Domains,,
Download,下载,
Draft,草案,
@ -337,5 +337,10 @@ Marketplace Commission,应用市场佣金,
App Include Scripts,应用包含脚本,
Adds this script to app_include_js via site config. Used for in-site billing,
Github PAT Token,GitHub PAT令牌,
Infrastructure,基础设施,
Feature Flags,其他功能,
Partner,合作伙伴,
Hybrid Server,混合服务器,

Can't render this file because it has a wrong number of fields in line 338.