gisq-hb-sumipos-lib
Version:
## Project setup ``` npm install ```
255 lines (204 loc) • 9.12 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('core-js/modules/es.json.stringify.js')) :
typeof define === 'function' && define.amd ? define(['exports', 'core-js/modules/es.json.stringify.js'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.gisqHbPosUtil = {}));
})(this, (function (exports) { 'use strict';
function _typeof(obj) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, _typeof(obj);
}
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 === "undefined" ? "undefined" : _typeof(plus)));
if (typeof plus == "undefined") return;
if (typeof plus == "undefined") {
//errorCallback("请先创建下载任务!");
throw "not hbuild env!";
}
if (!this.options) {
this.options = new Object();
}
var BuildClass = plus.android.importClass("android.os.Build");
this.options.Build = BuildClass;
var BundleClass = plus.android.importClass("android.os.Bundle");
this.options.Bundle = BundleClass;
var ArrayListClass = plus.android.importClass("java.util.ArrayList");
this.options.ArrayList = ArrayListClass;
var HashMapClass = plus.android.importClass("java.util.HashMap");
this.options.HashMap = HashMapClass; //this.options.Manifest = plus.android.importClass("android.Manifest");
var MainActivityClass = plus.android.runtimeMainActivity();
this.options.MainActivity = MainActivityClass; //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 { //如果拥有权限,那么干点啥吧^_^
//.......
} */
if (this.options.Build.VERSION.SDK_INT >= 23) {
this.plusPermissionCheck(['android.permission.ACCESS_FINE_LOCATION', 'android.permission.CAMERA', 'android.permission.BLUETOOTH']);
} else {
this.readyCallback();
} //
};
posLib.prototype.scanQr = function (callback) {
if (typeof plus == "undefined") {
throw "not hbuild env!";
}
/* 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) {
var bundle = data.getExtras(); //type==this.options.Bundle
var result = bundle.getSerializable("data");
var ans = [];
for (var i = 0; i < result.size(); i++) {
console.log(11);
var map = result.get(i);
console.log(JSON.stringify(map.get("TYPE")));
ans.push(map.get("VALUE"));
}
callback(ans);
}
};
this.options.MainActivity.startActivityForResult(intent, 100);
} catch (e) {
alert("自定义基座打包才能调用");
}
};
posLib.prototype.print = function (set, data, callback) {
if (typeof plus == "undefined") {
//errorCallback("请先创建下载任务!");
throw "not hbuild env!";
}
var msgCallBack = plus.android["implements"]("com.zjzs.gisq.pos.callback.MsgCallBack", {
"callback": function callback(msg) {
console.log("callback msg: " + msg); // 输出“Invoked Object’s name: Tester”
}
});
try {
if (!!this.options.GisqPrint == false) {
var MainActivity = plus.android.runtimeMainActivity();
this.options.MainActivity = MainActivity;
var GisqPrint = plus.android.importClass("com.zjzs.gisq.pos.biz.PrintHelper");
this.options.GisqPrint = GisqPrint;
var printObj = new GisqPrint(this.options.MainActivity, msgCallBack);
this.options.printObj = printObj;
} //var intent = new Intent(main,PreviewActivity.class);
//intent.setClassName(main, PreviewActivity.class);
//intent.putExtra("rtspUrl",url);
this.options.printObj.print(set, data);
} catch (e) {
alert("自定义基座打包才能调用" + JSON.stringify(e));
}
};
posLib.prototype.getDeviceInfo = function (callback) {
console.log("call getDeviceInfo success");
if (!!callback) {
plus.device.getInfo({
success: function success(e) {
callback(e);
},
fail: function fail(e) {
callback(e);
}
});
}
};
posLib.prototype.ready = function (readyCallback) {
this.readyCallback = readyCallback; //alert(window.plus);
if (window.plus) {
this.init();
} else {
document.addEventListener('plusready', this.init, false);
}
};
posLib.prototype.plusPermissionCheck = function (permission) {
//permission=['android.permission.ACCESS_FINE_LOCATION',android.permission.CAMERA]
var _this = this;
plus.android.requestPermissions(permission, function (resultObj) {
for (var i = 0; i < resultObj.granted.length; i++) {
var grantedPermission = resultObj.granted[i];
console.log('已获取的权限:' + grantedPermission);
}
for (var i = 0; i < resultObj.deniedPresent.length; i++) {
var deniedPresentPermission = resultObj.deniedPresent[i];
console.log('拒绝本次申请的权限:' + deniedPresentPermission);
}
for (var i = 0; i < resultObj.deniedAlways.length; i++) {
var deniedAlwaysPermission = resultObj.deniedAlways[i];
console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
} // 若所需权限被永久拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限
if (resultObj.deniedAlways.length > 0) {
var Intent = plus.android.importClass("android.content.Intent");
var Settings = plus.android.importClass("android.provider.Settings");
var Uri = plus.android.importClass("android.net.Uri");
var mainActivity = plus.android.runtimeMainActivity();
var intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
intent.setData(uri);
mainActivity.startActivity(intent);
}
_this.readyCallback();
}, function (e) {
console.log('Request Permissions error:' + JSON.stringify(e));
});
};
return posLib;
}();
exports.GisqPosHbLib = GisqPosHbLib;
Object.defineProperty(exports, '__esModule', { value: true });
}));