{"version":3,"file":"/m/all/js/libs/alloy-lever.js.map","sources":["/m/all/js/libs/alloy-lever.js"],"sourcesContent":["/*!\r\n * AlloyLever v1.0.4 By dntzhang\r\n * Github: https://github.com/AlloyTeam/AlloyLever\r\n * MIT Licensed.\r\n */\r\n;(function (root, factory) {\r\n if(typeof exports === 'object' && typeof module === 'object')\r\n module.exports = factory()\r\n else if(typeof define === 'function' && define.amd)\r\n define([], factory)\r\n else if(typeof exports === 'object')\r\n exports[\"AlloyLever\"] = factory()\r\n else\r\n root[\"AlloyLever\"] = factory()\r\n})(this, function() {\r\n var AlloyLever = {}\r\n AlloyLever.settings = {\r\n cdn:'//s.url.cn/qqun/qun/qqweb/m/qun/confession/js/vconsole.min.js',\r\n reportUrl: null,\r\n reportPrefix: '',\r\n reportKey: 'msg',\r\n otherReport: null,\r\n entry: null\r\n }\r\n\r\n AlloyLever.store = []\r\n\r\n var methodList = ['log', 'info', 'warn', 'debug', 'error'];\r\n methodList.forEach(function(item) {\r\n var method = console[item];\r\n\r\n console[item] = function() {\r\n AlloyLever.store.push({\r\n logType: item,\r\n logs: arguments\r\n });\r\n\r\n method.apply(console, arguments);\r\n }\r\n });\r\n\r\n AlloyLever.logs = []\r\n AlloyLever.config = function(config){\r\n for(var i in config){\r\n if(config.hasOwnProperty(i)){\r\n AlloyLever.settings[i] = config[i]\r\n }\r\n }\r\n\r\n if(config.entry){\r\n window.addEventListener('load', function() {\r\n AlloyLever.entry(config.entry)\r\n })\r\n }\r\n\r\n var parameter = getParameter('vconsole')\r\n\r\n if(parameter) {\r\n if (parameter === 'show') {\r\n AlloyLever.vConsole(true)\r\n } else {\r\n AlloyLever.vConsole(false)\r\n }\r\n }\r\n }\r\n\r\n AlloyLever.vConsole = function(show){\r\n loadScript(AlloyLever.settings.cdn, function() {\r\n\r\n //support vconsole3.0\r\n if (typeof vConsole === 'undefined') {\r\n window.vConsole = new VConsole({\r\n defaultPlugins: ['system', 'network', 'element', 'storage'],\r\n maxLogNumber: 5000\r\n })\r\n }\r\n\r\n var i = 0,\r\n len = AlloyLever.store.length\r\n\r\n for (; i < len; i++) {\r\n var item = AlloyLever.store[i]\r\n //console[item.type].apply(console, item.logs)\r\n //prevent twice log\r\n item.noOrigin = true\r\n window.vConsole.pluginList.default.printLog(item)\r\n }\r\n\r\n if(show) {\r\n try {\r\n window.vConsole.show()\r\n } catch (e) {\r\n\r\n }\r\n\r\n window.addEventListener('load', function () {\r\n window.vConsole.show()\r\n })\r\n }\r\n })\r\n }\r\n\r\n var parameter = getParameter('vconsole')\r\n\r\n if (parameter) {\r\n if (parameter === 'show') {\r\n AlloyLever.vConsole(true)\r\n } else {\r\n AlloyLever.vConsole(false)\r\n }\r\n }\r\n\r\n\r\n AlloyLever.entry = function(selector) {\r\n var count = 0,\r\n entry = document.querySelector(selector)\r\n if(entry) {\r\n entry.addEventListener('click', function () {\r\n count++\r\n if (count > 5) {\r\n count = -10000\r\n AlloyLever.vConsole(true)\r\n }\r\n })\r\n }\r\n }\r\n /**\r\n * 监控资源加载错误(img,script,css,以及jsonp)\r\n *\r\n * 其中包括行列号,Error对象中存在错误的堆栈信息等。\r\n */\r\n window.addEventListener(\r\n \"error\",function(e){\r\n var target = e.target ? e.target : e.srcElement;\r\n if (!e.target.localName) {\r\n return;\r\n }\r\n var msg = e.target.localName + \" is load error\";\r\n var stack = \"resouce is not found\";\r\n var e_type = \"Resource\";\r\n var newMsg = JSON.stringify({\r\n tagName: e.target.localName,\r\n html: target.outerHTML,\r\n type: e.type,\r\n fileName: e.target.currentSrc,\r\n msg:msg,\r\n stack:stack\r\n });\r\n\r\n var ss = AlloyLever.settings\r\n if(ss.reportUrl) {\r\n var src = ss.reportUrl + (ss.reportUrl.indexOf('?')>-1?'&':'?') + ss.reportKey + '='+( ss.reportPrefix?('[' + ss.reportPrefix +']'):'')+ encodeURIComponent(newMsg)+'&t='+new Date().getTime()\r\n if(ss.otherReport) {\r\n for (var i in ss.otherReport) {\r\n if (ss.otherReport.hasOwnProperty(i)) {\r\n src += '&' + i + '=' + ss.otherReport[i]\r\n }\r\n }\r\n }\r\n new Image().src = src\r\n }\r\n },\r\n true\r\n );\r\n window.onerror = function(msg, url, line, col, error) {\r\n var newMsg = msg\r\n\r\n if (error && error.stack) {\r\n newMsg = processStackMsg(error)\r\n }\r\n\r\n if (isOBJByType(newMsg, \"Event\")) {\r\n newMsg += newMsg.type ?\r\n (\"--\" + newMsg.type + \"--\" + (newMsg.target ?\r\n (newMsg.target.tagName + \"::\" + newMsg.target.src) : \"\")) : \"\"\r\n }\r\n\r\n newMsg = (newMsg + \"\" || \"\").substr(0,500)\r\n\r\n AlloyLever.logs.push({\r\n msg: newMsg,\r\n target: url,\r\n rowNum: line,\r\n colNum: col\r\n })\r\n\r\n if (msg.toLowerCase().indexOf('script error') > -1) {\r\n console.error('Script Error: See Browser Console for Detail')\r\n } else {\r\n console.error(newMsg)\r\n }\r\n\r\n var ss = AlloyLever.settings\r\n if(ss.reportUrl) {\r\n var src = ss.reportUrl + (ss.reportUrl.indexOf('?')>-1?'&':'?') + ss.reportKey + '='+( ss.reportPrefix?('[' + ss.reportPrefix +']'):'')+ newMsg+'&t='+new Date().getTime()\r\n if(ss.otherReport) {\r\n for (var i in ss.otherReport) {\r\n if (ss.otherReport.hasOwnProperty(i)) {\r\n src += '&' + i + '=' + ss.otherReport[i]\r\n }\r\n }\r\n }\r\n new Image().src = src\r\n }\r\n }\r\n\r\n\r\n\r\n function loadScript(src, callback){\r\n var s,\r\n r,\r\n t\r\n r = false\r\n s = document.createElement('script')\r\n s.type = 'text/javascript'\r\n s.src = src\r\n s.onload = s.onreadystatechange = function() {\r\n //console.log( this.readyState ); //uncomment this line to see which ready states are called.\r\n if ( !r && (!this.readyState || this.readyState == 'complete') )\r\n {\r\n r = true\r\n callback()\r\n }\r\n }\r\n t = document.getElementsByTagName('script')[0]\r\n t.parentNode.insertBefore(s, t)\r\n }\r\n\r\n function getParameter(n) {\r\n var m = window.location.hash.match(new RegExp('(?:#|&)' + n + '=([^&]*)(&|$)')),\r\n result = !m ? '' : decodeURIComponent(m[1])\r\n return result ||getParameterByName(n)\r\n }\r\n\r\n function getParameterByName(name, url) {\r\n if (!url) url = window.location.href\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\")\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n results = regex.exec(url)\r\n if (!results) return null\r\n if (!results[2]) return ''\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"))\r\n }\r\n\r\n function isOBJByType(o, type) {\r\n return Object.prototype.toString.call(o) === \"[object \" + (type || \"Object\") + \"]\"\r\n }\r\n\r\n function processStackMsg (error) {\r\n var stack = error.stack\r\n .replace(/\\n/gi, \"\")\r\n .split(/\\bat\\b/)\r\n .slice(0, 9)\r\n .join(\"@\")\r\n .replace(/\\?[^:]+/gi, \"\")\r\n var msg = error.toString()\r\n if (stack.indexOf(msg) < 0) {\r\n stack = msg + \"@\" + stack\r\n }\r\n return stack\r\n }\r\n\r\n function getCookie(name){\r\n var arr,reg=new RegExp(\"(^| )\"+name+\"=([^;]*)(;|$)\")\r\n\r\n if(arr=document.cookie.match(reg))\r\n return unescape(arr[2])\r\n else\r\n return null\r\n }\r\n\r\n AlloyLever.getCookie = getCookie\r\n AlloyLever.getParameter= getParameter\r\n AlloyLever.loadScript = loadScript\r\n\r\n return AlloyLever\r\n});\r\n"],"names":["root","factory","exports","module","define","amd","this","loadScript","src","callback","s","r","t","document","createElement","type","onload","onreadystatechange","readyState","getElementsByTagName","parentNode","insertBefore","getParameter","n","m","window","location","hash","match","RegExp","result","decodeURIComponent","getParameterByName","name","url","href","replace","regex","results","exec","isOBJByType","o","Object","prototype","toString","call","processStackMsg","error","stack","split","slice","join","msg","indexOf","getCookie","arr","reg","cookie","unescape","AlloyLever","settings","cdn","reportUrl","reportPrefix","reportKey","otherReport","entry","store","methodList","forEach","item","method","console","push","logType","logs","arguments","apply","config","i","hasOwnProperty","addEventListener","parameter","vConsole","show","VConsole","defaultPlugins","maxLogNumber","len","length","noOrigin","pluginList","default","printLog","e","selector","count","querySelector","target","srcElement","localName","newMsg","JSON","stringify","tagName","html","outerHTML","fileName","currentSrc","ss","encodeURIComponent","Date","getTime","Image","onerror","line","col","substr","rowNum","colNum","toLowerCase"],"mappings":"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"}