更新时间:2020-06-30 20:27
此接口用于调用扫码组件,且仅限于 Android 系统。另外,在使用此接口前,请确认您已经在工程中添加了扫码组件。
三种不同的 actionType 为:
AlipayJSBridge.call('scan', {
type: 'bar',
actionType: 'scanAndRoute'
}, function(result) {
alert(JSON.stringify(result));
});
只获取二维码的信息:
<h1>点击扫码后输出码对应的信息</h1>
<a href="#" class="btn read">开始扫码</a>
<script>
function ready(callback) {
// 如果 jsbridge 已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
document.querySelector('.read').addEventListener('click', function() {
AlipayJSBridge.call('scan', {
type: 'qr'
}, function(result) {
alert(JSON.stringify(result));
});
});
});
</script>
扫描二维码并发起路由:
<h1>扫码后不输出信息,直接让支付宝解码</h1>
<a href="#" class="btn read">开始扫码</a>
<script>
function ready(callback) {
// 如果 jsbridge 已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
document.querySelector('.read').addEventListener('click', function() {
AlipayJSBridge.call('scan', {
type: 'qr',
actionType: 'scanAndRoute'
}, function(result) {
alert(JSON.stringify(result));
});
});
});
</script>
AlipayJSBridge.call('scan', {
type, actionType, qrcode
}, fn);
名称 | 类型 | 描述 | 必选 | 默认值 |
---|---|---|---|---|
type | string | 扫描目标类型,二维码/条形码。 | Y | “” |
actionType | string | 操作类型: “scan”只扫码值。 “scanAndRoute”扫描并路由,类同首页效果。 |
N | “scan” |
qrcode | string | 指定用于“route”操作类型的码值。 | N | “” |
fn | function | 扫码获取码信息后的回调函数。 | N | - |
回调函数带入的参数 result: {error, barCode, qrCode, cardNumber}。
名称 | 类型 | 描述 |
---|---|---|
barCode | string | 扫描所得条码数据。 |
qrCode | string | 扫描所得二维码数据。 |
error | int | 错误码(10:用户取消,11:操作失败) |
在文档使用中是否遇到以下问题
更多建议
匿名提交