官方文档中dd.config配置如下:
解决:实际应用中,要将agentId字段替换为appId
ps:这一波属于官方文档踩坑了。面向百度编程,借鉴了前辈的经验,感谢!
// jsapi钉钉鉴权
getDingJSApi({ commit }, params) {
return new Promise((resolve, reject) => {
let url = location.host;
getJSAPI({ url })
.then(res => {
let { agentId, corpId, timeStamp, nonceStr, signature } = res.data.data;
dd.config({
appId: agentId,
corpId,
timeStamp,
nonceStr,
signature,
jsApiList: [
'runtime.info',
'biz.contact.choose',
'biz.contact.complexPicker',
'device.notification.confirm',
'device.notification.alert',
'device.notification.prompt',
'biz.ding.post',
'biz.util.openLink',
], // 必填,需要使用的jsapi列表,注意:不要带dd。
});
dd.error(function(err) {
console.log('dd error: ' + JSON.stringify(err));
}); //该方法必须带上,用来捕获鉴权出现的异常信息,否则不方便排查出现的问题
resolve();
})
.catch(err => {
reject(err);
});
});
},