【鸿蒙二开】WPS OpenFileRequest 打开文档清单

准备接鸿蒙 WPS Open SDK、想半天跑通「打开本地文档」的同学,可以按本帖最短清单走。按对接文档,打开 API 是一套:OpenFileRequest + WPSApi.sendRequest。专业版(ToB)与个人版(ToC)差异落在 HAR / 凭据与是否 setWpsFileToken,不要为此复制两套打开代码;先把只读与可编辑跑绿,再谈策略字段。立项时先定交付形态再申请 HAR,比联调中途换包便宜。

四步闭环

  1. libs/wps_sdk.harohpm install

  1. registerApp 等到 ResultCode.OK

  1. 文件拷到应用沙箱

  1. OpenFileRequest + sendRequest(先只读,再 enableEdit

WPSApi.registerApp(APP_KEY, APP_SECRET, {
  onCallback: (result: Result): void => {
    if (result.code !== ResultCode.OK) {
      console.error(result.code, result.msg);
      return;
    }
    if (!SdkConstants.isPersonalSdk()) {
      WPSApi.setWpsFileToken(PRO_SN);
    }
  }
});

未注册成功就 sendRequest 会抛异常。个人版通常无需序列号;专业版建议在成功回调里一次 setWpsFileToken,别每次打开塞 wpsToken。凭据与包名绑定,换 HAR 或换包名后 clean,再验正式包是否 1013

打开怎么写

async function openDoc(
  ctx: UIAbilityContext,
  src: string,
  editable: boolean
): Promise<Result> {
  await prepareWps();
  const path = copyToSandbox(ctx, src);
  const req = new OpenFileRequest(ctx, path);
  req.enableEdit = editable;
  return WPSApi.sendRequest(req);
}

路径先落沙箱。默认只读;显式 true 才可编辑。需要关窗回传时再赋 wpsTransferType,与可编辑独立。未开回传时 OK 且 data 为空属正常。联调顺序:注册 → 只读 → 可编辑 → 再叠水印 / extraOptions / 回传。一次堆满开关,ResultCode.ERROR 很难归因。extraOptions 仅显式赋值生效。

上手检查表

  • 全仓是否只有一处 new OpenFileRequest

  • 是否还残留逐次 request.wpsToken

  • Release 是否打印完整 secret

  • 正式包包名与申请凭据是否一致

  • 真机是否验过只读与可编辑

建议把上面几条写进 PR 模板。多人并行接入时,冻结平行 Helper,统一走 Facade。打开解决的是「能打开」;后续策略与回传仍按入口语义扩展同一函数。字段语义以官方对接文档为准。路径务必先落到沙箱;外部 URI 权限不足时常见泛化 ERROR。换 HAR 后务必 clean。新人上手时,先画清调用链再对照文档核对字段,比直接复制 Demo 更稳。本帖仅作社区交流备忘,细节以官方文档与当前 HAR 说明为准。

日志建议打全 code / msg / 是否 ready / 路径是否沙箱。产品临时要预览水印或关窗回传,只扩 Facade 可选参数,不新开平行文件。正式包与调试包包名不同时,凭据批次分开归档。把「先绿再叠」写进联调清单,联调会从猜原因变成对表排查。未开回传时不要把 OK 当成「已保存」。新人上手时,先画清调用链再对照文档核对字段,比直接复制 Demo 更稳。本帖仅作社区交流备忘,细节以官方文档与当前 HAR 说明为准。

小结与获取 SDK

OpenFileRequest 打开文档的本质是:HAR 装对、注册等 OK、文件进沙箱、一套打开函数。专业版与个人版共用 API,差异收在适配层。把 prepare / open 固化后,页面只关心已注册与可打开。

更多参数见官方对接文档:https://365.kdocs.cn/l/clQl5cek2NoT

申请 SDK HAR 与凭据:m_open_sdk@wps.cn(注明包名与专业版/个人版需求)。

技术交流 QQ 群:628436767

湖北省
浏览 191
收藏
3
分享
3 +1
+1
全部评论