主题
插件 SDK
插件 SDK 是金山文档开放平台插件框架提供的一个 JavaScript 库,其内部封装了丰富的接口,用于帮助开发者高效快捷的使用开放平台的各项能力,顺利完成插件的各项业务开发。
插件 SDK 能做什么?
作为插件开发者,对SDK的使用将贯穿整个开发周期。一方面,您开发过程中的大部分文档业务,均需要通过 SDK 的相关接口进行实现。另一方面,SDK 也是您的插件与 WebOffice 组件或容器进行沟通的唯一桥梁。
SDK 提供的能力分为三个部分:
插件容器控制相关
插件的宿主为 WebOffice 组件,运行和展示则是通过独立的 iframe 容器。我们在 SDK 中封装了对该容器进行控制的相关接口,主要包括容器大小设置、容器标题设置、容器关闭以及关闭或隐藏事件的监听。您可以在引入 SDK 后,在插件内动态的更新容器相关的信息。
插件基础信息相关
我们在前文中已经对创建插件进行了相关介绍,那么我们在开发者后台创建的插件,与当前正在运行的插件,他们之间的信息是如何进行关联的呢?事实上,我们在您启动插件的那一刻,便已经将相关信息预置到插件内了,您可以通过 SDK 中封装的接口轻松的对这些信息进行获取。比如用于授权和免登的授权码获取、用于识别身份的用户信息获取、宿主相关的文档基础信息获取等。
文档交互能力相关
在介绍插件的上架要求时,明确了您的插件必须围绕文档进行开发。这是您插件开发的基石,也是开发过程中的重点。既然要围绕文档,所以 SDK 内部封装了一套完善的文档交互接口,开发者可以使用到自定义界面显示、获取页面状态、监听事件等功能。同时,也可以直接调用接口来操作文档本身,您可以结合自身的业务,灵活使用这些接口,完成插件的开发。
注意
关于插件 SDK 提供的文档交互能力与开发平台的WebOffice SDK提供的能力,两者本质上均是调用的 Office 内核提供的文档处理接口,只是为了针对不同场景,单独做的相应的开发工具包。所以无论是 API 设计,还是各项说明和示例文档,两者基本是一致的。
如何引入插件 SDK?
引入之前,您需要先进行 SDK 的下载addon-sdk-0.1.26.zip
下载完成后解压到您的插件目录,然后在您的插件内通过 script 标签进行引入。sdk 挂载的全局变量为jssdk
,您可以获取到该实例进行相关接口的调用。
更详细的 sdk 接口文档和使用示例,请参考后续的文档。
<!-- 插件 index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>插件SDK</title>
<script src="./path/to/addon-SDK-0.1.4.umd.js"></script>
</head>
<body>
<div id="plugin-app"></div>
<script>
const { api, sys } = jssdk
</script>
</body>
</html>