请问下uniapp编程后ios启动扫码后,用户取消扫码,ret没返回值是bug吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在uni-app中,当用户调用扫码功能后取消扫码操作,接口没有返回值(ret为空)并不是一个bug。根据参考资料中的说明,当用户取消扫码操作时,my.scan接口会返回错误码10,表示“用户取消”。这属于正常的用户交互流程,因此不需要特殊处理。在您的代码逻辑中,应当包含对这种取消操作的判断,以优雅地处理这类用户行为。
为了正确处理这种情况,您可以在使用my.scan
方法时,添加fail
回调函数来捕获包括用户取消在内的错误情况:
my.scan({
// ...其他参数
fail: function(res) {
// res.errorCode 用于获取错误码
if (res.errorCode === 10) {
console.log("用户取消了扫码");
// 在这里处理用户取消的操作
} else {
console.log("扫码失败,错误码:", res.errorCode);
// 处理其他扫码失败的情况
}
},
complete: function() {
// 扫码操作结束后的统一处理逻辑
}
});
这样,当用户取消扫码时,通过监听fail
回调并检查errorCode
为10,您可以明确识别出该情况,并做出相应的处理,而不是将其视为一个异常或bug。