| var app = { |
| |
| // Application Constructor |
| initialize: function() { |
| document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); |
| }, |
| |
| onDeviceReady: function() { |
| console.log(2); |
| if (typeof(QRScanner) != 'undefined') { |
| //初始化检测,申请摄像头等权限 |
| console.log(1); |
| QRScanner.destroy(); |
| QRScanner.prepare(onDone); // show the prompt |
| } else { |
| $.alert('插件加载失败'); |
| } |
| //showRet("http://ykt.supwisdom.com:9116/epay/wxpage/index") |
| function onDone(err, status) { |
| if (err) { |
| console.log(err); |
| $.alert('启动扫描出错:' + JSON.stringify(err), '提示'); |
| } |
| if (status.authorized) { |
| //绑定扫描监听 |
| // `QRScanner.cancelScan()` is called. |
| QRScanner.scan(displayContents); |
| |
| function displayContents(err, text) { |
| if (err) { |
| // an error occurred, or the scan was canceled (error code `6`) |
| $.alert('扫描出错,请稍后再试:' + JSON.stringify(err), '提示'); |
| } else { |
| // The scan completed, display the contents of the QR code: |
| QRScanner.destroy(); |
| $.alert(text, '提示'); |
| showRet(text); |
| } |
| } |
| //开始扫描,需要将页面的背景设置成透明 |
| QRScanner.show(); |
| console.log("QRScanner.scan"); |
| } else if (status.denied) { |
| // The video preview will remain black, and scanning is disabled. We can |
| // try to ask the user to change their mind, but we'll have to send them |
| // to their device settings with `QRScanner.openSettings()`. |
| $.alert('无法请求道相机权限,请在设置中开启', '提示'); |
| } else { |
| // we didn't get permission, but we didn't get permanently denied. (On |
| // Android, a denial isn't permanent unless the user checks the "Don't |
| // ask again" box.) We can ask again at the next relevant opportunity. |
| $.alert('无法请求道相机权限,请在设置中开启', '提示'); |
| } |
| } |
| this.receivedEvent() |
| }, |
| receivedEvent: function() { |
| var light = false; |
| $('#lightBtn').click(function() { |
| if (light) { |
| QRScanner.enableLight(); |
| } else { |
| QRScanner.disableLight(); |
| } |
| light = !light; |
| }); |
| }, |
| goPage: function() { |
| QRScanner.destroy(); |
| window.location = "main.html" |
| } |
| }; |
| app.initialize(); |
| var inAppBrowserRef; |
| function showRet(url) { |
| if(isEmpty(url)){ |
| return; |
| } |
| var userid = window.localStorage.getItem("userid"); |
| if(url.indexOf("?")>0){ |
| url=url+'&userid='+userid; |
| }else{ |
| url=url+'?userid='+userid; |
| } |
| console.log(url) |
| inAppBrowserRef = cordova.ThemeableBrowser.open(url, '_blank', { |
| statusbar: { |
| color: '#03a9f4ff' |
| }, |
| toolbar: { |
| height: 44, |
| color: '#03a9f4ff' |
| }, |
| title: { |
| color: '#ffffffff', |
| showPageTitle: true |
| }, |
| backButton: { |
| image: 'back.png', |
| imagePressed: 'back.png', |
| align: 'left', |
| event: 'backPressed' |
| }, |
| closeButton: { |
| image: 'close.png', |
| imagePressed: 'close.png', |
| align: 'left', |
| event: 'closePressed' |
| }, |
| backButtonCanClose: true |
| }).addEventListener('backPressed', function(e) { |
| //alert('back pressed'); |
| }).addEventListener('closePressed', function(e) { |
| //alert('closePressed pressed'); |
| inAppBrowserRef.close(); |
| window.location = "main.html" |
| }).addEventListener(cordova.ThemeableBrowser.EVT_ERR, function(e) { |
| console.error(e.message); |
| }).addEventListener(cordova.ThemeableBrowser.EVT_WRN, function(e) { |
| console.log(e.message); |
| }); |
| inAppBrowserRef.addEventListener('loadstart', loadStartCallBack); |
| inAppBrowserRef.addEventListener('beforeload', beforeloadCallBack); |
| } |
| function loadStartCallBack(params,callback) { |
| console.log("1",params.url); |
| } |
| function beforeloadCallBack(params,callback) { |
| console.log("2",params.url); |
| } |