fastlion-amis
Version:
一种MIS页面生成工具
132 lines (131 loc) • 6.29 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDestoryResult = exports.getModifyResult = exports.transportEpcList = exports.RFIDTrigeerCodeEnum = exports.RFIDTrigeerEnum = exports.windowRFIDTriger = void 0;
var helper_1 = require("./helper");
var shell_1 = require("./shell");
var lodash_1 = require("lodash");
// 从epc中获取 sku god_id 并格式化
var transportEpcList = function (epcList) { return epcList.map(function (_) {
var sku = _.slice(0, 8);
var god_id = _.slice(0, 6);
return { epc: _, sku: sku.endsWith('FF') ? god_id : sku, god_id: god_id };
}); };
exports.transportEpcList = transportEpcList;
// 获取改写状态为的方法
var getModifyResult = function (epcList, status) { return new Promise(function (res, rej) {
console.log('开始写入', JSON.stringify(epcList), JSON.stringify(status));
if ((0, helper_1.isMobile)()) {
shell_1.Shell.UHFModify(epcList, status, function (result) {
var failList = result.data.failList;
res({ data: { failList: failList } });
});
}
else {
shell_1.Shell.UHFModify(epcList, status, function (openRes) {
if (openRes)
setTimeout(function () {
// 5s以后根据回调获取返回值
shell_1.Shell.UHFStopModify(function (result) {
var _a;
// 一个成功的一个失败的
var failList = ((_a = result.data) === null || _a === void 0 ? void 0 : _a.failList) || result.detail.failList;
console.log(result, failList);
res({ data: { failList: failList } });
});
}, 5000);
else {
res('打开改写失败');
}
});
}
}); };
exports.getModifyResult = getModifyResult;
// 获取改写状态为的方法
var getDestoryResult = function (epcList) { return new Promise(function (res, rej) {
console.log('开始写入', JSON.stringify(epcList), JSON.stringify(status));
shell_1.Shell.UHFKillTags(epcList, function (result) {
var epcList = result.data.epcList;
res({ data: { epcList: epcList } });
});
}); };
exports.getDestoryResult = getDestoryResult;
// 扳机事件
var RFIDTrigeerEnum;
(function (RFIDTrigeerEnum) {
RFIDTrigeerEnum[RFIDTrigeerEnum["TRIGGERHOLD"] = 0] = "TRIGGERHOLD";
RFIDTrigeerEnum[RFIDTrigeerEnum["TRIGGERCLICK"] = 1] = "TRIGGERCLICK";
RFIDTrigeerEnum[RFIDTrigeerEnum["TRIGGERDOUBLECLICK"] = 2] = "TRIGGERDOUBLECLICK";
})(RFIDTrigeerEnum || (RFIDTrigeerEnum = {}));
exports.RFIDTrigeerEnum = RFIDTrigeerEnum;
var RFIDTrigeerCodeEnum;
(function (RFIDTrigeerCodeEnum) {
RFIDTrigeerCodeEnum["TRIGGERHOLD"] = "triggerHold";
RFIDTrigeerCodeEnum["TRIGGERCLICK"] = "triggerClick";
RFIDTrigeerCodeEnum["TRIGGERDOUBLECLICK"] = "triggerDoubleClick";
})(RFIDTrigeerCodeEnum || (RFIDTrigeerCodeEnum = {}));
exports.RFIDTrigeerCodeEnum = RFIDTrigeerCodeEnum;
var WindowRFIDTrigerClass = /** @class */ (function () {
function WindowRFIDTrigerClass() {
var _a;
var _this = this;
this.eventQuque = (_a = {},
_a[RFIDTrigeerCodeEnum.TRIGGERHOLD] = [],
_a[RFIDTrigeerCodeEnum.TRIGGERCLICK] = [],
_a[RFIDTrigeerCodeEnum.TRIGGERDOUBLECLICK] = [],
_a);
// act触发中标识
this.onAct = false;
// rfid设备调用中的标识, 防止你打开了一个弹窗在进行操作 使用按钮打开了另一个弹窗
this.onRfidAct = false;
// 增加监听
this.addEventListener = function (type, res) {
var _a, _b;
if (type && !_this.eventQuque[type])
_this.eventQuque[type] = [];
(_b = (_a = _this.eventQuque[type]) === null || _a === void 0 ? void 0 : _a.push) === null || _b === void 0 ? void 0 : _b.call(_a, res);
};
// 移除监听
this.removeEventListener = function (type, res) {
var _a;
var index = (_a = _this.eventQuque[type]) === null || _a === void 0 ? void 0 : _a.indexOf(res);
if (index >= 0)
_this.eventQuque[type].splice(index, 1);
};
// 触发对应的最后一个事件
this.actEvent = function (_a) {
// 防止重复触发
var _b, _c, _d, _e, _f, _g, _h;
var type = _a.type;
if (_this.onAct)
return;
_this.onAct = true;
switch (type) {
// 因为执行的code和
// 单击
case RFIDTrigeerEnum.TRIGGERCLICK:
(_c = (_b = _this.eventQuque[RFIDTrigeerCodeEnum.TRIGGERCLICK])[_this.eventQuque[RFIDTrigeerCodeEnum.TRIGGERCLICK].length - 1]) === null || _c === void 0 ? void 0 : _c.call(_b, {});
break;
// 双击
case RFIDTrigeerEnum.TRIGGERDOUBLECLICK:
(_e = (_d = _this.eventQuque[RFIDTrigeerCodeEnum.TRIGGERDOUBLECLICK])[_this.eventQuque[RFIDTrigeerCodeEnum.TRIGGERDOUBLECLICK].length - 1]) === null || _e === void 0 ? void 0 : _e.call(_d, {});
break;
// 按住
case RFIDTrigeerEnum.TRIGGERHOLD:
(_g = (_f = _this.eventQuque[RFIDTrigeerCodeEnum.TRIGGERHOLD])[_this.eventQuque[RFIDTrigeerCodeEnum.TRIGGERHOLD].length - 1]) === null || _g === void 0 ? void 0 : _g.call(_f, {});
break;
default:
// 事件触发的方式注册的
var eventQuque = _this.eventQuque[type];
(_h = (0, lodash_1.last)(eventQuque)) === null || _h === void 0 ? void 0 : _h({});
break;
}
_this.onAct = false;
};
}
return WindowRFIDTrigerClass;
}());
var windowRFIDTriger = new WindowRFIDTrigerClass();
exports.windowRFIDTriger = windowRFIDTriger;
// 注册回调
window['onDeviceEvent'] = windowRFIDTriger.actEvent;
//# sourceMappingURL=./utils/RfidUtil.js.map
;