App-Android(使用App+htnl5框架,解决消息推送兼容SignalR问题)
loulijun2021
2022-09-20 eb23a7c7faefe86330a88f9118b8211f6b86e75b
unpackage/cache/wgt/H5EDA0853/plus/barcode_custom.html
@@ -1,136 +1,157 @@
<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8"/>
      <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"/>
      <meta name="HandheldFriendly" content="true"/>
      <meta name="MobileOptimized" content="320"/>
      <meta charset="utf-8" />
      <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
      <meta name="HandheldFriendly" content="true" />
      <meta name="MobileOptimized" content="320" />
      <title>Hello H5+</title>
      <script type="text/javascript" src="../js/common.js"></script>
      <script type="text/javascript">
var ws=null,wo=null;
var scan=null;
// H5 plus事件处理
function plusReady(){
   // 获取窗口对象
   ws=plus.webview.currentWebview();
   nv=ws.getTitleNView();
   wo=ws.opener();
   // 开始扫描
   ws.addEventListener('show', function(){
      scan=new plus.barcode.Barcode('bcid',[plus.barcode.QR,plus.barcode.EAN8,plus.barcode.EAN13],{frameColor:'#00FF00',scanbarColor:'#00FF00'});
       scan.onmarked=onmarked;
       scan.start({conserve:true,filename:'_doc/barcode/'});
      createSubview();
   }, false);
   // 显示页面并关闭等待框
    ws.show('pop-in');
}
document.addEventListener('plusready', plusReady, false);
         var ws = null,
            wo = null;
         var scan = null;
         // H5 plus事件处理
         function plusReady() {
            // 获取窗口对象
            ws = plus.webview.currentWebview();
            nv = ws.getTitleNView();
            wo = ws.opener();
            // 开始扫描
            ws.addEventListener('show', function() {
               scan = new plus.barcode.Barcode('bcid', [plus.barcode.QR, plus.barcode.EAN8, plus.barcode.EAN13], {
                  frameColor: '#00FF00',
                  scanbarColor: '#00FF00'
               });
               scan.onmarked = onmarked;
               scan.start({
                  conserve: true,
                  filename: '_doc/barcode/'
               });
               createSubview();
            }, false);
            // 显示页面并关闭等待框
            ws.show('pop-in');
         }
         document.addEventListener('plusready', 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(/\r\n/g, '');
    wo.evalJS("scaned('"+ type +"','"+ result +"','"+ file +"');");
    back();
}
// 创建子窗口
var view = null;
function createSubview(){
   view = new plus.nativeObj.View('nbutton', {
      bottom: '20px',
      left: '30%',
      width: '40%',
      height: '44px'
   }, [{
      tag: 'rect',
      id: 'rect',
      rectStyles: {
         radius: '8px',
         color: 'rgba(255,0,0,0.8)'
      }},{
      tag: 'font',
      id: 'text',
      text: '暂 停',
      textStyles: {
         color: '#FFFFFF'
      }
   }]);
   // 处理事件
   view.addEventListener('click', function(e){
      switchScan();
   }, false);
   view.addEventListener('touchstart', function(e){
      view.drawRect({
         radius: '8px',
         color: 'rgba(255,0,0,0.5)'
      }, {}, 'rect');
   }, false);
   view.addEventListener('touchend', function(e){
      view.drawRect({
         radius: '8px',
         color: 'rgba(255,0,0,0.8)'
      }, {}, 'rect');
   }, false);
   ws.append(view);
}
// 开关闪光灯
var bFlash = false;
var AVCaptureDevice=null;
var Camera=null;
function switchFlash(){
   bFlash = !bFlash;
   scan.setFlash(bFlash);
   ws.setStyle({titleNView: {
      buttons: [{
         fontSrc: '_www/helloh5.ttf',
         text: (bFlash?'\ue400':'\ue401'),
         fontSize: '18px',
         onclick: 'javascript:switchFlash()'
      }]
   }});
}
// 切换扫描
var bScan = false;
function switchScan(){
    if(bScan){
       scan.start({conserve:true, filename:'_doc/barcode/'});
       view&&(view.drawText('暂 停', {}, {color:'#FFFFFF'}, 'text'));
    }else{
       scan.cancel();
       view&&(view.drawText('开 始', {}, {color:'#FFFFFF'}, 'text'));
    }
    bScan=!bScan;
}
         // 二维码扫描成功
         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(/\r\n/g, '');
            wo.evalJS("scaned('" + type + "','" + result + "','" + file + "');");
            back();
         }
         // 创建子窗口
         var view = null;
         function createSubview() {
            view = new plus.nativeObj.View('nbutton', {
               bottom: '20px',
               left: '30%',
               width: '40%',
               height: '44px'
            }, [{
               tag: 'rect',
               id: 'rect',
               rectStyles: {
                  radius: '8px',
                  color: 'rgba(255,0,0,0.8)'
               }
            }, {
               tag: 'font',
               id: 'text',
               text: '暂 停',
               textStyles: {
                  color: '#FFFFFF'
               }
            }]);
            // 处理事件
            view.addEventListener('click', function(e) {
               switchScan();
            }, false);
            view.addEventListener('touchstart', function(e) {
               view.drawRect({
                  radius: '8px',
                  color: 'rgba(255,0,0,0.5)'
               }, {}, 'rect');
            }, false);
            view.addEventListener('touchend', function(e) {
               view.drawRect({
                  radius: '8px',
                  color: 'rgba(255,0,0,0.8)'
               }, {}, 'rect');
            }, false);
            ws.append(view);
         }
         // 开关闪光灯
         var bFlash = false;
         var AVCaptureDevice = null;
         var Camera = null;
         function switchFlash() {
            bFlash = !bFlash;
            scan.setFlash(bFlash);
            ws.setStyle({
               titleNView: {
                  buttons: [{
                     fontSrc: '_www/helloh5.ttf',
                     text: (bFlash ? '\ue400' : '\ue401'),
                     fontSize: '18px',
                     onclick: 'javascript:switchFlash()'
                  }]
               }
            });
         }
         // 切换扫描
         var bScan = false;
         function switchScan() {
            if (bScan) {
               scan.start({
                  conserve: true,
                  filename: '_doc/barcode/'
               });
               view && (view.drawText('暂 停', {}, {
                  color: '#FFFFFF'
               }, 'text'));
            } else {
               scan.cancel();
               view && (view.drawText('开 始', {}, {
                  color: '#FFFFFF'
               }, 'text'));
            }
            bScan = !bScan;
         }
      </script>
      <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8"/>
      <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: 0px;
   text-align: center;
}
.tip {
   color: #FFFFFF;
   font-weight: bold;
   text-shadow: 0px -1px #103E5C;
}
         #bcid {
            width: 100%;
            position: absolute;
            top: 0px;
            bottom: 0px;
            text-align: center;
         }
         .tip {
            color: #FFFFFF;
            font-weight: bold;
            text-shadow: 0px -1px #103E5C;
         }
      </style>
   </head>
   <body style="background-color:#000000;">