From 1e13b10c49afa0500f11bbe40c2d52d3bfdd3539 Mon Sep 17 00:00:00 2001 From: jingrow Date: Wed, 11 Mar 2026 18:09:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E5=8A=A0=E8=BD=BDgetRecordWithOnload=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/jingrow/frontend/src/shared/api/common.ts | 7 +++++-- apps/jingrow/jingrow/desk/form/load.py | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/jingrow/frontend/src/shared/api/common.ts b/apps/jingrow/frontend/src/shared/api/common.ts index 0c64327..0c15c94 100644 --- a/apps/jingrow/frontend/src/shared/api/common.ts +++ b/apps/jingrow/frontend/src/shared/api/common.ts @@ -105,8 +105,11 @@ export const getRecordWithOnload = async (pagetype: string, name: string): Promi // 使用getdoc RPC方法,它会调用onload方法并返回__onload数据 const result = await api.call('jingrow.desk.form.load.getdoc', { pagetype, name }) - // getdoc返回的是{ docs: [pg], docinfo: {...} } - const pg = result.docs?.[0] + // 兼容两种响应格式: + // SaaS 直接返回 { docs: [pg], docinfo: {...} } + // jlocal 返回 { message: { docs: [pg], docinfo: {...} } } + const docData = result.docs ? result : (result.message || {}) + const pg = docData.docs?.[0] if (pg) { return { success: true, data: pg } } else { diff --git a/apps/jingrow/jingrow/desk/form/load.py b/apps/jingrow/jingrow/desk/form/load.py index 2971f12..789a9d9 100644 --- a/apps/jingrow/jingrow/desk/form/load.py +++ b/apps/jingrow/jingrow/desk/form/load.py @@ -26,6 +26,8 @@ def getdoc(**kwargs): resp = requests.post(url, headers=headers, json=kwargs, timeout=30) if resp.status_code == 200: - return resp.json().get("message", {}) - logger.error(f"[form.load.getdoc] SaaS error: {resp.status_code}") + # SaaS getdoc 直接返回 {docs: [...], docinfo: {...}} 格式 + # 不包装在 message 里 + return resp.json() + logger.error(f"[getdoc] SaaS error: {resp.status_code} - {resp.text[:200]}") return {}