【鸿蒙二开】WPS 只读与可编辑模式清单
准备接鸿蒙 WPS Open SDK、想分清「能打开」和「能编辑」的同学,可以按本帖最短清单走。按对接文档,模式开关是 OpenFileRequest.enableEdit:未设或 false 只读,仅 true 可编辑。专业版与个人版共用打开 API,差异落在 HAR / 凭据,不要复制两套模式代码。立项时先定预览/编辑入口,再写封装,比联调中途补布尔便宜。
四步闭环
注册等到 ResultCode.OK
文件进沙箱
只读打开(enableEdit 不设或 false)
再开一次 enableEdit = true
水印、extraOptions、关窗回传都放到模式跑绿之后。
const req = new OpenFileRequest(ctx, sandboxPath);
req.enableEdit = mode === 'edit'; // preview → false;edit → true
return WPSApi.sendRequest(req);永远显式赋值,避免「忘了写」变成默认只读。
和回传、策略拆开
诉求 | 字段 |
只读 / 可编辑 | enableEdit |
关窗回传 | wpsTransferType |
水印 / 菜单 | 水印参数 / extraOptions |
可编辑不自动开回传;未开回传时 OK 且 data 为空正常。路径务必沙箱;外部 URI 权限不足常见泛化 ERROR。
上手检查
全仓是否只有一处 new OpenFileRequest
预览与编辑是否共用 Facade
日志是否打印 enableEdit
正式包包名与凭据是否一致
换 HAR 后是否 clean
建议写进 PR 模板。新人接入时先画清「模式 / 策略 / 回传」三层,再对照文档核对字段。本帖仅作社区交流备忘,细节以官方文档与当前 HAR 说明为准。
日志建议打全 code / msg / ready / 是否沙箱 / enableEdit。产品临时要预览水印,只扩可选参数,不新开平行 Helper。正式包与调试包包名不同时,凭据批次分开归档。把「先只读再可编辑」写进联调清单,联调会从猜原因变成对表排查。
未注册成功就讨论模式没有意义:先 await 注册,打开按钮等就绪。1013 查凭据与正式包包名,换 HAR 后 clean。路径务必沙箱;选择器 URI 直接传入时权限不足常见泛化 ERROR,别先怀疑 enableEdit。预览与编辑共用一个 Facade,页面只传 mode。全仓搜索 new OpenFileRequest,打开阶段应只剩一处。Release 不打印完整 secret;不要在 Request 上重复塞 Token。
新人上手时,先画清「模式 / 策略 / 回传」三层,再对照文档核对字段,比直接复制 Demo 更稳。本帖仅作社区交流备忘,细节以官方文档与当前 HAR 说明为准。周五可用正式包包名再验注册,真机各跑只读与可编辑一次。命中数与模式误报是否下降,比写长周报有用。把对照表坚持几周,联调通常会从猜原因变成对表排查,打开封装也会更稳。
小结与获取 SDK
enableEdit 控制只读与可编辑:缺省只读,显式 true 才可编辑。把 prepare / open(mode) 固化后,页面只关心已注册与模式意图。更多参数见官方对接文档:https://365.kdocs.cn/l/clQl5cek2NoT
申请 SDK HAR 与凭据:m_open_sdk@wps.cn(注明包名与专业版 / 个人版需求)。
技术交流 QQ 群:628436767
