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种调用
一念成佛,一念成魔