UNPKG

qm-bus

Version:

千米公有云业务组件库

109 lines (99 loc) 3.62 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _gh = require('./gh'); var _gh2 = _interopRequireDefault(_gh); var _objectAssign = require('object-assign'); var _objectAssign2 = _interopRequireDefault(_objectAssign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } window.GH_CONFIG = { GA_ID: 'UA-62751334-4', UMENG_ID: '1272783702' }; var GH_MODULE = null; if (window.GH_MODULE) { GH_MODULE = window.GH_MODULE; } else { GH_MODULE = {}; window.GH_MODULE = GH_MODULE; var ghConfig = window.GH_CONFIG || {}; _gh2.default.init({ ga: ghConfig.GA_ID, umeng: ghConfig.UMENG_ID }); var searchNode = function searchNode(target) { if (target == document || target == window) { return null; } if (target.hasAttribute && target.hasAttribute('data-gh-name')) { return target; } else { return searchNode(target.parentNode); } }; var getLocation = function getLocation(url) { if (url) { var _idx = url.indexOf('#'); if (_idx > -1 && _idx != url.length - 1 && url[_idx + 1] != '?') { return url.split('?')[0]; } else { return url; } } return ''; }; var collect = function collect(e, content) { var reactContext = window.getReactContext ? window.getReactContext() || {} : {}; var scene = reactContext.user ? reactContext.user.sceneName : ''; var sceneEnumer = { onlineDistribution: '云订货', onlineMall: '云商城', communityStore: '社区店', cloudShop: '云小店', o2o: '连锁总部', cloudOrder: '云采购', wholeSelling: '全员开店', talentShop: '千米达人' }; scene = sceneEnumer[scene] || ''; var menu = reactContext.currentMenu ? reactContext.currentMenu.name : ''; if (!menu) { var _name = reactContext.route ? reactContext.route.name : ''; menu = _name || ''; } var role = reactContext.role ? reactContext.role.name : ''; var message = content; var category = scene + '-' + role + '-' + menu; setTimeout(function () { _gh2.default.setEvent(category, e.type, message, '', e.target ? e.target.id : ''); if (typeof __DEV__ == 'boolean' && __DEV__) { console.log('\u8BB0\u5F55\u6570\u636E:category:' + category + ',message:' + message); } }, 0); }; var events = ['click', 'mouseover', 'focus']; events.forEach(function (event) { document.body['on' + event] = function (e) { var node = searchNode(e.target); if (node) { var _events = node.getAttribute('data-gh-event') || 'click'; if (_events && _events.indexOf(event) > -1) { collect(e, node.getAttribute('data-gh-name')); } } }; }); _gh2.default.setPageview((window.location.hash || '').replace(/^#/g, '')); window.onhashchange = function () { _gh2.default.setPageview((window.location.hash || '').replace(/^#/g, '')); }; GH_MODULE = (0, _objectAssign2.default)(GH_MODULE, _gh2.default); GH_MODULE.setEvent = function (e, content) { collect(e, content); }; GH_MODULE.decorator = function (msg) { return function (target, props, descriptor) { var origin = descriptor.initializer; descriptor.initializer = new Function('origin', 'collect', 'msg', 'return function(){return function(){' + 'origin.call(this).apply(this,arguments);var e = arguments[arguments.length-1];' + 'if(e.nativeEvent){e=e.nativeEvent;}if(e instanceof Event){collect(e,msg)}}}')(origin, collect, msg); }; }; } exports.default = GH_MODULE;