UNPKG

qm-bus

Version:

千米公有云业务组件库

127 lines (104 loc) 5.15 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _QMConst2 = require('qm-ux/lib/QMConst'); var _QMConst3 = _interopRequireDefault(_QMConst2); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _class, _temp; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var object = _propTypes2.default.object, array = _propTypes2.default.array; var noop = function noop() { return undefined; }; var Qrcode = (_temp = _class = function (_Component) { _inherits(Qrcode, _Component); function Qrcode() { _classCallCheck(this, Qrcode); return _possibleConstructorReturn(this, (Qrcode.__proto__ || Object.getPrototypeOf(Qrcode)).apply(this, arguments)); } _createClass(Qrcode, [{ key: 'componentWillMount', value: function componentWillMount() {} }, { key: 'createQrcode', value: function createQrcode() { var target = ''; var _context = this.context, _context$user = _context.user, user = _context$user === undefined ? {} : _context$user, _context$menu = _context.menu, menu = _context$menu === undefined ? {} : _context$menu, _context$role = _context.role, role = _context$role === undefined ? {} : _context$role, _context$route = _context.route, route = _context$route === undefined ? {} : _context$route; var _scene = user.sceneName || ''; switch (_scene) { case 'onlineDistribution': _scene = '云订货'; break; case 'o2o': _scene = '连锁总部'; break; case 'onlineMall': _scene = '云商城'; break; case 'communityStore': _scene = '社区店'; break; default: _scene = ''; } var _menu = (menu || {}).name || ''; if (!_menu) { var _name = route.name || ''; _menu = _name || ''; } var _role = role.name || ''; var userId = user.adminId || ''; var employee = user.employee ? user.optId : ''; var message = this.props['data-gh-name']; var category = _scene + '-' + _role + '-' + _menu; var origin = encodeURIComponent(this.props.url); if (this.props.gh) { target = _QMConst3.default.HOST['v_app_api'] + ('/gh_qrcode.html?url=' + origin + '&u=' + userId + '&tag=' + message + '&e=' + employee + '&cate=' + category); } else { target = this.props.url; } var _logo = encodeURIComponent(this.props.logo || ''); if (/^\/\//g.test(target)) { target = location.protocol + target; } var _target = encodeURIComponent(target); return _QMConst3.default.HOST['v_app_api'] + ('/api/common/qrcode?origin=' + _target + '&logo=' + _logo + '&shortUrl=' + (this.props.short || false)); } }, { key: 'render', value: function render() { return _react2.default.createElement('img', _extends({ src: this.createQrcode() }, this.props)); } }]); return Qrcode; }(_react.Component), _class.defaultProps = { url: '', logo: '', short: false, gh: true }, _temp); exports.default = Qrcode; Qrcode.contextTypes = { role: object, menu: object, user: object };