接入钉钉企业免登陆遇到的坑!!!!

今天接入免登陆遇到个大坑,看官方文档上写了,先引入dingtalk.js,

然后配置dd.config({...})

接着dd.ready(function(){

..........

});


问题出现了,dd.ready 怎么也不运行,折腾了一下午,就差跪下来求他了,最后一个不经意的删除dd.config({}),奇迹出现了,

dd.ready 执行了!!!!苍天估计被我这种不屈不挠的精神所感动,故意暗中帮了我一把,这才得以将问题解决。

这是下面代码:

dd.error(function(error){  
                        alert(JSON.stringify(error)) ; 
                    });  
                    dd.ready(function() {   
                        dd.runtime.permission.requestAuthCode({
                            corpId: _config.corpid, 
                            onSuccess: function(result) { 
                                LoginByDDCode(result.code).then(res=>{   //这是自己封装的后台API
                                    if(!res.error){
                                        this.userinfo=res;
                                        this.routerhome();
                                    }else{
                                        this.openid=res.openid;
                                    }
                                }); 
                            },
                            onFail : function(err) { 
                                alert('requestAuthCode fail: ' + JSON.stringify(err));
                            } 
                        });
                    })

哦,对了,还有个问题要注意,就是在vue中引用外部的js.有时会失效。有个最简单的办法就是:

mounted(){
    let s = document.createElement('script');
            s.type = 'text/javascript';
            s.src = 'http://g.alicdn.com/dingding/open-develop/1.5.1/dingtalk.js'; 
            document.body.appendChild(s);
}
原文地址:https://www.cnblogs.com/meiyh/p/6869380.html