main #2

Merged
jingrow merged 250 commits from main into v1 2026-01-13 22:45:50 +08:00
Showing only changes of commit 3fd6c1f755 - Show all commits

View File

@ -579,6 +579,43 @@ class WestDomain:
jingrow.log_error("西部数码实名上传请求失败", error=str(e), url=upload_url)
return {"status": "error", "message": f"API请求失败: {str(e)}"}
def modify_dns_server(self, domain: str, dns1: str, dns2: str,
dns3: Optional[str] = None, dns4: Optional[str] = None,
dns5: Optional[str] = None, dns6: Optional[str] = None) -> Dict[str, Any]:
"""
修改域名DNS服务器
Args:
domain: 要修改DNS的域名
dns1: 主DNS服务器
dns2: 辅DNS服务器
dns3: 第三个DNS服务器可选
dns4: 第四个DNS服务器可选
dns5: 第五个DNS服务器可选
dns6: 第六个DNS服务器可选
Returns:
API响应结果
"""
body_params = {
'act': 'moddns',
'domain': domain,
'dns1': dns1,
'dns2': dns2,
}
# 添加可选的DNS服务器
if dns3:
body_params['dns3'] = dns3
if dns4:
body_params['dns4'] = dns4
if dns5:
body_params['dns5'] = dns5
if dns6:
body_params['dns6'] = dns6
return self._make_request('/domain/', 'POST', body_params=body_params)
def format_date(date):
"""格式化域名到期时间"""
@ -2299,3 +2336,83 @@ def test_dns_record_management():
return {"status": "error", "message": f"DNS记录管理功能测试失败: {str(e)}"}
@jingrow.whitelist()
def west_domain_modify_dns_server(**data):
"""修改域名DNS服务器"""
client = get_west_client()
if not client:
return {"status": "error", "message": "API客户端初始化失败"}
domain = data.get('domain')
dns1 = data.get('dns1')
dns2 = data.get('dns2')
dns3 = data.get('dns3')
dns4 = data.get('dns4')
dns5 = data.get('dns5')
dns6 = data.get('dns6')
if not domain:
return {"status": "error", "message": "缺少域名参数"}
if not dns1:
return {"status": "error", "message": "缺少主DNS服务器参数"}
if not dns2:
return {"status": "error", "message": "缺少辅DNS服务器参数"}
# 验证DNS服务器格式
dns_servers = [dns1, dns2]
if dns3:
dns_servers.append(dns3)
if dns4:
dns_servers.append(dns4)
if dns5:
dns_servers.append(dns5)
if dns6:
dns_servers.append(dns6)
# 验证DNS服务器格式简单验证
for dns in dns_servers:
if dns and not ('.' in dns and len(dns) > 3):
return {"status": "error", "message": f"DNS服务器格式不正确: {dns}"}
response = client.modify_dns_server(
domain=domain,
dns1=dns1,
dns2=dns2,
dns3=dns3,
dns4=dns4,
dns5=dns5,
dns6=dns6
)
if response.get("status") == "error":
return response
try:
# 检查响应格式
if response.get("result") != 200:
error_msg = response.get('msg', response.get('message', '未知错误'))
return {"status": "error", "message": f"修改DNS服务器失败: {error_msg}"}
# 返回成功结果
return {
"status": "success",
"message": "DNS服务器修改成功",
"data": {
"domain": domain,
"dns_servers": {
"dns1": dns1,
"dns2": dns2,
"dns3": dns3,
"dns4": dns4,
"dns5": dns5,
"dns6": dns6
},
"clientid": response.get("clientid")
}
}
except Exception as e:
jingrow.log_error("修改DNS服务器响应解析失败", error=str(e))
return {"status": "error", "message": "修改DNS服务器响应解析失败"}