From 4f0a8a4c2e191d1e11f2f0f246e51248a3182306 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 29 Jul 2026 17:11:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20cwidth:25=20cheight:16=20card-body-scrol?= =?UTF-8?q?l=20=E2=80=94=20match=20old=20working=20layout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- llmage/init.py | 2 + llmage/utils.py | 1 + wwwroot/plaza_model_cards.ui | 148 ++++++++++++++--------------------- 3 files changed, 60 insertions(+), 91 deletions(-) diff --git a/llmage/init.py b/llmage/init.py index 019d69f..864fbac 100644 --- a/llmage/init.py +++ b/llmage/init.py @@ -3,6 +3,7 @@ from appPublic.registerfunction import RegisterFunction from sqlor.dbpools import DBPools, get_sor_context from ahserver.serverenv import ServerEnv from appPublic.log import debug +from appPublic.share_cache import cache_start_listener from .keling import keling_token from .jimeng import jimeng_auth_headers from .utils import ( @@ -182,6 +183,7 @@ def load_llmage(): 'load_product_category_product': load_product_category_product, } # Bind hot_reload event — module-level function, ref safe (module keeps it alive) + cache_start_listener() if hasattr(env, 'event_dispatcher'): env.event_dispatcher.bind('hot_reload', _on_hot_reload) rf = RegisterFunction() diff --git a/llmage/utils.py b/llmage/utils.py index 5f78b37..6b219fa 100644 --- a/llmage/utils.py +++ b/llmage/utils.py @@ -11,6 +11,7 @@ from appPublic.uniqueID import getID from appPublic.dictObject import DictObject from appPublic.timeUtils import curDateString, timestampstr from uapi.appapi import UAPI, sor_get_callerid, sor_get_uapi, get_uapi +from appPublic.share_cache import cache_get, cache_invalidate from ahserver.serverenv import get_serverenv, ServerEnv from ahserver.filestorage import FileStorage from appPublic.jsonConfig import getConfig diff --git a/wwwroot/plaza_model_cards.ui b/wwwroot/plaza_model_cards.ui index 86c1f74..4b2f217 100644 --- a/wwwroot/plaza_model_cards.ui +++ b/wwwroot/plaza_model_cards.ui @@ -4,113 +4,79 @@ {% set all_data = get_plaza_models(providerid, catelogid, search) %} {% set ns = namespace(first=true) %} { - "widgettype": "VBox", + "widgettype": "VScrollPanel", "options": {"css": "filler", "width": "100%", "height": "100%"}, "subwidgets": [ { - "widgettype": "VScrollPanel", - "options": {"css": "filler", "flex": "1", "width": "100%"}, + "widgettype": "DynamicColumn", + "options": { + "css": "plaza-grid", + "width": "100%", + "col_cwidth": 25, + "col_cgap": 1 + }, "subwidgets": [ - { - "widgettype": "DynamicColumn", - "options": { - "css": "plaza-grid", - "width": "100%", - "col_cwidth": 22, - "col_cgap": 1 - }, - "subwidgets": [ {% for llm in all_data %} {% if not ns.first %},{% endif %} + { + "widgettype": "VBox", + "options": { + "css": "card plaza-card", + "cwidth": 25, + "cheight": 16 + }, + "subwidgets": [ { - "widgettype": "VBox", - "options": { - "css": "card plaza-card", - "width": "100%", - "cheight": 14 - }, + "widgettype": "HBox", + "options": {"cheight": 2, "alignItems": "center", "gap": "4px"}, + "subwidgets": [ + {"widgettype": "Svg", "options": {"rate": 1.5, "url": "{{entire_url('/appbase/show_icon.dspy')}}?id={{llm.iconid}}"}}, + {"widgettype": "Title6", "options": {"text": "{{llm.name}}"}} + ] + }, + { + "widgettype": "VScrollPanel", + "options": {"css": "card-body-scroll", "flex": "1"}, "subwidgets": [ { - "widgettype": "HBox", - "options": {"cheight": 2, "alignItems": "center", "gap": "4px"}, - "subwidgets": [ - { - "widgettype": "Svg", - "options": {"rate": 1.5, "url": "{{entire_url('/appbase/show_icon.dspy')}}?id={{llm.iconid}}"} - }, - { - "widgettype": "Title6", - "options": {"text": "{{llm.name}}"} - } - ] - }, - { - "widgettype": "VScrollPanel", - "options": {"css": "filler", "flex": "1"}, - "subwidgets": [ - { - "widgettype": "Text", - "options": { - "height": "auto", - "text": {{json.dumps(llm.description, ensure_ascii=False)}}, - "wrap": true, - "halign": "left" - } - } -{% if llm.pricing_display %} -{% if llm.pricing_display is string %} -{% set pricing_items = [llm.pricing_display] %} -{% else %} -{% set pricing_items = llm.pricing_display %} -{% endif %} - ,{ - "widgettype": "VBox", - "options": {"css": "filler"}, - "subwidgets": [ -{% for pt in pricing_items %} - { - "widgettype": "Text", - "options": { - "text": {{json.dumps(pt, ensure_ascii=False)}}, - "wrap": true, - "halign": "left", - "css": "pricing-text" - } - }{% if not loop.last %},{% endif %} -{% endfor %} - ] - } -{% endif %} - ] - } - ], - "binds": [ - { - "wid": "self", - "event": "click", - "actiontype": "urlwidget", - "target": "PopupWindow", - "popup_options": { - "title": "{{llm.name}}", -{% if int(params_kw._is_mobile or 0) %} - "width": "100%", - "height": "100%" -{% else %} - "width": "40%", - "height": "85%" -{% endif %} - }, + "widgettype": "Text", "options": { - "params": {"id": "{{llm.id}}"}, - "url": "{{entire_url('./llm_dialog.ui')}}" + "height": "auto", + "text": {{json.dumps(llm.description, ensure_ascii=False)}}, + "wrap": true, + "halign": "left" } } +{% if llm.pricing_display %} +{% if llm.pricing_display is string %}{% set pricing_items = [llm.pricing_display] %}{% else %}{% set pricing_items = llm.pricing_display %}{% endif %} + ,{ + "widgettype": "VBox", + "options": {"css": "filler"}, + "subwidgets": [ +{% for pt in pricing_items %} + {"widgettype": "Text", "options": {"text": {{json.dumps(pt, ensure_ascii=False)}}, "wrap": true, "halign": "left", "css": "pricing-text"}}{% if not loop.last %},{% endif %} +{% endfor %} + ] + } +{% endif %} ] } + ], + "binds": [{ + "wid": "self", "event": "click", "actiontype": "urlwidget", "target": "PopupWindow", + "popup_options": { + "title": "{{llm.name}}", +{% if int(params_kw._is_mobile or 0) %} + "width": "100%", "height": "100%" +{% else %} + "width": "40%", "height": "85%" +{% endif %} + }, + "options": {"params": {"id": "{{llm.id}}"}, "url": "{{entire_url('./llm_dialog.ui')}}"} + }] + } {% set ns.first = false %} {% endfor %} - ] - } ] } ]