From 3d1319b2288a163a9e93ce9d0dfda5abcd6f964a Mon Sep 17 00:00:00 2001 From: jingrow Date: Fri, 15 Aug 2025 15:43:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AFJsite=20Server=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E9=A1=B5=E5=A2=9E=E5=8A=A0=E5=86=85=E7=BD=91IP?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src2/components/JsiteServerOverview.vue | 16 ++++++++++------ dashboard/src2/objects/jsite_server.js | 1 + jcloud/api/aliyun_server_light.py | 3 +++ .../pagetype/jsite_server/jsite_server.json | 13 +++++++++++-- .../jcloud/pagetype/jsite_server/jsite_server.py | 5 ++++- 5 files changed, 29 insertions(+), 9 deletions(-) diff --git a/dashboard/src2/components/JsiteServerOverview.vue b/dashboard/src2/components/JsiteServerOverview.vue index b03f997..e2d3542 100644 --- a/dashboard/src2/components/JsiteServerOverview.vue +++ b/dashboard/src2/components/JsiteServerOverview.vue @@ -214,10 +214,6 @@
-
- 公网IP: - {{ $jsiteServer.pg.public_ip || '未分配' }} -
SSH端口: {{ $jsiteServer.pg.ssh_port || '22' }} @@ -705,7 +701,15 @@ export default { }, { label: '实例ID', - value: this.$jsiteServer.pg?.instance_id || '未分配', + value: this.$jsiteServer.pg?.instance_id || '', + }, + { + label: '公网IP', + value: this.$jsiteServer.pg?.public_ip || '', + }, + { + label: '内网IP', + value: this.$jsiteServer.pg?.private_ip || '', }, { label: '区域', @@ -713,7 +717,7 @@ export default { }, { label: '系统', - value: this.$jsiteServer.pg?.system || '未知', + value: this.$jsiteServer.pg?.system || '', }, ]; }, diff --git a/dashboard/src2/objects/jsite_server.js b/dashboard/src2/objects/jsite_server.js index 71760df..395e411 100644 --- a/dashboard/src2/objects/jsite_server.js +++ b/dashboard/src2/objects/jsite_server.js @@ -29,6 +29,7 @@ export default { 'memory', 'disk_size', 'public_ip', + 'private_ip', 'end_date', 'bandwidth', 'team', diff --git a/jcloud/api/aliyun_server_light.py b/jcloud/api/aliyun_server_light.py index 821845b..44c8aa8 100644 --- a/jcloud/api/aliyun_server_light.py +++ b/jcloud/api/aliyun_server_light.py @@ -1525,6 +1525,8 @@ def update_server_record(instance_ids): server.public_ip = instance_info.get('public_ip_address') + server.private_ip = instance_info.get('inner_ip_address') or instance_info.get('network_attributes', [{}])[0].get('private_ip_address') + # 更新end_date(从expired_time转换) expired_time = instance_info.get('expired_time') if expired_time: @@ -1588,6 +1590,7 @@ def update_server_record(instance_ids): "message": "服务器信息更新成功", "updated_fields": { "public_ip": instance_info.get('public_ip_address'), + "private_ip": server.private_ip, "end_date": server.end_date, "status": instance_info.get('status'), "system": server.system, diff --git a/jcloud/jcloud/pagetype/jsite_server/jsite_server.json b/jcloud/jcloud/pagetype/jsite_server/jsite_server.json index 3fad0de..c699b7f 100644 --- a/jcloud/jcloud/pagetype/jsite_server/jsite_server.json +++ b/jcloud/jcloud/pagetype/jsite_server/jsite_server.json @@ -13,6 +13,7 @@ "status", "order_id", "planid", + "end_date", "auto_renew", "server_section", "instance_id", @@ -22,10 +23,10 @@ "system", "image_id", "column_break_aliyun", - "end_date", "memory", "bandwidth", "public_ip", + "private_ip", "os_type", "period", "ssh_section", @@ -230,11 +231,19 @@ "fieldtype": "Table", "label": "Firewall Rules", "options": "Firewall Rules" + }, + { + "fetch_from": "virtual_machine.public_ip_address", + "fieldname": "private_ip", + "fieldtype": "Data", + "in_list_view": 1, + "label": "内网IP", + "read_only": 1 } ], "index_web_pages_for_search": 1, "links": [], - "modified": "2025-08-09 17:37:10.451472", + "modified": "2025-08-15 15:19:18.272352", "modified_by": "Administrator", "module": "Jcloud", "name": "Jsite Server", diff --git a/jcloud/jcloud/pagetype/jsite_server/jsite_server.py b/jcloud/jcloud/pagetype/jsite_server/jsite_server.py index 80432e9..6eb2d8a 100644 --- a/jcloud/jcloud/pagetype/jsite_server/jsite_server.py +++ b/jcloud/jcloud/pagetype/jsite_server/jsite_server.py @@ -12,6 +12,7 @@ class JsiteServer(Document): from typing import TYPE_CHECKING if TYPE_CHECKING: + from jcloud.jcloud.pagetype.firewall_rules.firewall_rules import FirewallRules from jingrow.types import DF auto_renew: DF.Check @@ -19,7 +20,7 @@ class JsiteServer(Document): cpu: DF.Data | None disk_size: DF.Data | None end_date: DF.Datetime | None - firewall_rules: DF.Data | None + firewall_rules: DF.Table[FirewallRules] image_id: DF.Data | None instance_id: DF.Data | None key_pair_name: DF.Data | None @@ -31,6 +32,7 @@ class JsiteServer(Document): plan_price: DF.Int plan_type: DF.Data | None planid: DF.Data | None + private_ip: DF.Data | None private_key: DF.Text | None public_ip: DF.Data | None region: DF.Data | None @@ -50,6 +52,7 @@ class JsiteServer(Document): "memory", "disk_size", "public_ip", + "private_ip", "end_date", "bandwidth", "team",