- 发布:2024-09-09 11:00
- 更新:2024-09-09 11:00
- 阅读:81
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows10
HBuilderX类型: 正式
HBuilderX版本号: 4.15
手机系统: 全部
手机厂商: 华为
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
App下载地址或H5⽹址: https://www.pgyer.com/OckC1wtj
测试过的手机:
示例代码:
uni.scanCode方法在华为HUAWEl Pocket 2手机上扫码时,扫码框不在正中间,跑到左上角去了,代码如下:
openScanCode () {
console.log('==========authSignInit========');
uni.scanCode({
autoZoom:false,
onlyFromCamera: true,
scanType: ['qrCode'],
success: (res) => {
// 将编码后的URL转换为Base64格式
//console.log(res.result)
if(res.result.includes(config.iamURL)){
const base64Url = btoa(res.result);
console.log(res.result)
this.authSign(base64Url,
uni.getStorageSync('username')).then((result) => {
console.log(result)
this.scanCode(result, res.result,
base64Url);
uni.showToast({
title: '扫描成功',
icon: 'none'
});
uni.switchTab({
url: '/pages/index',
})
});
}else {
uni.showToast({
title: '非法二维码',
icon: 'error'
});
uni.switchTab({
url: '/pages/index',
})
}
//console.log('扫描结果:' + res.result);
},
fail: (err) => {
// uni.showToast({
// title: '扫描失败',
// icon: 'none'
// });
uni.switchTab({
url: '/pages/index',
})
},
complete (res) {
let obj={}
obj.username = uni.getStorageSync('username')
obj.deviceId = uni.getSystemInfoSync().deviceId
setScanStatus(obj).then(res=>{
console.log('成功')
})
}
});
}
uni.scanCode方法在华为HUAWEl Pocket 2手机上扫码时,扫码框不在正中间,跑到左上角去了,代码如下:
openScanCode () {
console.log('==========authSignInit========');
uni.scanCode({
autoZoom:false,
onlyFromCamera: true,
scanType: ['qrCode'],
success: (res) => {
// 将编码后的URL转换为Base64格式
//console.log(res.result)
if(res.result.includes(config.iamURL)){
const base64Url = btoa(res.result);
console.log(res.result)
this.authSign(base64Url,
uni.getStorageSync('username')).then((result) => {
console.log(result)
this.scanCode(result, res.result,
base64Url);
uni.showToast({
title: '扫描成功',
icon: 'none'
});
uni.switchTab({
url: '/pages/index',
})
});
}else {
uni.showToast({
title: '非法二维码',
icon: 'error'
});
uni.switchTab({
url: '/pages/index',
})
}
//console.log('扫描结果:' + res.result);
},
fail: (err) => {
// uni.showToast({
// title: '扫描失败',
// icon: 'none'
// });
uni.switchTab({
url: '/pages/index',
})
},
complete (res) {
let obj={}
obj.username = uni.getStorageSync('username')
obj.deviceId = uni.getSystemInfoSync().deviceId
setScanStatus(obj).then(res=>{
console.log('成功')
})
}
});
}
操作步骤:
下载APP,点击扫码即可
下载APP,点击扫码即可
预期结果:
扫码框在正中间,且可以正确扫描
扫码框在正中间,且可以正确扫描
实际结果:
扫码框不在正中间,跑到左上角去了
扫码框不在正中间,跑到左上角去了