requestJsApis() not invoked,errorCode:7
dd.ready是在dd.config之后才执行
的,
dd.config() 之后执行dd.ready(){alert('env ok')}能正确弹出,证明config是成功的,环境已经准备好。
但为什么调用API会报无权呢?
但 dd.device.notification.alert 和 dd.device.notification.confirm 是可用的。
问题出在哪?
-------------------------
ajax去掉之后的代码是什么?看我们demo了,在我们demo基础上修改下看看好使不?https://github.com/injekt/openapi-demo-php/blob/master/corp/public/_s/demo.js
<script>
alert(dd.version);
var jsApiList = [
//'runtime.info',
//'device.notification.alert',
// 'device.notification.confirm',
'device.base.getUUID',
'device.geolocation.get',
'device.base.getInterface'
];
$.ajax({
type: 'GET',
url: 'get_config.php',
data: {url: this.location.href},
dataType: 'json',
success: function (res) {
res.jsApiList = jsApiList;
dd.config(res);//这里调用应该是成功的
alert('config:' + JSON.stringify(res));//这里可以看到成功获取到完整的配置信息
},
error: function (xhr, type) {
alert('Ajax error!')
}
});
dd.error(function (error) {
alert('env error');
});
dd.ready(function () {
alert('env ok');
dd.runtime.info({
onSuccess: function (result) {
dd.device.notification.confirm({title: 'runtime info ', message: JSON.stringify(result)});//这里正确显示
},
onFail: function (err) {
dd.device.notification.confirm({title: 'runtime info ', message: JSON.stringify(err)});
}
});
dd.device.base.getInterface({
onSuccess: function (data) {
alert('device.base.getInterface ' + JSON.stringify(data));
},
onFail: function (err) {
dd.device.notification.alert(
{
title: 'device.base.getInterface ',
message: JSON.stringify(err)//这里被执行了,提示errorCode7
}
);
}
});
dd.device.base.getUUID({
onSuccess: function (result) {
alert(JSON.stringify(result));
},
onFail: function (err) {
alert('getUUID ' + JSON.stringify(err));//这里也显示errorCode7
}
});
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。