生成二维码
[!TIP|labelVisibility:hidden|iconVisibility:hidden] navigator.scanner.create2DCode(successCallback, errorCallback, options)
支持平台:
- Android
- iOS
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
successCallback | Function | 否 | 成功回调函数 |
errorCallback | Function | 否 | 失败回调函数 |
options | Object | 是 | 参数对象 |
successCallback
函数会返回一个字符串,字符串内容为条形码图片存放的本地路径
errorCallback
函数会返回一个字符串,错误的相关信息
options
为参数对象,其属性可包含以下一项或多项:
content
(String / 必选) -- 条形码内容format
(可选) -- 条形码类型,默认为QR_CODE
。其值可为以下常量之一:Scanner.BarcodeFormat.QR_CODE
: 最常用的二维码,QR码,呈正方形,常见的黑白两色Scanner.BarcodeFormat.AZTEC
: 由美国韦林公司推出,最多可容纳3832个数字或3067个字母字符或1914个字节的数据
width
(Number / 可选) -- 条形码图片的宽度,单位px,默认100pxheight
(Number / 可选) -- 条形码图片的高度,单位px,默认100pxhasLogo
(Boolean / 可选) -- 是否添加logo
,默认false
示例代码
生成条形码,只有content
// 引用js
<script src='supconit://hcmobile.js'></script>
<script>
// 监听’deviceready‘事件
document.addEventListener('deviceready', onDeviceReady, false)
function onDeviceReady(){
// 生成条形码,只有content
navigator.scanner.create2DCode(
function(result) {
alert(result);
},
function(error) {
alert(error);
},
{
content: '123456789'
}
);
}
</script>
生成条形码,全部参数
// 引用js
<script src='supconit://hcmobile.js'></script>
<script>
// 监听’deviceready‘事件
document.addEventListener('deviceready', onDeviceReady, false)
function onDeviceReady(){
// 生成条形码,全部参数
navigator.scanner.create2DCode(
function(result) {
alert(JSON.stringify(result));
},
function(error) {
alert(JSON.stringify(error));
},
{
content: '123456789',
width: 200,
height: 200,
format: Scanner.BarcodeFormat.AZTEC,
hasLogo: true
}
);
}
</script>
响应示例代码:
"file:///var/mobile/Containers/Data/Application/E7F0975B-CA99-4570-8C48-762658EAA0EC/Library/Caches/com.supconit.hcmobile.ios/images/5a08a22b2bce2f4e0253742226aff4ff.jpg"