新增修改dns服务器的api端点
This commit is contained in:
parent
3e36095b83
commit
3fd6c1f755
@ -579,6 +579,43 @@ class WestDomain:
|
|||||||
jingrow.log_error("西部数码实名上传请求失败", error=str(e), url=upload_url)
|
jingrow.log_error("西部数码实名上传请求失败", error=str(e), url=upload_url)
|
||||||
return {"status": "error", "message": f"API请求失败: {str(e)}"}
|
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):
|
def format_date(date):
|
||||||
"""格式化域名到期时间"""
|
"""格式化域名到期时间"""
|
||||||
@ -2299,3 +2336,83 @@ def test_dns_record_management():
|
|||||||
return {"status": "error", "message": f"DNS记录管理功能测试失败: {str(e)}"}
|
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