tplus-pos
Version:
pos module
355 lines (286 loc) • 12.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class, _temp;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _voucherHeader = require('./voucherHeader');
var _voucherHeader2 = _interopRequireDefault(_voucherHeader);
var _voucherBody = require('./voucherBody');
var _voucherBody2 = _interopRequireDefault(_voucherBody);
var _voucherMenuButtons = require('../voucherMenuButtons');
var _voucherMenuButtons2 = _interopRequireDefault(_voucherMenuButtons);
var _search = require('../product/search');
var _search2 = _interopRequireDefault(_search);
var _VoucherStateStore = require('../../pageStores/VoucherStateStore');
var _VoucherStateStore2 = _interopRequireDefault(_VoucherStateStore);
var _mutantsAppfx = require('mutants-appfx');
var _mutantsMicrofx = require('mutants-microfx');
var _tplusComponentsTouch = require('tplus-components-touch');
var _tplusPoslogin = require('tplus-poslogin');
require('./index.less');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Header = _tplusComponentsTouch.Layout.Header,
Footer = _tplusComponentsTouch.Layout.Footer,
Content = _tplusComponentsTouch.Layout.Content;
var VoucherPattern = (_temp = _class = function (_Component) {
(0, _inherits3.default)(VoucherPattern, _Component);
function VoucherPattern(props, context) {
var _this3 = this;
(0, _classCallCheck3.default)(this, VoucherPattern);
var _this2 = (0, _possibleConstructorReturn3.default)(this, (VoucherPattern.__proto__ || (0, _getPrototypeOf2.default)(VoucherPattern)).call(this, props, context));
_this2.socketAuthInit = function () {
if (_this2.willUnmount) return;
_this2.socketAuth(function (res) {
var data = res.data;
_this2.createSocket(data);
}, function (err) {
// 授权失败
setTimeout(function () {
_this2.socketAuthInit();
}, 10000);
console.log(err);
});
};
_this2.createSocket = function (token) {
var _this = _this2;
var sendMessage = function sendMessage(connection) {
connection.send.apply(connection, ['JoinGroup'].concat((0, _toConsumableArray3.default)(_this2.signalRParam)));
};
var onMessage = function onMessage(connection) {
connection.on('ReceiveMessage', function (msg) {
_this.sendNewMessage(msg);
});
if (_this.openFaceRecognition) _this.sendNewMessage({ MessageSource: 1 });
};
_this2.socket = new _tplusComponentsTouch.Socket({
host: _this2.SignalRServerHost,
path: '/reconovaHub',
token: token,
connected: function connected(connection) {
console.log('连接成功', _this2.socket);
sendMessage(connection);
onMessage(connection);
},
reconnect: function reconnect() {
if (!_this2.socket) return;
console.log('触发重连');
_this2.socketReAuth();
}
});
};
_this2.socketAuth = function (success, error) {
_tplusComponentsTouch.Socket.socketAuth().then(function (res) {
return success && success(res);
}).catch(function (err) {
return error && error(err);
});
};
_this2.socketReAuth = function () {
if (_this2.willUnmount) return;
_this2.socketAuth(function (res) {
var data = res.data;
_this2.socket.updateConfig({ token: data }, true);
}, function (err) {
// 未授权
console.log(err);
setTimeout(function () {
_this2.socketReAuth();
}, 10000);
});
};
_this2.sendNewMessage = function (msg) {
console.log("socket推送消息:", msg);
var ret = typeof msg == 'string' ? JSON.parse(msg) : msg;
var _ref = ret || {},
MessageSource = _ref.MessageSource,
MessageType = _ref.MessageType,
RetailId = _ref.RetailId;
if (MessageSource == 0) {
//--美团
//练习模式下、非主POS,不在处理美团推送消息。
if (_VoucherStateStore2.default.mode == 'practice' || _this2.isControlMeiTuan || !(_this2.isECommerce == true && _this2.isMain == true)) return;
switch (MessageType) {
case 0:
//--新订单
_this2.doMtNotification(1);
_this2.controllerEvent('printMtRetail', { ID: RetailId });
break;
case 1:case 2:case 7:
//--取消订单--订单退款--部分退款
_this2.doMtNotification(2);
break;
case 3:
//--商家确认
break;
case 4:
//--订单完成
break;
case 5:
//--订单配送状态
break;
}
} else if (MessageSource == 1) {
//--人脸识别
_this2.setState({ isSendMessage: true });
}
};
_this2.doMtNotification = function () {
var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(type) {
var that;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
that = _this2;
_this2.controllerEvent('doEcommerceUnSeedsCountEvent', {
fn: function fn() {
var num = _mutantsMicrofx.localStore.get('ecommerceUnSeedsCount');
_this2.notification.show(num, type, function () {
that.controllerEvent('siderLeftdelivery');
});
}
});
case 2:
case 'end':
return _context.stop();
}
}
}, _callee, _this3);
}));
return function (_x) {
return _ref2.apply(this, arguments);
};
}();
_this2.controllerEvent = function (methodName, methodArgs) {
_this2.context.onEvent({ 'controllerEvent': _mutantsAppfx.Action.fromJS(_this2.context.viewModel, methodName) }, 'controllerEvent', methodArgs);
};
_this2.state = {
isSendMessage: false
};
var _ref3 = _mutantsMicrofx.localStore.get('user') || {},
_ref3$loginInfo = _ref3.loginInfo;
_ref3$loginInfo = _ref3$loginInfo === undefined ? {} : _ref3$loginInfo;
var OpenFaceRecognition = _ref3$loginInfo.OpenFaceRecognition,
_ref3$loginInfo$enter = _ref3$loginInfo.enterpriseUniqId,
enterpriseUniqId = _ref3$loginInfo$enter === undefined ? '' : _ref3$loginInfo$enter,
_ref3$loginInfo$store = _ref3$loginInfo.storeID,
storeID = _ref3$loginInfo$store === undefined ? '' : _ref3$loginInfo$store,
_ref3$loginInfo$PosId = _ref3$loginInfo.PosId,
PosId = _ref3$loginInfo$PosId === undefined ? '' : _ref3$loginInfo$PosId,
SignalRServerHost = _ref3$loginInfo.SignalRServerHost,
_ref3$loginInfo$EComm = _ref3$loginInfo.ECommerce,
ECommerce = _ref3$loginInfo$EComm === undefined ? false : _ref3$loginInfo$EComm,
_ref3$loginInfo$IsMai = _ref3$loginInfo.IsMain,
IsMain = _ref3$loginInfo$IsMai === undefined ? false : _ref3$loginInfo$IsMai,
_ref3$loginInfo$Contr = _ref3$loginInfo.ControlMeiTuan,
ControlMeiTuan = _ref3$loginInfo$Contr === undefined ? false : _ref3$loginInfo$Contr,
_ref3$loginInfo$isEna = _ref3$loginInfo.isEnableMember,
isEnableMember = _ref3$loginInfo$isEna === undefined ? false : _ref3$loginInfo$isEna;
_this2.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用
_this2.signalRParam = [enterpriseUniqId, storeID, PosId];
_this2.SignalRServerHost = SignalRServerHost;
_this2.isECommerce = ECommerce; //电商
_this2.isMain = !!IsMain; //主POS
_this2.isEnableMember = !!isEnableMember;
_this2.isControlMeiTuan = !!ControlMeiTuan; //是否终止电商
_this2.notification = new _tplusComponentsTouch.Notification();
return _this2;
}
//建立socket连接
// 处理美团信息
(0, _createClass3.default)(VoucherPattern, [{
key: 'componentDidMount',
value: function componentDidMount() {
//开启人脸识别、美团配送
if (this.openFaceRecognition || this.isMain && this.isControlMeiTuan == false) {
this.socketAuthInit();
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this.willUnmount = true;
if (this.socket) {
this.socket.stop();
this.socket = null;
}
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
collapsed = _props.collapsed,
settlementParams = _props.settlementParams,
productParams = _props.productParams,
memberParams = _props.memberParams;
var isSendMessage = this.state.isSendMessage;
var isEnableMember = (0, _tplusPoslogin.PosInitData)('isEnableMember');
return _react2.default.createElement(
_tplusComponentsTouch.Layout,
{ className: 'VoucherPattern' },
_react2.default.createElement(
Header,
{ className: 'voucher-header' },
isEnableMember && _react2.default.createElement(
'div',
{ className: 'header_member' },
_react2.default.createElement(_voucherHeader2.default, (0, _extends3.default)({ isSendMessage: isSendMessage }, memberParams))
),
_react2.default.createElement(
'div',
{ className: 'header_search' },
_react2.default.createElement(_search2.default, (0, _extends3.default)({}, productParams, { controllerEvent: this.controllerEvent }))
)
),
_react2.default.createElement(
Content,
null,
_react2.default.createElement(_voucherBody2.default, { className: 'voucher-body' })
),
_react2.default.createElement(
Footer,
{ className: 'voucher-footer' },
_react2.default.createElement(
'div',
{ className: 'left' },
_react2.default.createElement(_voucherMenuButtons2.default, { collapsed: collapsed })
),
_react2.default.createElement(
'div',
{ className: 'right' },
_react2.default.createElement(_tplusComponentsTouch.Settlement, settlementParams)
)
)
);
}
}]);
return VoucherPattern;
}(_react.Component), _class.contextTypes = {
viewModel: _propTypes2.default.object,
onEvent: _propTypes2.default.func,
onAction: _propTypes2.default.func }, _temp);
exports.default = VoucherPattern;
//# sourceMappingURL=index.js.map