- dspy: items改为Text控件数组([{widgettype:Text, options:{text:json}}])
- ui: status_of.ok改为VScrollPanel+subwidgets引用items
- 解决之前返回纯文本字符串无法渲染为bricks控件的问题
35 lines
731 B
Plaintext
35 lines
731 B
Plaintext
ppid = params_kw.ppid
|
|
data = params_kw.data
|
|
try:
|
|
if isinstance(data, str):
|
|
data = json.loads(data)
|
|
x = await buffered_charging(ppid, data)
|
|
subwidgets = []
|
|
if isinstance(x, list):
|
|
for r in x:
|
|
subwidgets.append({
|
|
"widgettype": "Text",
|
|
"options": {"text": json.dumps(r, ensure_ascii=False), "width": "100%"}
|
|
})
|
|
else:
|
|
subwidgets.append({
|
|
"widgettype": "Text",
|
|
"options": {"text": json.dumps(x, ensure_ascii=False), "width": "100%"}
|
|
})
|
|
return {
|
|
"status": "ok",
|
|
"data": {
|
|
"ppid": ppid,
|
|
"data": data,
|
|
"items": subwidgets
|
|
}
|
|
}
|
|
except Exception as e:
|
|
exception(f'{ppid=}, {data=}, {e}{format_exc()}')
|
|
return {
|
|
"status": "error",
|
|
"data": {
|
|
"message": f'{ppid=}, {data=}, {e}'
|
|
}
|
|
}
|