H5嵌入钉钉

1,需要在项目种引入钉钉官方的js

<script type="text/javascript" 
 src="http://g.alicdn.com/dingding/dingtalk-jsapi/2.3.0/dingtalk.open.js"
    ></script>

或者npm 也可以的

2,钉钉自带的api,有写是需要鉴权的,所以在使用之前一定要先鉴权

   获取钉钉接口的鉴权

dd.config({
              agentId:agentid, // 必填,微应用ID
              corpId:corpId,//必填,企业ID
              timeStamp:timeStamp, // 必填,生成签名的时间戳
              nonceStr: nonceStr, // 必填,生成签名的随机串
              signature:signature, // 必填,签名
              type:0,
              jsApiList : [ 'runtime.info', 'biz.contact.choose','biz.contact.chooseMobileContacts',
                'device.notification.confirm', 'device.notification.alert',
                'device.notification.prompt', 'biz.ding.post','biz.util.previewImage',
                'biz.util.openLink','device.geolocation.start','device.geolocation.get','biz.util.uploadImageFromCamera','biz.util.uploadImage' ,
                'device.audio.startRecord','device.audio.stopRecord','device.audio.play','device.audio.pause','device.audio.download','device.audio.translateVoice','device.audio.onPlayEnd'
                ] // 必填,需要使用的jsapi列表,注意:不要带dd。
            });

3,鉴权以后就可以在项目中使用钉钉的api了,但是在调用钉钉的api的时候一定要在 dd.ready里面执行,不然会报错

  
 1  dd.ready(()=>{
 2     //获取地理位置
 3             dd.device.geolocation.get({
 4     targetAccuracy : Number,
 5     coordinate : Number,
 6     withReGeocode : Boolean,
 7     useCache:true, //默认是true,如果需要频繁获取地理位置,请设置false
 8      onSuccess : (result) =>{
 9       alert('succe: ' + JSON.stringify(result))
10                   
11       },
13      onFail : (err) => {
14       alert('fail: ' + JSON.stringify(err))
15       }
16      })
17 })

ps:如果是全局使用钉钉的api,可以在app.vue页面种调用,也可以在main.js种调用

 
posted @ 2019-09-09 11:12  Ms-Hibiscus  阅读(7762)  评论(7编辑  收藏  举报