4***@qq.com
4***@qq.com
  • 发布:2018-03-16 17:44
  • 更新:2018-03-16 20:32
  • 阅读:2170

hbuilder 安卓扫一扫之后秒退

分类:MUI

<!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="../../bower_components/mui/css/mui.css">
<link rel="stylesheet" href="../../static/css/style.css" />
<script type="text/javascript" src="../../bower_components/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../bower_components/mui/js/mui.min.js"></script>
<script type="text/javascript" src="../receipt/js/common.js"></script>
<script type="text/javascript" src="../../static/js/style.js" ></script>
<script type="text/javascript">
var ws=null,wo=null;
var scan=null,domready=false;
// H5 plus事件处理
function plusReady(){
// plus.navigator.setStatusBarBackground('#000');
if(ws||!window.plus||!domready){
return;
}
// 获取窗口对象
ws=plus.webview.currentWebview();
wo=ws.opener();
// 开始扫描
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);
try{

// 二维码扫描成功   
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;   
    }   
    resultresult = result.replace(/\n/g, '');   

    //分析扫描结果:是URL就跳转 ,不是就提示   
    if(result.indexOf('http://')==0  || result.indexOf('https://')==0){   

// plus.nativeUI.confirm(result, function(i){
// if(i.index == 0){
//
// back();//返回上一页
// plus.runtime.openURL(result);
// }else{
// back();//返回上一页
// }
// }, '', ['打开', '取消']);
console.log(result);
// if(result.indexOf("toOpenApp") > -1) {
var arrUrl = result.indexOf("?");
var id = result.substr(arrUrl).substring(4);
var niuId = localStorage.getItem("niuId");
var token = localStorage.getItem("token");
localStorage.setItem("receiptId", id);
$.post(netAddress + '/voucher/scanCodeDeil', {
id: id,
niuId: niuId,
token:token
}, function(data) {
console.log((JSON.stringify(data)));
if(data.resultCode == 1000) {
mui.openWindow({
createNew: true,
id:'borrow',
url:'../receipt/borrow.html'
// styles: {
// popGesture:"close"
// },
// show:{
// aniShow:'pop-in'
// },
// waiting:{
// autoShow:true
// }
});
} else {
mui.alert(data.error);
back();//返回上一页
}
})
// }
} else{
back();//返回上一页
plus.nativeUI.alert(result);
}
}
}catch(e){
alert(e.message);
}
// 从相册中选择二维码图片
function scanPicture(){
plus.gallery.pick(function(path){
plus.barcode.scan(path,onmarked,function(error){
plus.nativeUI.alert('无法识别此图片');
});
}, function(err){
plus.nativeUI.alert('Failed: '+err.message);
});
}

</script>   
    <link rel="stylesheet" href="../receipt/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: 46px;   
            position: absolute;   
            bottom: 0px;   
            line-height: 44px;   
            text-align: center;   
            color: #FFF;   
        }   
        .fbt {   
            width: 50%;   
            height: 100%;   
            background-color: #fa5e25;   
            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>   
</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>

2018-03-16 17:44 1 条评论 负责人:无 分享
已邀请:
4***@qq.com

4***@qq.com (作者)

不要沉啊,,有大神知道吗

apche

apche

我也遇到了

Dr

Dr

在较高的Android系统中,调用摄像头需要进行动态调用,只在manifest.json中配置的权限默认为询问,但是程序运行过程中并没有询问,也就获取不到,最终导致程序崩溃,解决问题的方法是手动到应用权限那里把它改成允许,或者打包程序升级来解决

  • l***@163.com

    设置权限之后还是闪退

    2018-05-04 17:36

  • 1***@163.com

    解决了吗 遇到类似的问题 真机运行可以 打包候就失效

    2018-06-23 15:09

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