开发者社区> 问答> 正文

ddReady后调用jsapi还是失败,什么时候能解决?

我前端一直在跟踪,经常是ddReady()成功了,可是调用jsapi还是失败!
这已经是老问题了,一直没有解决。
钉钉好久没有发布新版本了,什么时候能解决啊?

展开
收起
junhm 2015-12-01 20:15:03 11149 0
5 条回答
写回答
取消 提交回答
  • ReddReady后调用jsapi还是失败,什么时候能解决?
    哈哈,我们之前也遇到了这个问题,查了半天,发现是大小写不匹配
    2015-12-07 11:11:54
    赞同 展开评论 打赏
  • 回 3楼靖山的帖子
    我将全部接口都写进jsApiList了 dd.device.launcher.checkInstalledApps依然无效  dd.device.launcher.launchApp可以执行 好神奇的说 (虽然安装了也返回false - -)
    以下代码均放在dd.ready中

    //检测应用是否安装
        dd.device.launcher.checkInstalledApps({
            apps: ['taobao', 'tmall','zhifubao'], //iOS:应用scheme;Android:应用包名
            onSuccess : function(data) {
                logger.i(JSON.parse('检测应用是否安装:'+data));
                /*
                 {
                 installed: ['taobao', 'tmall'] //iOS:应用scheme;Android:应用包名
                 }
                 */
            },
            onFail : function(err) {
                logger.e('检测应用是否安装?失败:'+JSON.stringify(err));
            }
        });

        //启动第三方应用
        dd.device.launcher.launchApp({
            app: 'taobao', //iOS:应用scheme;Android:应用包名
            onSuccess : function(data) {
                logger.i('启动第三方应用:'+JSON.stringify(data));
                /*
                 {
                 result: true //true 唤起成功 false 唤起失败
                 }
                 */
            },
            onFail : function(err) {
                logger.e('启动第三方应用?失败:'+JSON.stringify(err));
            }
        });

    -------------------------

    回 3楼靖山的帖子
    还有这里怎么写才能调用第三方应用啊?比如检测和调用支付宝? 要IOS和安卓2个平台的
    2015-12-03 14:24:25
    赞同 展开评论 打赏
  • 部分js-api需要申请授权,需要在dd.config申请这些接口的调用权限

    dd.config({
        agentId: '', // 必填,微应用ID
        corpId: '',//必填,企业ID
        timeStamp: , // 必填,生成签名的时间戳
        nonceStr: '', // 必填,生成签名的随机串
        signature: '', // 必填,签名
        jsApiList: ['device.notification.alert', 'device.notification.confirm'] // 必填,需要使用的jsapi列表
    });
    2015-12-03 11:44:25
    赞同 展开评论 打赏
  • ReddReady后调用jsapi还是失败,什么时候能解决?
    addroid平台,报错:requestJsApis() not invoked,errorCode:7。我敢发誓,ddReady()觉得成功了!
    隔了一段时间后进入微页面,经常会遇到这样的情况。
    但遇到这样的情况后,退出微页面后马上再进去,一般就可以了。

    -------------------------

    ReddReady后调用jsapi还是失败,什么时候能解决?
    引用第3楼靖山于2015-12-03 11:44发表的  :
    部分js-api需要申请授权,需要在dd.config申请这些接口的调用权限

    dd.config({
        agentId: '', // 必填,微应用ID
        corpId: '',//必填,企业ID
    ....... [url=http://bbs.aliyun.com/job.php?action=topost&tid=265899&pid=737783][/url]

    我的确没有给 agentId赋值,但是这样的话,应该每次调用都不成功啊!为什么只是在隔了一段时间进去后调用才失败,而许多时候又是成功的?
    正式因为程序调试的时候成功,所以我以为 agentId不赋值也可以。
    那我接下来加上 agentId,看看能否解决这个问题。

    -------------------------

    ReddReady后调用jsapi还是失败,什么时候能解决?
    问题已经解决。原因是:
    我当初以为dd.ready()函数是一个由dd.ready事件自动调用的函数,故没有把它强行放在dd.config()语句之后执行,由于dd.config()是在调用AJAX返回后才执行的,所以dd.ready()反而先执行了,但又没报错!导致调用JSAPI不成功。
    但为什么后续进去后,调用JSAPI可以成功呢?我猜是因为第一次虽然dd.ready没有成功,但dd.config()成功了,可能是由于钉钉缓存的原因,那么第二次的dd.ready()使用的是前面的dd.config()的结果,所以可以成功。
    希望对大家能有帮助!
    2015-12-02 20:46:07
    赞同 展开评论 打赏
  • ReddReady后调用jsapi还是失败,什么时候能解决?
    请问你哪个平台,什么错误提示?2.6版本已经上线了,可以到应用商店下载最新版本。
    2015-12-02 10:32:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载