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 \
|
llm.js websocket.js datarow.js tabular.js continueaudio.js \
|
||||||
line.js pie.js bar.js gobang.js period.js iconbarpage.js \
|
line.js pie.js bar.js gobang.js period.js iconbarpage.js \
|
||||||
keypress.js asr.js webspeech.js countdown.js progressbar.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}
|
echo ${SOURCES}
|
||||||
cat ${SOURCES} > ../dist/bricks.js
|
cat ${SOURCES} > ../dist/bricks.js
|
||||||
# uglifyjs --compress --mangle -- ../dist/bricks.js > ../dist/bricks.min.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/recorder.wav.min.js')}}"></script>
|
||||||
<script src="{{entire_url('/bricks/3parties/hls.js')}}"></script>
|
<script src="{{entire_url('/bricks/3parties/hls.js')}}"></script>
|
||||||
<script src="{{entire_url('/bricks/3parties/dash.all.min.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"
|
<script type="module"
|
||||||
src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js">
|
src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js">
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -58,7 +58,7 @@ bricks.Menu = class extends bricks.VScrollPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
var w = await bricks.widgetBuild(desc, this);
|
var w = await bricks.widgetBuild(desc, this);
|
||||||
if (w && ! w.parent){
|
if (w && ! bricks.Factory.isWidgetType(w, 'Popup')){
|
||||||
t.clear_widgets();
|
t.clear_widgets();
|
||||||
t.add_widget(w);
|
t.add_widget(w);
|
||||||
} else {
|
} 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