已收录

WPS 鸿蒙二开:WPSApi 与 sendRequest 清单

接入 WPS Open SDK 鸿蒙版时,统一入口是单例 WPSApi。打开文档走 sendRequest(OpenFileRequest),返回 Promise<Result>;未注册成功会抛异常。下文按清单整理,方便对照联调。细节以官方对接文档为准。先收稳调用面与 Promise 处理,再叠编辑与回传,失败时更好归因,也少和业务字段搅在一起。

能力落在哪

诉求

入口

单例入口

WPSApi

注册

registerApp / RegisterAppRequest

打开

sendRequest + OpenFileRequest

结果

Result.code / msg / data

业务页不要复制多套 then。差异收在 ensure + open 两个函数。联调先绿注册,再只读打开,再编辑,最后回传。一次堆满开关时,失败更难归因。

关键:未注册禁止 sendRequest

对接文档明确:注册成功前调用 sendRequest 会抛异常。联调「打不开」时先看 catch 是否未注册,再查路径与 1013。打开按钮在 ready 前禁用。日志区分注册失败与打开失败。

短示例与联调五步

await ensureWps(ctx, CRED);
const req = new OpenFileRequest(ctx, sandboxPath);
req.enableEdit = true;
const result = await WPSApi.sendRequest(req);
if (result.code !== ResultCode.OK) throw new Error(result.msg ?? '');
  1. 注册 OK

  1. 故意未注册确认 catch

  1. 沙箱只读打开

  1. 可编辑;(可选)URI 回传拷贝

  1. 正式包包名复测

外部文件先入 filesDir。开了 URI 后 UI 提示关窗;fileUri 须先拷贝。未开回传时 data 空属正常。每步只改一类行为。故意未注册冒烟用例建议写进联调页,避免新人漏测门禁。

高频坑

现象

说明

抛异常

未注册

1013

凭据/包名/HAR

只能预览

enableEdit

data 空

未开回传属正常

一直转圈

回传等待关窗

笼统 ERROR

路径是否在沙箱

换 HAR 后 clean。密钥勿进公开仓。反馈请带:是否已注册、code/msg。并发打开时拷贝目录隔离。正式包复测。开了回传时 UI 提示「请关闭文档」。路径先入沙箱,少踩笼统 ERROR。把「必须处理 then/catch」写进 PR 勾选项。

小结

范式 = WPSApi + 先注册 + sendRequest Promise + 按 Result 分支。欢迎补充真机 catch / 回传表现。

接入评审确认 HAR 与包名。把对照表贴进联调页。坚持清单验收。注释写清「未注册禁止 sendRequest」「必须处理 Promise」。周五正式包再验注册与可编辑打开。联调原则仍是分层。产品需求拆成注册/只读/可编辑/回传。字段以官方对接文档为准。同一工程多渠道包列全 Bundle 名。路径先入沙箱。新人按门禁 → 打开 → 回传 Onboarding。客服工单把「打不开」「卡住」拆层。欢迎在帖下补充真机 catch 与回传等待表现。把「必须处理 then/catch」写进 PR 模板,合入时多一道自检。

接入评审把「未注册禁止 sendRequest」写成检查项。欢迎补充真机包名与 HAR 版本,方便对照。坚持清单两周,入口类误报通常会下降。

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

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

技术交流 QQ 群:628436767

湖北省
浏览 36
收藏
2
分享
2 +1
+1
全部评论