最近在做项目集成钉钉时 引入钉钉的js时 页面初始化鉴权时 偶尔会出现 dd.runtime.permission找不到, 原因是引入钉钉的js还没加载完,下面的代码就执行了, 钉钉的js引入在head中引入的 通过cdn引入 会照成这个问题
//验证用户身份
dd.ready(function() {
dd.runtime.permission.requestAuthCode({
corpId: corpId, // 企业id
onSuccess: function (info) {
var code = info.code // 通过该免登授权码可以获取用户身份
vm.checkUserCode(code);
}});
});
解决办法 如下, 将js的加载 放在mounted里面 通过js脚本加载:
mounted:function () {
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'http://g.alicdn.com/ilw/ding/0.7.3/scripts/dingtalk.js';
document.body.appendChild(s);
this. getCropIdAndAuthUser();
}
})