使用钉钉模拟器打开钉钉微应用,初次调用dd.runtime.permission.requestAuthCode能成功调取并有回调,第二次再调用这个api是报ERROR 4040: Do not support the current e,请问这是什么情况呢
这是由于钉钉沙箱环境(即钉钉微应用)的权限机制导致的。
在钉钉沙箱环境中,每个微应用的生命周期被限制在一个会话内。这意味着当一个微应用被打开时,它将获得一个临时的唯一标识符(通过 dd.runtime.getAppKey()
获取)和一个会话标识符(通过 dd.runtime.getSessionKey()
获取)。这些标识符在微应用的整个生命周期内保持不变。
然而,当用户关闭并重新打开同一个微应用时,新的会话将被创建,并且旧的会话将不再可用。这意味着你不能再访问旧的会话中的数据或调用其权限接口。这就是为什么你在第二次调用时收到错误消息 "ERROR 4040: Do not support the current e"。
为了解决这个问题,你需要确保你的微应用在处理关闭和重新打开的情况。这可能包括保存关键数据到本地存储,并在重新打开时从那里恢复数据,或者实现一种机制来处理旧会话的结束和新会话的开始。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。