ding

立即使用

isInstalled isSupportShare shareText shareImage shareWebpage isSupportAuth auth

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

钉钉简介

钉钉(DingTalk)是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台,帮助企业通过系统化的解决方案(微应用),全方位提升企业沟通和协同效率。

dingding 模块概述

本模块封装了钉钉的分享功能

android签名 下载签名工具并安装,打开然后输入应用的包名,即可生成该应用的签名

模块使用攻略

使用之前须从钉钉开放平台申请开发者账号并创建应用,获取 appid

钉钉平台接入流程参考钉钉平台接入文档

配置 config.xml 文件:

针对 ios 平台配置方法:

  • 配置示例:
  1. <feature name="dingding">
  2. <param name="appID" value="bf1acab2de4925b9cd624819" />
  3. <param name="urlScheme" value="bf1acab2de4925b9cd624819" />
  4. <param name="urlScheme" value="dingoak5hqhuvmpfhpnjvt" />
  5. </feature>

注意:

1, iOS 平台上必须添加白名单,如下:

  1. <preference name="querySchemes" value="dingtalk,dingtalk-open,dingtalk-sso" />

详情参考 APICloud 官方文档之——-白名单配置

模块接口

isInstalled

判断当前设备是否安装钉钉客户端

isInstalled(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. installed: true //布尔型;true||false,当前设备是否安装钉钉客户端
  3. }

示例代码

  1. var dingding = api.require('dingding');
  2. dingding.isInstalled(function(ret) {
  3. if (ret.installed) {
  4. alert("当前设备已安装钉钉客户端");
  5. } else {
  6. alert('当前设备未安装钉钉客户端');
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isSupportShare(仅支持安卓)

判断是否支持分享

isSupportShare(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. isSupport: true //布尔型;true||false,是否支持分享
  3. }

示例代码

  1. var dingding = api.require('dingding');
  2. dingding.isSupportShare(function(ret) {
  3. if (ret.isSupport) {
  4. alert("支持钉钉分享");
  5. } else {
  6. alert('不支持钉钉分享');
  7. }
  8. });

可用性

Android系统

可提供的1.0.0及更高版本

shareText

分享文本内容

shareText({params}, callback(ret, err))

params

appId:

  • 类型:字符串
  • 描述:(必选项)从钉钉开放平台获取的 appid。
  • ios不支持

text:

  • 类型:字符串
  • 描述:分享的文本

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 0 //数字类型;
  3. //错误码:
  4. //-1(未知错误)
  5. //0(成功)
  6. //-2(用户取消)
  7. //-3(发送失败)
  8. }

示例代码

  1. var dingding = api.require('dingding');
  2. dingding.shareText({
  3. appId: '',
  4. text: '我分享的文本'
  5. }, function(ret, err) {
  6. if (ret.status) {
  7. alert('分享成功');
  8. } else {
  9. alert(err.code);
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

shareImage

分享图片内容

shareImage({params}, callback(ret, err))

params

appId:

  • 类型:字符串
  • 描述:(必选项)从钉钉开放平台获取的 appid。
  • ios不支持

contentUrl:

  • 类型:字符串
  • 描述:分享图片的 url 地址(支持 fs://、widget:// 和网络路径)(android不支持widget)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 0 //数字类型;
  3. //错误码:
  4. //-1(未知错误)
  5. //0(成功)
  6. //-2(用户取消)
  7. //-3(发送失败)
  8. }

示例代码

  1. var dingding = api.require('dingding');
  2. dingding.shareImage({
  3. appId: '',
  4. contentUrl: 'fs://b.jpg'
  5. }, function(ret, err) {
  6. if (ret.status) {
  7. alert('分享成功');
  8. } else {
  9. alert(err.code);
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

shareWebpage

分享网页

shareWebpage({params}, callback(ret, err))

params

appId:

  • 类型:字符串
  • 描述:(必选项)从钉钉开放平台获取的 appid。
  • ios不支持

title:

  • 类型:字符串
  • 描述:(可选项)分享网页的标题

description:

  • 类型:字符串
  • 描述:(可选项)分享网页的描述。

thumurl:

  • 类型:字符串
  • 描述:(可选项)分享网页的缩略图地址,要求本地路径(fs://、widget://和网络路径)(android不支持widget)

url:

  • 类型:字符串
  • 描述:分享网页的 url 地址。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: 0 //数字类型;
  3. //错误码:
  4. //-1(未知错误)
  5. //0(成功)
  6. //-2(用户取消)
  7. //-3(发送失败)
  8. }

示例代码

  1. var dingding = api.require('dingding');
  2. dingding.shareWebpage({
  3. appId: '',
  4. title: '测试标题',
  5. description: '分享内容的描述',
  6. thumurl: 'fs://a.jpg',
  7. url: 'http://apicloud.com'
  8. }, function(ret, err) {
  9. if (ret.status) {
  10. alert('分享成功');
  11. } else {
  12. alert(err.code);
  13. }
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isSupportAuth

是否支持三方登陆

isSupportAuth({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否支持
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. msg:'', //字符串类型;错误信息
  3. }

示例代码

  1. var dingding = api.require('dingding');
  2. dingding.isSupportAuth({
  3. }, function(ret, err) {
  4. alert(JSON.stringify(ret));
  5. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

auth

三方登陆

auth({params}, callback(ret, err))

params

appId:

  • 类型:字符串
  • 描述:从钉钉开放平台获取的 appid。;此参数iOS不用传(此参数在初始化是已经在config中配置了)

state:

  • 类型:字符串
  • 描述:(可选)用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验;此参数iOS不用传

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否授权成功
  3. code:'', //字符串类型;授权码
  4. state:'', //字符串类型;第三方程序发送时用来标识其请求的唯一性的标志,调用接口时传入,由钉钉终端回传,state字符串长度不能超过1K;此参数iOS端不返回
  5. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;错误码; -4/用户拒绝授权、-2/用户取消授权
  3. }

示例代码

  1. var dingding = api.require('dingding');
  2. dingding.auth({
  3. appId:'',
  4. state:'',
  5. }, function(ret, err) {
  6. alert(JSON.stringify(ret));
  7. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本