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 {}