跳到主要内容

钉钉 JS-API

钉钉提供了丰富的JSAPI能力,例如原生弹框、设备信息、扫描等能力,宜搭开发者可以利用钉钉原生提供的API能力提供更好的用户体验。

警告

调用钉钉JS-API需要注意以下事项:

  • 宜搭应用中,不保证 window.dd 存在 (目前仅手机端会引入一个旧版资源),建议用户手动引入;
  • 宜搭应用中,即使不配置 dd.config 进行 JSAPI 鉴权操作,仍可调用需要鉴权后才能使用的 API。请谨慎调用;
  • 调用 JSAPI 时,需要的 corpId 参数可以从 const { corpId } = window.pageConfig || {}; 获取;

使用指南

步骤1:异步加载钉钉JSAPI资源

由于宜搭页面中不保证 window.dd一定存在,所以保险起见,用户需要在页面的didMount生命周期中手动加载钉钉的JSAPI脚本,如下所示:

实现代码如下所示:

export function didMount() {
this.utils.loadScript('https://g.alicdn.com/dingding/dingtalk-jsapi/3.0.25/dingtalk.open.js');
}

资源引入完成后,即可通过 window.dd 调用 JSAPI 中的相关功能。

步骤2:调用钉钉JSAPI

钉钉的JSAPI加载完成后,我们便可以在动作面板中通过window.dd调用钉钉的API进行相应的操作了,如下所示:

export function isDingTalk() {
return window.navigator && /dingtalk/i.test(window.navigator.userAgent)
}

export function dingAlert() {
if (window.dd && this.isDingTalk()) {
window.dd.device.notification.alert({
message: "测试",
title: "提示",//可传空
buttonName: "收到",
onSuccess: function () {
},
onFail: function (err) { }
});
}
}

钉钉端内的展示效果如下所示:

警告

由于很多钉钉JSAPI要求必须端内调用,因此在调用钉钉JSAPI时,需要提前先判断一下是否在钉钉端内,判断代码如下所示:

export function isDingTalk() {
return window.navigator && /dingtalk/i.test(window.navigator.userAgent)
}

API列表

支持的API列表可参考钉钉开放平台文档

Copyright © 2024钉钉(中国)信息技术有限公司和/或其关联公司浙ICP备18037475号-4