详细问题描述
使用plus.screen.lockOrientation('landscape-primary');锁定横屏后,使用创建扫码页面,使用plus.barcode.create会导致成像颠倒(底部有代码)
重现步骤
上图是正常横屏拍照
上图是横屏扫码(明显倒转了90度)
IDE运行环境说明
[IDE版本号] HBuilderX 2.3.5.20191018
[windows版本号] win10 企业版
uni-app运行环境说明
HBuilderX创建 app 当前项目编译模式:自定义组件模式。
App运行环境说明
[Android版本号] 9
[手机型号] 华为平板M6 10.8英寸
附件
<template>
<view>
</view>
</template>
<script>
export default {
data() {
return {
barcode: null,
result: "",
scanType: ""
}
},
methods: {
onMarked(type, result) {
let scanType = "未知";
switch (type) {
case plus.barcode.QR:
scanType = "QR"
break;
}
this.result = result;
this.scanType = scanType;
uni.navigateBack({
delta: 1
})
},
createBarcode(w) {
this.barcode = plus.barcode.create(
'barcode',
[plus.barcode.QR], {
top: '0',
left: '0',
width: '100%',
height: '100%',
scanbarColor: '#1DA7FF',
position: 'static',
frameColor: '#1DA7FF'
});
this.barcode.onmarked = this.onMarked;
//barcode.setFlash(true);
w.append(this.barcode);
this.barcode.start();
},
createBackButton(w) {
let backBtn = new plus.nativeObj.View('backBtn', {
top: '0px',
left: '0px',
height: '100px',
width: '100px'
},
[{
tag: 'img',
id: 'backBar',
src: '/static/icon/Back.png',
position: {
top: '10px',
left: '10px',
width: '80px',
height: '80px'
}
}]);
backBtn.interceptTouchEvent(true);
w.append(backBtn);
backBtn.addEventListener("click", function(e) {
uni.navigateBack({
delta: 1
})
}, false);
}
},
onLoad(param) {
let curWebView = this.$mp.page.$getAppWebview();
this.createBarcode(curWebView);
this.createBackButton(curWebView);
},
onReady() {
//plus.screen.lockOrientation('portrait-primary'); //锁定竖屏
},
onBackPress() {
this.barcode.close();
//plus.screen.lockOrientation('landscape-primary'); //锁定横屏
getApp().globalData.webView.evalJS("window.eventor.fireScanCodeEvent('" + this.result + "', '" + this.scanType + "');");
}
}
</script>
<style>
</style>
联系方式
[QQ] 342876972
3***@qq.com
着怎么旋转摄像头
2022-01-05 13:42