gisq-hb-file-lib
Version:
```
161 lines (145 loc) • 4.74 kB
JavaScript
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;