当前位置:首页 >> 网页制作

Html5嵌入钉钉的实现示例

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里面执行,不然会报错

  dd.ready(()=>{
      //获取地理位置
              dd.device.geolocation.get({
      targetAccuracy : Number,
      coordinate : Number,
      withReGeocode : Boolean,
      useCache:true, //默认是true,如果需要频繁获取地理位置,请设置false
       onSuccess : (result) =>{
        alert('succe: ' + JSON.stringify(result))
                   
       },
      onFail : (err) => {
       alert('fail: ' + JSON.stringify(err))
       }
      })
 })

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