直接使用 @zxing/library 库来进行远程图片的解码
先使用命令安装npm install @zxing/library
使用示例:
<template>
<view>
<img :src="img" mode="widthFix" id="qrcodeImage" v-show="showFlag" />
</view>
</template>
<script>
import { BrowserQRCodeReader } from '@zxing/library';
export default {
data() {
return {
showFlag: false,
img: ''
};
},
onUnload() {
},
onShow() {
},
onLoad(options) {
var vm= this
vm.img = '图片地址.png'
const imageUrl = vm.img ;
vm.downloadImage(imageUrl).then(localImagePath => {
vm.decodeQRCode(localImagePath);
});
},
onReady() {
},
onPullDownRefresh() {
},
methods: {
// 下载网络图片到本地
downloadImage(url) {
return fetch(url)
.then(response => response.blob())
.then(blob => {
return URL.createObjectURL(blob);
});
},
async decodeQRCode(imagePath) {
var vm= this
const img = new Image();
img.src = imagePath;
img.onload = function() {
const codeReader = new BrowserQRCodeReader();
codeReader.decodeFromImage(img).then(result => {
console.log('解析到的二维码信息:', result.text);
}).catch(error => {
console.error('解码失败:', error);
});
};
},
}
};
</script>
<style lang="scss">
</style>