openxiangda 1.0.155 → 1.0.156
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/openxiangda-skills/references/pages/page-sdk.md +1 -1
- package/openxiangda-skills/references/troubleshooting.md +12 -0
- package/package.json +1 -1
- package/packages/sdk/dist/components/index.cjs +2 -1
- package/packages/sdk/dist/components/index.cjs.map +1 -1
- package/packages/sdk/dist/components/index.mjs +2 -1
- package/packages/sdk/dist/components/index.mjs.map +1 -1
- package/packages/sdk/dist/runtime/index.cjs +54 -15
- package/packages/sdk/dist/runtime/index.cjs.map +1 -1
- package/packages/sdk/dist/runtime/index.mjs +54 -15
- package/packages/sdk/dist/runtime/index.mjs.map +1 -1
- package/packages/sdk/dist/runtime/react.cjs +54 -15
- package/packages/sdk/dist/runtime/react.cjs.map +1 -1
- package/packages/sdk/dist/runtime/react.mjs +54 -15
- package/packages/sdk/dist/runtime/react.mjs.map +1 -1
- package/templates/openxiangda-react-spa/AGENTS.md +1 -1
|
@@ -151,7 +151,7 @@ const api = usePageFormRuntimeApi()
|
|
|
151
151
|
</FormProvider>
|
|
152
152
|
```
|
|
153
153
|
|
|
154
|
-
Use `createPageFormRuntimeApi(sdk)` when hooks are unavailable. Both APIs preserve JSON envelopes
|
|
154
|
+
Use `createPageFormRuntimeApi(sdk)` when hooks are unavailable. Both APIs preserve JSON envelopes, route `responseType: "blob"` through `sdk.transport.download`, and normalize ticket content URLs such as `/file/download-by-ticket/*` with the current PageSdk `servicePrefix`. They do not rewrite `/view/*` page URLs or absolute storage URLs. Never forward every form request to `sdk.request`, and never prepend `/service` in application code.
|
|
155
155
|
|
|
156
156
|
Shareable file preview ticket:
|
|
157
157
|
|
|
@@ -32,6 +32,18 @@
|
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
+
## 问题:附件下载打开站点根 `/file/` 并返回 404
|
|
36
|
+
|
|
37
|
+
**症状**:附件下载 ticket 创建成功,但浏览器打开 `https://host/file/...`,实际平台文件接口位于 `https://host/service/file/...`。
|
|
38
|
+
|
|
39
|
+
**原因**:应用手写了 PageSdk 到 `FormProvider` 的不完整适配,或使用了未归一化的 ticket payload,绕过了当前 runtime 的 `servicePrefix`。
|
|
40
|
+
|
|
41
|
+
**解决方案**:升级 OpenXiangda,并让 `FormProvider.config.api` 来自 `usePageFormRuntimeApi()` 或 `createPageFormRuntimeApi(sdk)`。SDK 会把 ticket payload 中的 `/file/*` 内容地址补成当前 `servicePrefix`,同时保留 `/view/*` 页面地址和绝对 OSS URL。业务代码不要直接 `window.open(ticket.downloadUrl)` 后再自行猜测前缀。
|
|
42
|
+
|
|
43
|
+
**验证方式**:点击下载后地址应为 `/service/file/download-by-ticket/:ticket` 或服务端返回的绝对存储 URL,不应是站点根 `/file/*`。
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
35
47
|
## 问题:antd/antd-mobile 弹层样式丢失
|
|
36
48
|
|
|
37
49
|
**症状**:Select / Dropdown / Popup / Modal 等组件的弹出层没有样式,直接跑到屏幕外,或呈现为无样式的裸 HTML。
|
package/package.json
CHANGED
|
@@ -4659,7 +4659,8 @@ var useFilePreviewController = ({
|
|
|
4659
4659
|
);
|
|
4660
4660
|
url = typeof ticket === "string" ? ticket : ticket?.downloadUrl || ticket?.relayUrl || ticket?.url || url;
|
|
4661
4661
|
}
|
|
4662
|
-
|
|
4662
|
+
const resolvedUrl = resolvePreviewServiceUrl(url);
|
|
4663
|
+
if (resolvedUrl && typeof window !== "undefined") window.location.assign(resolvedUrl);
|
|
4663
4664
|
},
|
|
4664
4665
|
[api, bucketName]
|
|
4665
4666
|
);
|