李兴辉 89b04fb058 init
2025-03-10 13:49:13 +08:00

63 lines
1.4 KiB
Vue

<template>
<view id="barcode"></view>
</template>
<script>
export default {
data() {
return {
// #ifdef APP-PLUS
barcode: [
plus.barcode.QR,
plus.barcode.EAN13,
plus.barcode.EAN8,
plus.barcode.UPCA,
plus.barcode.UPCE,
plus.barcode.CODABAR,
plus.barcode.CODE39,
plus.barcode.CODE93,
plus.barcode.CODE128,
plus.barcode.ITF,
],//码类型
// #endif
};
},
created() {
var statusBarHeight = uni.getSystemInfoSync().statusBarHeight;//状态栏
var height = statusBarHeight + 44 +104+'px';
var pages = getCurrentPages();
var page = pages[pages.length - 1];
// #ifdef APP-PLUS
var currentWebview = page.$getAppWebview();
this.barcode = plus.barcode.create('barcode', this.barcode, {
top: '0',
left: '0px',
width: '100%',
height: height,//这里可以设置扫码框的高度
position: 'static'
});
this.barcode.onmarked = this.onmarked;
currentWebview.append(this.barcode);
const res = uni.getSystemInfoSync();
if(res.platform == 'android'){//安卓机
this.barcode.start();
}
// #endif
},
onUnload() {
clearTimeout(this.t);
},
methods: {
onmarked(type, result) {
// console.log(type +':'+ result);
this.$emit('getCode',result);
this.t=setTimeout(() => {
this.barcode.start();
}, 1000)
}
}
}
</script>
<style lang="less">
</style>