main #2
@ -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服务器响应解析失败"}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user