9***@qq.com
9***@qq.com
  • 发布:2019-06-28 11:38
  • 更新:2020-06-26 16:31
  • 阅读:969

【报Bug】扫一扫.IOS不出现扫一扫的界面.安卓扫码马上闪退。

分类:HBuilderX

详细问题描述

安卓机打开扫一扫.可以扫码。但是扫码成功后马上闪退.
IOS 打开扫一扫。无法加载扫一扫的组件.

我的开发版本:HBuilder X 2.0.1.20190614

源码如下:

<!DOCTYPE html>
<html>

<head>  
    <meta charset="utf-8" />  
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />  
    <meta name="HandheldFriendly" content="true" />  
    <meta name="MobileOptimized" content="320" />  
    <title>二维码扫描</title>  
    <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />  
    <style type="text/css">  
        #bcid {  
            width: 100%;  
            position: absolute;  
            top: 0px;  
            bottom: 44px;  
            text-align: center;  
        }  

        .tip {  
            color: #FFFFFF;  
            font-weight: bold;  
            text-shadow: 0px -1px #103E5C;  
        }  

        footer {  
            width: 100%;  
            height: 44px;  
            position: absolute;  
            bottom: 0px;  
            line-height: 44px;  
            text-align: center;  
            color: #FFF;  
        }  

        .fbt {  
            width: 50%;  
            height: 100%;  
            background-color: #FFCC33;  
            float: left;  
        }  

        .fbt:active {  
            -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);  
            box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);  
        }  
    </style>  
    <script type="text/javascript" src="js/common.js"></script>  
    <script type="text/javascript">  
        var ws = null,  
            wo = null;  
        var scan = null,  
            domready = false;  
        // H5 plus事件处理  
        function plusReady() {  
            if(ws || !window.plus || !domready) {  
                return;  
            }  
            // 获取窗口对象  
            ws = plus.webview.currentWebview();  
            // 开始扫描  
            ws.addEventListener('show', function() {  
                scan = new plus.barcode.Barcode('bcid');  
                scan.onmarked = onmarked;  
                scan.start({  
                    conserve: true,  
                    filename: '_doc/barcode/'  
                });  
            }, false);  
            // 显示页面并关闭等待框  
            ws.show('pop-in');  
        }  
        if(window.plus) {  
            plusReady();  
        } else {  
            document.addEventListener('plusready', plusReady, false);  
        }  
        // 监听DOMContentLoaded事件  
        document.addEventListener('DOMContentLoaded', function() {  
            domready = true;  
            plusReady();  
        }, false);  
        // 二维码扫描成功  
        function onmarked(type, result, file) {  
            switch(type) {  
                case plus.barcode.QR:  
                    type = 'QR';  
                    break;  
                case plus.barcode.EAN13:  
                    type = 'EAN13';  
                    break;  
                case plus.barcode.EAN8:  
                    type = 'EAN8';  
                    break;  
                default:  
                    type = '其它' + type;  
                    break;  
            }  
            result = result.replace(/\n/g, '');  
            plus.nativeUI.alert('扫描结果:' + JSON.stringify(result), function() {  
                console.log('扫描成功')  
            }, "二维码扫描", "OK");  
            back();  
        }  
        // 从相册中选择二维码图片   
        function scanPicture() {  
            plus.gallery.pick(function(path) {  
                plus.barcode.scan(path, onmarked, function(error) {  
                    plus.nativeUI.alert('无法识别此图片');  
                });  
            }, function(err) {  
                console.log('Failed: ' + err.message);  
            });  
        }  
    </script>  

</head>  

<body style="background-color: #000000;">  
    <div id="bcid">  
        <div style="height:40%"></div>  
        <p class="tip">...载入中</p>  
    </div>  
    <footer>  
        <div class="fbt" onclick="back()">取  消</div>  
        <div class="fbt" onclick="scanPicture()">从相册选择二维码</div>  
    </footer>  
</body>  

</html>

2019-06-28 11:38 负责人:无 分享
已邀请:
菠萝momo

菠萝momo

请问您解决了吗 我也遇到同样的问题 求解答!谢谢

该问题目前已经被锁定, 无法添加新回复