fix: 鸿蒙微信 WebView 附件下载仅提示开始下载未成功 #74

Closed
opened 2026-11-09 07:00:30 +00:00 by cykj · 1 comment
Owner

问题

华为鸿蒙微信小程序中,OA 审批详情(如生产任务单)点击附件「点击下载」后出现「开始下载…」,实际未下载成功。

原因

mobile-oa-h5 的 downloadAttachmentFile 依赖 window.open / <a download>,鸿蒙 ArkWeb WebView 下常静默失败;Toast 为乐观提示,无法反映打开结果。

范围

  • mobile-oa-h5:附件下载在小程序 WebView 内改为跳转宿主原生预览/下载页
  • mobile-h5:新增/复用原生页,使用 uni.downloadFile + uni.openDocument(对齐 PDF 打印预览路径)

验收

  1. 鸿蒙微信:OA 详情非图片附件(如 xlsx)点击下载可打开或保存
  2. 非鸿蒙小程序 WebView 同样走原生下载,避免同类失败
  3. 普通浏览器 H5 仍可用原预签名打开方式
  4. 市场附件下载入口同步生效(共用 download-attachment)
## 问题 华为鸿蒙微信小程序中,OA 审批详情(如生产任务单)点击附件「点击下载」后出现「开始下载…」,实际未下载成功。 ## 原因 mobile-oa-h5 的 `downloadAttachmentFile` 依赖 `window.open` / `<a download>`,鸿蒙 ArkWeb WebView 下常静默失败;Toast 为乐观提示,无法反映打开结果。 ## 范围 - mobile-oa-h5:附件下载在小程序 WebView 内改为跳转宿主原生预览/下载页 - mobile-h5:新增/复用原生页,使用 `uni.downloadFile` + `uni.openDocument`(对齐 PDF 打印预览路径) ## 验收 1. 鸿蒙微信:OA 详情非图片附件(如 xlsx)点击下载可打开或保存 2. 非鸿蒙小程序 WebView 同样走原生下载,避免同类失败 3. 普通浏览器 H5 仍可用原预签名打开方式 4. 市场附件下载入口同步生效(共用 download-attachment)
cykj added the ai-in-progress label 2026-11-09 07:00:48 +00:00
cykj added ai-testing and removed ai-in-progress labels 2026-11-09 07:21:41 +00:00
cykj added ai-merging and removed ai-testing labels 2026-11-09 07:23:29 +00:00
Author
Owner

personal-dev:delivery:https://gitea.aichengyan.com/cykj/zkxw#74:e488b86c35967402b95accd10b75915c0562e13e

交付说明

  • 改动:小程序 WebView 附件下载改为跳转宿主 pages/oa/file-preview,用 uni.downloadFile + uni.openDocument;浏览器仍走预签名 window.open。
  • 影响端:mobile-oa-h5、mobile-h5
  • 单元测试命令与结果:node --test(download-attachment / host-file-preview-nav / oa-file-preview)全部 pass
  • 合入:直接合并至 V2.0,提交 e488b86c(create_pr=false)
  • 构建与整体验收留给用户(鸿蒙微信真机:生产任务单 xlsx「点击下载」应能打开预览)
personal-dev:delivery:https://gitea.aichengyan.com/cykj/zkxw#74:e488b86c35967402b95accd10b75915c0562e13e ## 交付说明 - **改动**:小程序 WebView 附件下载改为跳转宿主 `pages/oa/file-preview`,用 `uni.downloadFile` + `uni.openDocument`;浏览器仍走预签名 `window.open`。 - **影响端**:`mobile-oa-h5`、`mobile-h5` - **单元测试命令与结果**:`node --test`(download-attachment / host-file-preview-nav / oa-file-preview)全部 pass - **合入**:直接合并至 `V2.0`,提交 `e488b86c`(create_pr=false) - **构建与整体验收留给用户**(鸿蒙微信真机:生产任务单 xlsx「点击下载」应能打开预览)
cykj closed this issue 2026-11-09 07:23:34 +00:00
cykj added ai-done and removed ai-merging labels 2026-11-09 07:24:02 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cykj/zkxw#74