# dingtalk-jsapi

> 钉钉 模块化 多端统一 API

Latest version **3.2.9** (published 2026-04-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install dingtalk-jsapi
pnpm add dingtalk-jsapi
yarn add dingtalk-jsapi
bun add dingtalk-jsapi
```

## Health

**Score 50/100 (C)** — status: active.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 3.2.9 |
| Published | 2026-04-28 |
| First published | 2018-03-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 2.1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | junlong.hjl |
| Maintainers | xihuan.hwj, yunji.dingtalk, louiswu0326, hurong.xt, ppz420, open_platform_npm_user |

## Links

- npm: https://www.npmjs.com/package/dingtalk-jsapi
- npm.io page: https://npm.io/package/dingtalk-jsapi

## Dependencies (1)

- [promise-polyfill](https://npm.io/package/promise-polyfill.md) ^7.1.0

## Recent versions

- 3.2.9 (latest) — 2026-04-28
- 3.2.2-beta.1 (beta) — 2025-10-14
- 3.2.8 — 2026-02-27
- 3.2.7 — 2026-02-11
- 3.2.5 — 2026-01-19
- 3.2.2 — 2025-11-10
- 3.2.1 — 2025-10-13
- 3.2.0 — 2025-09-26
- 3.2.0-beta.1 — 2025-09-26
- 3.2.0-beta.0 — 2025-09-26
- 3.1.4 — 2025-08-20
- 3.1.4-beta.1 — 2025-08-14
- 3.1.4-beta.0 — 2025-08-13
- 3.1.3 — 2025-08-13
- 3.1.2 — 2025-08-12
- … 214 more at https://npm.io/package/dingtalk-jsapi/versions

## README

# 钉钉多端统一jsapi

此 jsApi 支持运行于 android, ios, pc，钉钉小程序，小程序内嵌 webview 等钉钉全环境下，且保持开发体验一致。

## 安装

dingtalk-jsapi 现在可从 `npm` 上安装.

```shell
npm install dingtalk-jsapi
```

推荐使用npm包形式按需引入

## 新的特性

除了兼容现钉钉开放平台提供的jsapi的特性，还支持以下下特性

1. 支持返回原生 Promise
2. 支持模块化引入 api，模块化引入平台
3. 支持 dd.checkJsApi, 用于检测当前环境是否支持此jsApi
4. 提供 dd.on, dd.off来绑定事件，用于同一绑定事件
5. 添加 dd.env 来读取当前环境变量
6. 支持 typescript 的接口定义，接口定义还在持续添加中，如有纰漏欢迎反馈

## 使用介绍

#### 整体调用

```typescript
import * as dd from 'dingtalk-jsapi';
dd.device.notification.alert({
    message: "亲爱的",
    title: "提示",//可传空
    buttonName: "收到",
}).then(() => {
    //成功即相当于 onSuccess
}, () => {
    //失败即相当于 onFail
});

```

#### 按需调用（占用体积小）

```typescript
import 'dingtalk-jsapi/entry/mobile'; // 只引入移动端（支持小程序）
// import 'dingtalk-jsapi/entry/union'; // 如果你想要在此代码在PC端和移动端都执行，那你可以如此引入
import alert from 'dingtalk-jsapi/api/device/notification/alert'; // 按需引入方法

alert({
    message: "亲爱的",
    title: "提示",//可传空
    buttonName: "收到",
}).then(() => {
    //成功即相当于 onSuccess
}, () => {
    //失败即相当于 onFail
});

```

### dd.ready优化

#### 旧版本pc调用接口
```typescript
//首先你鉴权需要权限
dd.config({
    agentId: '', // 必填，微应用ID
    corpId: '',//必填，企业ID
    timeStamp: , // 必填，生成签名的时间戳
    nonceStr: '', // 必填，生成签名的随机串
    signature: '', // 必填，签名
    type:0/1,   //选填，0表示微应用的jsapi，1表示服务窗的jsapi，不填默认为0。该参数从dingtalk.js的0.8.3版本开始支持
    jsApiList:[
        'biz.contact.choose',
    ],
});

//然后因为鉴权是异步的，所以你的方法需要包括在dd.ready, config校验完成后的钩子
dd.ready(() => {
    dd.device.notification.alert({
        message: "亲爱的",
        title: "提示",//可传空
        buttonName: "收到",
    }).then(() => {
        //成功即相当于 onSuccess
    }, () => {
        //失败即相当于 onFail
    });
})

```

#### 新版本pc调用接口
```typescript
dd.config({
    agentId: '', // 必填，微应用ID
    corpId: '',//必填，企业ID
    timeStamp: , // 必填，生成签名的时间戳
    nonceStr: '', // 必填，生成签名的随机串
    signature: '', // 必填，签名
    type:0/1,   //选填，0表示微应用的jsapi，1表示服务窗的jsapi，不填默认为0。该参数从dingtalk.js的0.8.3版本开始支持
    jsApiList:[
        'device.notification.alert',
    ],
});

// 优化后不再需要包括dd.ready，接口自动延后执行
dd.device.notification.alert({
    message: "亲爱的",
    title: "提示",//可传空
    buttonName: "收到",
}).then(() => {
    //成功即相当于 onSuccess
}, () => {
    //失败即相当于 onFail
});
```

## 反馈渠道

亲爱的开发者，为了更好的提高服务效率和问题沉淀，在开发过程中如果遇到问题，可以有以下方式获取技术支持：
【推荐】登录开发者后台，https://open-dev.dingtalk.com，在右下角有“在线帮助”（人工客服时间：工作日10:00~12:00，14:00~18:00, 19:00~21:00）


**最终解释权归阿里巴巴钉钉事业部所有**。

---
_Source: https://npm.io/package/dingtalk-jsapi · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
