已收录

【鸿蒙二开】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 类型(按交付场景)

  • 联系人与用途说明

邮箱:m_open_sdk@wps.cn

审批周期因包名与版本而异,联调前预留时间,避免临上线才追凭据。

四、社群与驻场支持怎么用

提问请带:

  1. stage(register / open / transfer)

  1. Result.code 与 msg

  1. 是否已 await ensureRegistered

  1. 打开路径是否在 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

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