UNPKG

gisq-hb-file-lib

Version:

```

161 lines (145 loc) 4.74 kB
var GisqPosHbLib=(function(){ function posLib(options){ var options=options||{}; this.options=options; } posLib.prototype.PermissionCheck=function(permission){ if (this.Build.VERSION.SDK_INT >= 23) { if (this.MainActivity.checkSelfPermission(permission) == -1) { return false; } } return true; } posLib.prototype.PermissionChecks=function(Arr){ var HasPermission = true; for (var index in Arr) { var permission = Arr[index]; //如果此处没有权限,则是用户拒绝了 if (!this.PermissionCheck(permission)) { HasPermission = false; break; } } return HasPermission; } posLib.prototype.PermissionRequest=function(Arr){ var REQUEST_CODE_CONTACT = 101; if (this.Build.VERSION.SDK_INT >= 23) { this.MainActivity.requestPermissions(Arr, REQUEST_CODE_CONTACT); } } posLib.prototype.init=function(){ console.log(JSON.stringify(this.options)); console.log("ddd"+typeof(plus)) if(typeof(plus)=="undefined") return; if ( typeof(plus)=="undefined" ) { //errorCallback("请先创建下载任务!"); throw "not hbuild env!"; return; } if(!this.options){ this.options=new Object(); } this.options.Build = plus.android.importClass("android.os.Build"); this.options.Manifest = plus.android.importClass("android.Manifest"); this.options.MainActivity = plus.android.runtimeMainActivity(); //var context=main.getApplicationContext(); //未用到,在此仅供参考 this.options.ArrPermissions = [ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA ]; /* //如果没有权限,则申请 if (!this.PermissionChecks(ArrPermissions)) { this.PermissionRequest(ArrPermissions); } else { //如果拥有权限,那么干点啥吧^_^ //....... } */ readyCallback(); } posLib.prototype.scanQr=function(data,callback){ if ( typeof(plus)=="undefined" ) { //errorCallback("请先创建下载任务!"); throw "not hbuild env!"; return; } var _this=this; /* var msgCallBack = plus.android.implements( "com.zjzs.gisq.pos.MsgCallBack", { "callback":function( msg ){ console.log( "callback msg: "+msg ); // 输出“Invoked Object’s name: Tester” callback(msg); } }); */ try{ /* if(!!this.GisqScanQr==false){ var GisqScanQr = plus.android.importClass("com.zjzs.gisq.pos.biz.GisqQr"); this.GisqScanQr=GisqScanQr; var scanQrObj=new GisqScanQr(main,msgCallBack); this.scanQrObj=scanQrObj; } */ var Intent = plus.android.importClass("android.content.Intent"); var intent = new Intent("com.summi.scan"); //intent.setClassName(main, PreviewActivity.class); intent.setPackage("com.sunmi.sunmiqrcodescanner"); //intent.putExtra("rtspUrl",url); this.options.MainActivity.onActivityResult = function(requestCode, resultCode, data) { if(100 == requestCode) { alert("scan success"+JSON.stringify(data)); callback(data); } }; this.options.MainActivity.startActivityForResult(intent, 100); }catch(e){ alert("自定义基座打包才能调用"); } } posLib.prototype.print=function(data,callback){ if ( typeof(plus)=="undefined" ) { //errorCallback("请先创建下载任务!"); throw "not hbuild env!"; return; } var _this=this; alert(1) var msgCallBack = plus.android.implements( "com.zjzs.gisq.pos.callback.MsgCallBack", { "callback":function( msg ){ console.log( "callback msg: "+msg ); // 输出“Invoked Object’s name: Tester” } }); alert(2) try{ if((!!this.options.GisqPrint)==false){ alert(3) var MainActivity = plus.android.runtimeMainActivity(); this.options.MainActivity=MainActivity; var GisqPrint = plus.android.importClass("com.zjzs.gisq.pos.biz.PrintHelper"); alert(3.1) this.options.GisqPrint=GisqPrint; alert(3.11) var printObj=new GisqPrint(this.options.MainActivity,msgCallBack); alert(3.2) this.options.printObj=printObj; alert(4) } alert(5) //var intent = new Intent(main,PreviewActivity.class); //intent.setClassName(main, PreviewActivity.class); //intent.putExtra("rtspUrl",url); this.options.printObj.print("","666666"); }catch(e){ alert("自定义基座打包才能调用"+JSON.stringify(e)); } } posLib.prototype.ready=function(readyCallback){ this.readyCallback=readyCallback; alert(window.plus); if (window.plus) { this.init(); } else { document.addEventListener('plusready', this.init, false); } } return posLib; })(); export default GisqPosHbLib;