Skip to content

dsh-kdocs-inside 0.4.0 — 双端适配

Choose a tag to compare

@vansonffff vansonffff released this 25 Sep 04:04
· 12 commits to main since this release

双端适配:同一份包,两种可行的「原版」

Web(浏览器) 桌面端(Electron,官方桌面应用 0.1.7-rc.2 实测)
面板 / 文件树 / 搜索 / 文本预览 / 引用 ✅ 一致 ✅ 一致
「原版」预览 内嵌金山文档在线编辑器(iframe,可读可编辑) PDF 导出预览(只读,pdf.js 渲染,缩放 + 逐页)
编辑 预览里直接编辑 「在金山文档打开」跳系统浏览器

为什么桌面端不是 iframe

桌面端的 iframe 读的是应用自己的 Chromium profile,与系统浏览器不共享登录态;实测金山授权接口在该嵌入上下文恒定拒绝(授权码签发 403,会话 cookie 无法建立)。PDF 导出路径全程走 kdocs-cli Token,是唯一不依赖网页会话的版式预览通道:

wps export 建任务 → query-export 轮询 → 签名 URL 下载(无需 cookie)→ 客户端懒加载内置 pdf.js 渲染

要点

  • web 端零变化:iframe 在线编辑照旧;PDF 渲染 chunk(pdf.js v3.11.174,Apache-2.0)只在桌面端首次预览时懒加载,web 端永不下载
  • 桌面端首次预览有数秒导出延迟;文档改动后点「↻」重新导出
  • 撤回 0.3.1(未发布)曾尝试的内嵌网页登录页——真机证明不可行
  • 新增 Host remote 方法 exportPdf(导出生成 PDF 副本,不回写原文档)
  • 配置新增 exportTimeoutMs / exportPollIntervalMs / pdfCacheMax

验证

  • 273/273 测试通过(含真机活测:真实导出 / 缓存 / 强制刷新)
  • 负向对照:拆掉桌面门控后契约断言如期转红;web 行为由行为级断言守住
  • 真机双端验收:桌面端 macOS arm64 PDF 渲染保真;web 端回归无变化

需要 DSH ≥ 0.1.7-rc.1。安装与前置条件(kdocs-cli)见 README。