zhizhi/node_modules/dingtalk-jsapi/README.md

128 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 钉钉多端统一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表示微应用的jsapi1表示服务窗的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表示微应用的jsapi1表示服务窗的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:0014:00~18:00, 19:00~21:00
**最终解释权归阿里巴巴钉钉事业部所有**