@deskpro/app-sdk

中文文档
6.0.9发布于 2026/09/23MITTypeScriptESM + CJS近 30 天下载 5257

桌面软件应用程序 SDK

中文使用文档
文档目录4 节
  1. 安装
  2. 基本用途
  3. UI 组件
  4. 测试

桌面软件应用程序 SDK

Deskpro Apps SDK 提供了一个客户端,用于与 Deskpro 系统通信, React UI 组件以及基础 用于简单的应用程序和部件的样式和公用事业.

安装

通过安装 SDK pnpm 或者说 npm数字 :

pnpm add @deskpro/app-sdk

或

npm install @deskpro/app-sdk

基本用途

在与 Deskpro 系统通信时, 应用程序或部件必须注册关键事件的“听众 ” :

  • 准备 - 当应用程序被装入时,但不一定向用户显示
  • 显示 - 应用程序已经透露给用户
  • 变化 - 数据(文稿)从Officepro传送到应用程序已经改变

要注册一个收听器, 您需要先导入并创建一个 Appro 客户端, 注册 收听器, 最后运行客户端 :

import { createClient } from "@deskpro/app-sdk";

const client = createClient();

client.onReady((context) => {
  // do something when the app is ready
});

client.onShow((context) => {
  // do something when the app is shown to the user
});

client.onChange((context) => {
  // do something when the "context" data has changed
});

client.run();

顺便说一句,在页面装入后"运行"客户端总是最好的,最简单的方式 这是用来注册 client.run() 调用为 window.onload 方法 :

import { createClient } from "@deskpro/app-sdk";

const client = createClient();

window.onload = () => client.run();

// ...

来做 fetch 通过应用程序代理请求, 并因此获得访问应用程序设置, 我们已经提供了 覆盖原生工具 fetch 在浏览器中的函数 :

import { createClient, proxyFetch } from "@deskpro/app-sdk";

const client = createClient();

window.onload = () => client.run();

proxyFetch(client).then((dpFetch) => {
  // Use dpFetch() just like you would use fetch() natively.
  dpFetch("https://example.com/api/things?api_key=__key__").then((res) => {
    // ...
  });
});

通知代理将替换格式的占位符 __<setting>__在这个例子中, __key__ 将 替换为app后端设置 key。代理设置占位符可放入 URL, 请求头或正文.

您也可以控制 Askpro 本身的方面, 如 app 标题和图标徽章 计数 。 要做到这一点,请使用客户端 再次设置这些属性 :

import { createClient } from "@deskpro/app-sdk";

const client = createClient();

window.onload = () => client.run();

client.setTitle("My New Title");
client.setBadgeCount(42);

UI 组件

Apps SDK 输出数个 服务台 组件和组件 由出版的每个故事书支持.

所有应用 UI 组件都位于 src/ui/components 通常由三个文件组成:

  • 组件文件,例如:. Button.tsx 出口或复合部分
  • 故事文件,例如:. Button.stories.tsx 包含组件的故事
  • 索引文件

要开始开发UI组件,请使用:

pnpm start

准备建设时,运行此库的标准建设过程:

pnpm build

说明: UI 组件为 未捆绑相反,它们可以在无害环境管理和CJS模块中找到.

测试

要运行 SDK 测试套件, 请执行以下操作 :

pnpm test

或

npm run test

版本与发布记录

@deskpro/app-sdk 共发布 156 个版本,首次发布于 2022/02/04;过去 12 个月发布了 2 个版本。

版本发布日期距今
6.0.9latest2026/09/231 个月前
6.0.82025/12/1810 个月前
6.0.72025/07/241.3 年前
6.0.62025/04/171.6 年前
6.0.52025/04/151.6 年前
6.0.42025/03/271.6 年前

关于 @deskpro/app-sdk 的常见问题

@deskpro/app-sdk 是什么?

桌面软件应用程序 SDK

如何安装 @deskpro/app-sdk?

在项目目录运行 npm install @deskpro/app-sdk,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18)、react-dom(^18)、@types/react(^18)、@types/react-dom(^18)、@deskpro/deskpro-ui(^8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@deskpro/app-sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@deskpro/app-sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@deskpro/app-sdk 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@deskpro/app-sdk 可以商用吗?

@deskpro/app-sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@deskpro/app-sdk 的下载量有多少?

根据 npm 官方下载统计,@deskpro/app-sdk 在 2026/10/12 – 2026/11/10 这 30 天内被下载 5,257 次,日均约 175 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@deskpro/app-sdk 还在维护吗?

最新版本 6.0.9 发布于 2026/09/23(1 个月前);至今共发布 156 个版本,其中过去 12 个月发布了 2 个;首次发布于 2022/02/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。