# @droz-js/sdk 中文文档

规范地址：https://npmcn.com/package/%40droz-js/sdk/

版本：0\.26\.52
npm 元数据更新时间：2026-11-13T14:30:52.304Z
中文译文更新时间：2026-11-12T20:36:32.457Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40droz-js/sdk
原文对照：https://npmcn.com/package/%40droz-js/sdk/?lang=original
项目主页：https://github.com/droztech/droz#readme
源码仓库：https://github.com/droztech/droz

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.6 MB，112 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：4 个
- 首次发布：2023-10-07T00:46:45.938Z
- 最新版本发布：2026-11-13T14:30:51.998Z
- 近 30 天下载量：10461（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：480（近 12 个月 241 个）

## 中文简介

德罗兹SDK

## 安装

```sh
npm install @droz-js/sdk
```

也可以使用：`pnpm add @droz-js/sdk`、`yarn add @droz-js/sdk`、`bun add @droz-js/sdk`

## README

# 时间轴:

## 设置( 需要)

要设置您需要告诉租户的Sdk和认证方法,需要租户. 你必须运行这个 先打个电话 如果你不安排房客,SDK会失败的.

```typescript
import { DrozSdk } from '@droz-js/sdk';

DrozSdk.forTenant('dev').withAuthorization('Basic', 'username', 'password');
```

也可以分成两步

```typescript
import { DrozSdk } from '@droz-js/sdk';

// first step (required)
DrozSdk.forTenant('dev');

// (optional) later when you have the authentication token you can set it and it will automatically be used in the new requests
DrozSdk.withAuthorization('Basic', 'username', 'password');
```

## 全局错误处理

Sdk 会给每个失败的请求投出一个错误, 但你也可以通过使用 `on` 方法.

```typescript
import { DrozSdk } from '@droz-js/sdk';

DrozSdk.on('error', (error) => {
  console.log(error);
});
```

发送的错误都是类型 `SdkError` 并包含下列属性:

-   `message`: 服务器发送的原始错误消息;
-   `statusCode`:与http状态代码相类似并显示出错的类别,400个坏请求,403被禁, 404没有找到..;
-   `errorCode`: 错误的唯一标识符,这对i18n友好消息有用;

## 网页

对于我们使用的 Websocket `graphql-ws` 协议与 `AsyncIterator` 处理订阅。 SDK 将自动 处理您的连接和重接, 见 [https://the-guild.dev/graphql/ws/recipes#客户端-usage- with-asynciterator (英语)](https://the-guild.dev/graphql/ws/recipes#client-usage-with-asynciterator) 关于如何使用 `AsyncIterator`。 。 。 .

### 示例 `AsyncIterator`

```typescript
import { DrozSdk } from '@droz-js/sdk';
import { DrozChat } from '@droz-js/sdk/drozchat';

DrozSdk.forTenant('dev');

const chat = new DrozChat();
const iterable = chat.onTicketInQueue();
for await (const result of iterable) {
  console.log(result);
}
```

#### 反应开发者

```typescript
import { DrozSdk } from '@droz-js/sdk';
import { DrozChat } from '@droz-js/sdk/drozchat';

DrozSdk.forTenant('dev');

function useOnTicketInQueue() {
  const chat = new DrozChat();
  const [tickets, setTickets] = useState<Ticket[]>([]);

  useEffect(() => {
    const subscription = chat.onTicketInQueue();

    // YES I KNOW, REACT SUCKS
    (async () => {
      // attention! this is just an example what you do with the result is up to you
      for await (const each of subscription) setTickets(tickets => [...tickets, each]);
    })();

    // this is required to close the subscription when the component unmounts
    return () => subscription.return();
  }, []);
}
```

## 可用磁盘

### 德罗斯·内克索

```typescript
import { DrozNexo } from '@droz-js/sdk/droznexo';
```

### 德罗兹聊天

```typescript
import { DrozChat } from '@droz-js/sdk/drozchat';
```

## 常见问题

### @droz-js/sdk 是什么？

德罗兹SDK

### 如何安装 @droz-js/sdk？

在项目目录运行 npm install @droz-js/sdk，或使用 pnpm add / yarn add / bun add。

### @droz-js/sdk 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/droz-js\_\_sdk 是否存在。

### @droz-js/sdk 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @droz-js/sdk 可以商用吗？

@droz-js/sdk 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @droz-js/sdk 的下载量有多少？

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

### @droz-js/sdk 还在维护吗？

最新版本 0\.26\.52 发布于 2026/11/13（今天）；至今共发布 480 个版本，其中过去 12 个月发布了 241 个；首次发布于 2023/10/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

