123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <!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"/>
- <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);
- // 二维码扫描成功
- 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"/>
- <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;
- }
- </style>
- </head>
- <body style="background-color:#000000;">
- <div id="bcid">
- <div style="height:40%"></div>
- <p class="tip">...载入中...</p>
- </div>
- </body>
- </html>
|