bugfix
This commit is contained in:
parent
9c4a8f7bf3
commit
2a7686ef71
@ -11,7 +11,8 @@ SOURCES=" page_data_loader.js factory.js uitypesdef.js utils.js uitype.js \
|
||||
llm.js websocket.js datarow.js tabular.js continueaudio.js \
|
||||
line.js pie.js bar.js gobang.js period.js iconbarpage.js \
|
||||
keypress.js asr.js webspeech.js countdown.js progressbar.js \
|
||||
qaframe.js svg.js videoplayer.js sctter.js radar.js kline.js heatmap.js map.js"
|
||||
qaframe.js svg.js videoplayer.js sctter.js radar.js kline.js \
|
||||
heatmap.js map.js qr.js "
|
||||
echo ${SOURCES}
|
||||
cat ${SOURCES} > ../dist/bricks.js
|
||||
# uglifyjs --compress --mangle -- ../dist/bricks.js > ../dist/bricks.min.js
|
||||
|
||||
@ -32,6 +32,7 @@
|
||||
<script src="{{entire_url('/bricks/3parties/recorder.wav.min.js')}}"></script>
|
||||
<script src="{{entire_url('/bricks/3parties/hls.js')}}"></script>
|
||||
<script src="{{entire_url('/bricks/3parties/dash.all.min.js')}}"></script>
|
||||
<script src="https://unpkg.com/html5-qrcode@2.3.8/html5-qrcode.min.js"></script>
|
||||
<script type="module"
|
||||
src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js">
|
||||
</script>
|
||||
|
||||
@ -58,7 +58,7 @@ bricks.Menu = class extends bricks.VScrollPanel {
|
||||
}
|
||||
}
|
||||
var w = await bricks.widgetBuild(desc, this);
|
||||
if (w && ! w.parent){
|
||||
if (w && ! bricks.Factory.isWidgetType(w, 'Popup')){
|
||||
t.clear_widgets();
|
||||
t.add_widget(w);
|
||||
} else {
|
||||
|
||||
41
bricks/qr.js
Normal file
41
bricks/qr.js
Normal file
@ -0,0 +1,41 @@
|
||||
var bricks = window.bricks || {};
|
||||
bricks.QRCodeScan = class extends bricks.VBox {
|
||||
constructor(opts){
|
||||
opts.width = '300px';
|
||||
opts.height = '300px';
|
||||
super(opts);
|
||||
this.scan_config = {
|
||||
fps: 10, // 每秒尝试识别次数
|
||||
qrbox: { width: 250, height: 250 }, // 扫描框大小
|
||||
aspectRatio: 1.0, // 保持正方形
|
||||
disableFlip: false // 是否禁用镜像(移动端前置摄像头会镜像)
|
||||
};
|
||||
this.bind('click', this.stop.bind(this))
|
||||
schedule_once(this.start.bind(this), 0.5)
|
||||
}
|
||||
get_qr_result(decodedText, decodedResult){
|
||||
this.dispatch('recognized', decodedText)
|
||||
console.log('decodeText=', decodedText)
|
||||
this.stop()
|
||||
}
|
||||
errorhandle(msg){
|
||||
console.log("识别失败:", msg);
|
||||
}
|
||||
start(){
|
||||
this.scanner = new Html5Qrcode(this.widget_id);
|
||||
this.scanner.start({ facingMode: "environment" },
|
||||
this.scan_config,
|
||||
this.get_qr_result.bind(this),
|
||||
this.errorhandle.bind(this)
|
||||
).catch(err => {
|
||||
console.error('启动摄像头失败')
|
||||
});
|
||||
|
||||
}
|
||||
stop(){
|
||||
if this.scanner && this.scanner.getState() !== Html5QrcodeScannerState.NOT_STARTED) {
|
||||
this.scanner.stop()
|
||||
}
|
||||
}
|
||||
}
|
||||
bricks.Factory.register('QRCodeScan', bricks.QRCodeScan);
|
||||
Loading…
x
Reference in New Issue
Block a user