From 776679c000f634e53bbbcf084552d3f1128b65ed Mon Sep 17 00:00:00 2001 From: jingrow Date: Wed, 23 Apr 2025 01:39:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=89=E8=A3=85=E5=B8=82?= =?UTF-8?q?=E5=9C=BA=E5=BA=94=E7=94=A8=E6=97=B6=E5=90=84=E7=A7=8D=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src2/components/site/InstallAppDialog.vue | 431 ++++++++---------- jcloud/api/site.py | 80 +--- 2 files changed, 216 insertions(+), 295 deletions(-) diff --git a/dashboard/src2/components/site/InstallAppDialog.vue b/dashboard/src2/components/site/InstallAppDialog.vue index 83acd24..4a1bf8d 100644 --- a/dashboard/src2/components/site/InstallAppDialog.vue +++ b/dashboard/src2/components/site/InstallAppDialog.vue @@ -1,237 +1,196 @@ - - - \ No newline at end of file diff --git a/jcloud/api/site.py b/jcloud/api/site.py index 95246a3..68a5e35 100644 --- a/jcloud/api/site.py +++ b/jcloud/api/site.py @@ -2428,62 +2428,24 @@ def check_app_installable(name, app): "current_plan_level": 1-5, # 当前站点计划等级 } """ - try: - print(f"check_app_installable被调用: name={name}, app={app}") - - site = jingrow.get_pg("Site", name) - print(f"获取到站点: {site.name}, plan={site.plan}") - - # 获取应用的subscription_level - app_subscription_level = jingrow.db.get_value( - "Marketplace App", app, "subscription_level") - print(f"应用{app}的subscription_level={app_subscription_level}") - - # 确保subscription_level是有效值 - if app_subscription_level is None or app_subscription_level == "": - app_subscription_level = 1 - print(f"应用{app}的subscription_level为空,使用默认值1") - else: - try: - app_subscription_level = int(app_subscription_level) - print(f"应用{app}的subscription_level转换为整数: {app_subscription_level}") - except (ValueError, TypeError) as e: - print(f"转换subscription_level出错: {e}, 使用默认值1") - app_subscription_level = 1 - - # 获取站点的plan_level - site_plan_level = 1 - if site.plan: - plan_level = jingrow.db.get_value( - "Site Plan", site.plan, "plan_level") - print(f"站点plan={site.plan}, plan_level={plan_level}") - - if plan_level is not None and plan_level != "": - try: - site_plan_level = int(plan_level) - print(f"站点plan_level转换为整数: {site_plan_level}") - except (ValueError, TypeError) as e: - print(f"转换plan_level出错: {e}, 使用默认值1") - else: - print(f"站点没有plan信息,使用默认plan_level=1") - - installable = site_plan_level >= app_subscription_level - print(f"安装条件判断: {site_plan_level} >= {app_subscription_level} = {installable}") - - result = { - "installable": installable, - "required_plan_level": app_subscription_level, - "current_plan_level": site_plan_level - } - print(f"返回结果: {result}") - return result - - except Exception as e: - print(f"check_app_installable出现异常: {e}") - # 发生异常时返回默认值,确保前端收到有效响应 - return { - "installable": False, - "required_plan_level": 1, - "current_plan_level": 1, - "error": str(e) - } + site = jingrow.get_pg("Site", name) + + # 获取应用的subscription_level + app_subscription_level = jingrow.db.get_value( + "Marketplace App", app, "subscription_level") or "1" + app_subscription_level = int(app_subscription_level) + + # 获取站点的plan_level + site_plan_level = 1 + if site.plan: + site_plan_level = jingrow.db.get_value( + "Site Plan", site.plan, "plan_level") or "1" + site_plan_level = int(site_plan_level) + + installable = site_plan_level >= app_subscription_level + + return { + "installable": installable, + "required_plan_level": app_subscription_level, + "current_plan_level": site_plan_level + }