请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
显示全部楼层
20
帖子
0
勋章
6613
Y币

ding 模块使用分享

[复制链接]
发表于 2019-11-4 10:28:33
本帖最后由 yxWin 于 2019-11-4 10:50 编辑

ding 模块
dingding 模块概述
本模块封装了钉钉的分享功能
android签名 下载签名工具并安装,打开然后输入应用的包名,即可生成该应用的签名
模块使用攻略
使用之前须从钉钉开放平台申请开发者账号并创建应用,获取 appid
钉钉平台接入流程参考钉钉平台接入文档
  • 配置示例:
<feature name="dingding">    <param name="appID" value="bf1acab2de4925b9cd624819" />    <param name="urlScheme" value="bf1acab2de4925b9cd624819" />     <param name="urlScheme" value="dingoak5hqhuvmpfhpnjvt" /></feature>
注意:
1, iOS 平台上必须添加白名单,如下:
  <preference name="querySchemes" value="dingtalk,dingtalk-open,dingtalk-sso" />


步骤:使用前需要下载你的应用 ,安装 签名工具  输入你得应用的 包名 会生成签名

然后进入钉钉开放平台创建项目 ,注意登陆的钉钉账号需创建群组才可以。
在开放平台创建项目,注意检查签名以及ios的包名
运行截图


主要代码
  1. <!DOCTYPE html>
  2.   <html>
  3.   <head>
  4.       <meta charset="utf-8">
  5.       <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  6.       <title>title</title>
  7.       <link rel="stylesheet" type="text/css" href="../css/api.css"/>
  8.       <style>
  9.           body{

  10.           }
  11.           header{
  12.             width: 100%;
  13.             height: 400px;
  14.             text-align: center;
  15.             margin-top: 100px;
  16.           }
  17.           button{
  18.             margin-left: 10px;
  19.             margin-top: 10px;
  20.             width: 90px;
  21.             height: 50px;
  22.             background-color: green;
  23.             color: #fff;
  24.             border-radius: 5px;
  25.           }
  26.       </style>
  27.   </head>
  28.   <body>
  29. <header>
  30.   <button type="button" name="button" onclick="isInstalledD()">检测</button>
  31.   <button type="button" name="button" onclick="isSupportShareD()">分享支持</button>
  32.   <button type="button" name="button" onclick="shareTextD()">分享文本</button>
  33.   <button type="button" name="button" onclick="shareImageD()">分享图片</button>
  34.   <button type="button" name="button" onclick="shareWebpageD()">分享网页</button>
  35.   <button type="button" name="button" onclick="isSupportAuthD()">支持登陆</button>
  36.   <button type="button" name="button" onclick="authD()">登陆</button>
  37.   <button type="button" name="button" onclick="getPic()">获取图片</button>
  38. </header>
  39.   </body>
  40.   <script type="text/javascript" src="../script/api.js"></script>
  41.   <script type="text/javascript" src="../script/sha1.js"></script>

  42.   <script type="text/javascript">
  43.       var dingding = '';
  44.       var dingID = 'dingoatdfazc4egtwuuztb';
  45.       apiready = function(){
  46.         dingding = api.require('dingding');
  47.       };
  48.       function isInstalledD() {
  49.         dingding.isInstalled(function(ret) {
  50.             if (ret.installed) {
  51.                 alert("当前设备已安装钉钉客户端");
  52.             } else {
  53.                 alert('当前设备未安装钉钉客户端');
  54.             }
  55.         });
  56.       }
  57.       //是否支持分享 注意只适用Android
  58.       function isSupportShareD() {
  59.         var systemType = api.systemType;
  60.         if (systemType == 'ios') {
  61.           alert('此接口只支持Android');
  62.         }else {
  63.           dingding.isSupportShare(function(ret) {
  64.               if (ret.isSupport) {
  65.                   alert("支持钉钉分享");
  66.               } else {
  67.                   alert('不支持钉钉分享');
  68.               }
  69.           });
  70.         }
  71.       }
  72.       //文本分享
  73.       function shareTextD() {
  74.         console.log('-----');
  75.         dingding.shareText({
  76.             appId: dingID,
  77.             text: '我分享的文本'
  78.         }, function(ret, err) {
  79.             if (ret.status) {
  80.                 alert('分享成功');
  81.             } else {
  82.                 alert(err.code);
  83.             }
  84.         });
  85.       }
  86.       //图片分享
  87.       function shareImageD() {
  88.         var dingding = api.require('dingding');
  89.         dingding.shareImage({
  90.             appId: dingID,
  91.             contentUrl : '/storage/emulated/0/UZMap/wgt/A6026288634380/image/dog.png'
  92.             //contentUrl: '/var/mobile/Containers/Data/Application/0D597BDB-D08F-4EF2-B759-D911A173A667/Documents/uzfs/wgt/A6026288634380/image/dog.png'
  93.             //contentUrl: 'https://community.apicloud.com/bbs/data/attachment/block/a1/a1b8a8774d396335571edd80f1efb728.jpg'
  94.         }, function(ret, err) {
  95.             if (ret.status) {
  96.                 alert('分享成功');
  97.             } else {
  98.                 alert(err.code);
  99.             }
  100.         });
  101.       }
  102.       //分享网页
  103.       function shareWebpageD() {
  104.         dingding.shareWebpage({
  105.             appId: dingID,
  106.             title: '测试标题',
  107.             description: '分享内容的描述',
  108.             thumurl: '/var/mobile/Containers/Data/Application/0D597BDB-D08F-4EF2-B759-D911A173A667/Documents/uzfs/wgt/A6026288634380/image/dog.png',
  109.             //thumurl: '/storage/emulated/0/UZMap/wgt/A6026288634380/image/dog.png',
  110.             //thumurl: 'https://community.apicloud.com/bbs/data/attachment/block/a1/a1b8a8774d396335571edd80f1efb728.jpg',
  111.             url: 'http://apicloud.com'
  112.         }, function(ret, err) {
  113.             if (ret.status) {
  114.                 alert('分享成功');
  115.             } else {
  116.                 alert(err.code);
  117.             }
  118.         });
  119.       }
  120.       //支持登陆
  121.       function isSupportAuthD() {
  122.           dingding.isSupportAuth({
  123.           }, function(ret, err) {
  124.             alert(JSON.stringify(ret));
  125.           });
  126.       }
  127.       //登陆
  128.       function authD() {
  129.         dingding.auth({
  130.           appId:dingID,
  131.           state:'',
  132.         }, function(ret, err) {
  133.           alert(JSON.stringify(ret));
  134.         });
  135.       }
  136.       //获取fs 图片
  137.       function getPic() {
  138.         var fileBrowser = api.require('fileBrowser');
  139.         fileBrowser.open(function(ret) {
  140.             if (ret) {
  141.               console.log(JSON.stringify(ret));
  142.                 alert(JSON.stringify(ret));
  143.                 var str = (JSON.stringify(ret));
  144.                 console.log(str);
  145.             }
  146.         });
  147.       }
  148.   </script>
  149.   </html>
复制代码
fs 路径可以添加 filebrowser 模块来获取。

如有bug 欢迎指出

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
90
帖子
2
勋章
2237
Y币
厉害。
12
帖子
0
勋章
87
Y币
ios的isInstalled判断有点问题啊,我手机装了钉钉,他还是返回的false
20
帖子
0
勋章
6613
Y币
中物智建WH 发表于 2020-4-2 16:35
ios的isInstalled判断有点问题啊,我手机装了钉钉,他还是返回的false

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

这个配置了吗?
4
帖子
0
勋章
47
Y币
钉钉出现弹窗,但是点击发送后返回分享失败,这是什么原因
20
帖子
0
勋章
6613
Y币
双顺达ssd 发表于 2020-4-15 15:18
钉钉出现弹窗,但是点击发送后返回分享失败,这是什么原因

检查配置  用自己的配置
115
帖子
2
勋章
7758
Y币
分享到钉钉时  IOS分享的description分享网页的描述怎么没有?  安卓有
3
帖子
0
勋章
24
Y币
<param name="urlScheme" value="bf1acab2de4925b9cd624819" />     <param name="urlScheme" value="dingoak5hqhuvmpfhpnjvt" />这两个 配置是固定值嘛
3
帖子
0
勋章
24
Y币
我这边 唤起了 但是 都是 钉钉那边 提示分享失败  help
您需要登录后才可以回帖 登录

本版积分规则