【鸿蒙二开】WPS SDK 对接文档与技术支持指引
社区里做鸿蒙 WPS 文档二开,常问的两件事是:「文档在哪、先看哪一章?」以及 API 细节怎么落地。WPS Open SDK 厂商对接文档按 registerApp → OpenFileRequest → Result 组织,配合邮件申请凭据与技术交流群,能覆盖从集成到驻场的大部分问题。下面按社区同学常问的顺序整理。
一、官方对接文档入口与结构
主文档(金山文档在线版)涵盖:HAR 集成、凭据申请、WPSApi 入口、注册、打开参数、关闭回传、错误码与示例代码。建议阅读顺序:
阶段 | 文档重点 | 验收标准 |
集成日 | HAR、Key/Secret | 工程能编译链接 |
首屏 | RegisterAppRequest | 冷启动注册 OK |
打开 | OpenFileRequest、沙箱路径 | 只读能开 |
进阶 | 水印、extraOptions、回传 | 按需求逐项开 |
上线 | ResultCode 表 | runbook 就绪 |
不要一上来堆全部参数;先跑通「注册 OK → 沙箱打开」再叠策略。
二、代码侧最小 Facade
文档示例请收敛进基础库,页面只调 Facade:
let ready = false;
async function ensureRegistered(ctx: UIAbilityContext) {
if (ready) return;
const r = await WPSApi.sendRequest(
new RegisterAppRequest(ctx, APP_KEY, APP_SECRET)
);
if (r.code === ResultCode.ERROR_CODE_AUTH_FAILURE) {
throw new Error(`1013: ${r.msg}`);
}
if (r.code !== ResultCode.OK) throw new Error(`register ${r.code}`);
if (NEEDS_SN && SN) WPSApi.setWpsFileToken(SN);
ready = true;
}
async function openDoc(ctx: UIAbilityContext, path: string, edit: boolean) {
await ensureRegistered(ctx);
const req = new OpenFileRequest(ctx, path);
req.enableEdit = edit;
const r = await WPSApi.sendRequest(req);
if (r.code !== ResultCode.OK) console.error(r.code, r.msg);
}全仓一处 new OpenFileRequest,方便对照文档 diff。
三、凭据申请与邮件沟通
SDK HAR 与 AppKey/AppSecret 按应用包名申请。邮件建议写清:
应用名称与 HarmonyOS 包名
需要的 HAR 类型(按交付场景)
联系人与用途说明
审批周期因包名与版本而异,联调前预留时间,避免临上线才追凭据。
四、社群与驻场支持怎么用
提问请带:
stage(register / open / transfer)
Result.code 与 msg
是否已 await ensureRegistered
打开路径是否在 filesDir
避免只发「打不开」截图。Ability 冷启动完成注册后再放开按钮,可减少 reject。
五、文档与 HAR 版本对齐
发版时同步检查:HAR 版本、文档 revision、Facade 是否按文档更新。文档标注「当前 HAR 不生效」的字段,用构建开关屏蔽,勿在 UI 层硬开。
社区常见误区:未开回传却当上传失败(OK 无 data 合法);只读当失败(忘写 enableEdit);reject 当 ERROR(实际未注册)。
水印、extraOptions 请在最小打开通过后扩展 Facade,勿复制多份 openDoc。换 HAR 后 clean 重装,避免旧 so 导致错误码随机。正式包与内测包包名不同须分别申请凭据,否则易出现偶发 1013。日志建议统一前缀 [wps],方便 grep 导出给技术支持。
六、小结
对接文档是主索引,邮件管凭据,QQ 群补现场信息——三者配合,比单独啃文档或单独进群更高效。先把最小 Facade 与错误码 runbook 放进仓库,再讨论水印与回传,联调会更顺。
更多参数见官方对接文档:https://365.kdocs.cn/l/clQl5cek2NoT
申请 SDK HAR 与凭据:m_open_sdk@wps.cn(注明包名与场景)。
技术交流 QQ 群:628436767