From dfab344be80957d1013d6e60b7152b87f8ee279e Mon Sep 17 00:00:00 2001 From: jingrow Date: Sat, 9 Aug 2025 00:24:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0get=5Fjsite=5Fserver=E7=AB=AF?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jcloud/api/aliyun_server_light.py | 37 ++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/jcloud/api/aliyun_server_light.py b/jcloud/api/aliyun_server_light.py index e403325..eabc46a 100644 --- a/jcloud/api/aliyun_server_light.py +++ b/jcloud/api/aliyun_server_light.py @@ -1592,4 +1592,39 @@ def install_jsite(instance_id, site_name, git_repo, site_url, revalidate_token, except Exception as e: jingrow.log_error("安装Jsite失败", f"在实例 {instance_id} 上安装Jsite时发生错误: {str(e)}") - return {"success": False, "error": str(e), "message": "安装Jsite失败"} \ No newline at end of file + return {"success": False, "error": str(e), "message": "安装Jsite失败"} + +@jingrow.whitelist() +def get_jsite_server(instance_id=None, name=None): + """获取Jsite Server记录""" + try: + if not instance_id and not name: + return {"success": False, "message": "请提供 instance_id 或 name 参数"} + + server = None + if instance_id: + server = jingrow.get_pg("Jsite Server", {"instance_id": instance_id}) + elif name: + server = jingrow.get_pg("Jsite Server", name) + + if not server: + return {"success": False, "message": "找不到对应的服务器记录"} + + # 返回服务器信息(排除敏感字段) + server_data = server.as_dict() + + # 移除敏感字段 + sensitive_fields = ['password', 'private_key'] + for field in sensitive_fields: + if field in server_data: + del server_data[field] + + return { + "success": True, + "data": server_data, + "message": "获取服务器记录成功" + } + + except Exception as e: + jingrow.log_error("获取Jsite Server记录失败", f"获取服务器记录时发生错误: {str(e)}") + return {"success": False, "message": f"获取服务器记录失败: {str(e)}"} \ No newline at end of file