WPS 鸿蒙二开:extraOptions 功能开关清单

社区同事常问:文档能打开了,怎么禁止分享、另存为或打印?在 WPS Open SDK 鸿蒙对接里,这些细粒度控制挂在同一次打开请求的 extraOptions 上,不必另走一套接口。下文按清单写,方便对照联调与真机点菜单验收。细节以官方对接文档为准。

能力落在哪

能力

入口

功能开关

OpenFileRequest.extraOptionsOpenFileExtraOptions

只读/可编辑

enableEdit

水印/修订

wpsWaterMarkParams / wpsRevisionParams

关窗回传

wpsTransferType / enableTransferFile

先注册成功,再打开。路径建议先拷进应用沙箱。

关键规则

  • 仅显式赋值生效;未赋值保持 WPS 默认

  • 空的 OpenFileExtraOptions 不会关掉任何能力

  • 需要关分享:写 enableShare = false(常连带 enableHomeShareTab

  • 与回传、水印字段互不替代

常用开关(按诉求)

诉求

字段

禁分享

enableShareenableHomeShareTab

禁另存/导出

enableSaveAsenableExport

禁打印

enablePrint

禁外部打开

enableOpenWithExternalApp

少云/登录打扰

enableCloudenableLoginenableAutoUploadDoc

禁复制(含剪切)

enableCopy

完整字段表见官方对接文档「OpenFileExtraOptions」一节,上表只列联调高频项。

推荐联调顺序

  1. 注册 OK

  1. 沙箱只读打开

  1. 关分享(点菜单确认)

  1. 关另存/导出

  1. 可编辑 + 按需关云引导

  1. 需要时再开回传

每步只改一类字段。出现 ERROR 先看 msg,再对规则。

短示例(预览收紧)

const req = new OpenFileRequest(ctx, sandboxPath);
req.enableEdit = false;

const opt = new OpenFileExtraOptions();
opt.enableShare = false;
opt.enableHomeShareTab = false;
opt.enableSaveAs = false;
opt.enablePrint = false;
opt.enableExport = false;
opt.enableOpenWithExternalApp = false;
req.extraOptions = opt;

await WPSApi.sendRequest(req);

常见误区

误区

说明

空对象当全关

未赋值 = 默认,不是 false

只关 enableShare

首页分享 Tab 可能仍在

外部路径直传

权限不足导致泛化 ERROR

未等注册就发送

抛异常,与开关无关

回传与开关混查

两套字段,分开排查

小结

extraOptions 是打开管控:显式赋值并挂到 Request。先打开绿,再叠开关;回传另算。字段与示例以官方对接文档为准。欢迎在本圈补充真机菜单现象与排查经验。

接入时确认 HAR、沙箱目录、正式包包名。换 HAR 后 clean。需要序列号时按凭据约定全局设置。建议把「预览收紧」「无云」做成命名预设,页面只传预设名。验收必须点开分享/另存/导出/打印菜单,不要只看代码。把清单贴进联调页,新人对照会更快。

真机固定两条用例:只读 + 收紧外发;可编辑 + 无云引导。两条都绿后,再决定是否叠加水印或关窗回传。复制关闭后确认剪切是否同步。路径务必先落沙箱。未注册完成就发送会抛异常,应先查注册回调。社区反馈时写上 code / msg / 已赋值字段,比只说「不行」更利于定位。空对象不会关能力——这是最常见误判。把「显式 false + 赋给 Request + 点菜单确认」当成固定三步,联调会稳很多。欢迎补充各机型菜单差异,便于大家对齐验收口径。


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