UNPKG

gisq-hb-sumipos-lib

Version:

## Project setup ``` npm install ```

255 lines (204 loc) 9.12 kB
(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 }); }));