UNPKG

tplus-pos

Version:

pos module

355 lines (286 loc) 12.2 kB
'use strict'; 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