UNPKG

vconsole-helper

Version:
2 lines (1 loc) 14 kB
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).vConsoleHelper={})}(this,(function(e){"use strict";var n={};Object.defineProperty(n,"__esModule",{value:!0}),n.insertHtml=function(e){var n,o=e.id,t=e.content,l=document.getElementById(o);null===(n=null==l?void 0:l.parentNode)||void 0===n||n.removeChild(l);var i=document.createElement("div");i.id=o,i.style.display="none",i.innerHTML=t,document.getElementsByTagName("body")[0].appendChild(i)};var o=n.insertStyle=function(e){var n,o=e.id,t=e.content,l=document.getElementById(o);null===(n=null==l?void 0:l.parentNode)||void 0===n||n.removeChild(l);var i=document.createElement("style");i.id=o,i.type="text/css",i.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(i)},t={},l={};Object.defineProperty(l,"__esModule",{value:!0});var i=function(e){var n,o=document.getElementsByTagName("script")[0];null===(n=null==o?void 0:o.parentNode)||void 0===n||n.insertBefore(e,o)};l.loader=function(e,n,o,t){var l;void 0===o&&(o="utf-8"),void 0===t&&(t=null),n&&"function"!=typeof n&&(t=n.context||t,l=n.setup,n=n.callback);var a,d,r=!1,c=function(){r||(r=!0,null==d||d(),n&&n.call(t,a))},s=function(){a=new Error(e||"EMPTY"),c()},u=document.querySelector('script[src="'.concat(e,'"]'));if(u)var v=setInterval((function(){u.isready&&(c(),clearInterval(v))}),20);else{var m=document.createElement("script");if(m.isready=!1,m.readyState&&!("async"in m)){var g={loaded:!0,complete:!0},p=!1;d=function(){m.onreadystatechange=null,m.onerror=null},m.onreadystatechange=function(){var e=m.readyState;if(!a){if(!p&&g[e]&&(p=!0,i(m)),"loaded"===e&&(m.children,"loading"===m.readyState))return s();"complete"===m.readyState&&(m.isready=!0,c())}},m.onerror=s,l&&l.call(t,m),m.src=e}else d=function(){m.onload=null,m.onerror=null},m.onerror=s,m.onload=function(){m.isready=!0,c()},m.async=!0,m.charset=o||"utf-8",l&&l.call(t,m),m.src=e,i(m)}},Object.defineProperty(t,"__esModule",{value:!0});var a=l;t.loadCSS=function(e){for(var n,o=!0,t=document.getElementsByTagName("link"),l=0;l<t.length;l++)(null===(n=t[l])||void 0===n?void 0:n.href)&&-1!==t[l].href.indexOf(e)&&(o=!1);if(o){var i=document.createElement("link");i.type="text/css",i.rel="stylesheet",i.href=e,document.getElementsByTagName("head")[0].appendChild(i)}};var d=t.loadJS=function(e){return new Promise((function(n){a.loader(e,(function(){n(1)}))}))};const r={build:"_vConsoleBuildInfo",commit:"_vConsoleCommitInfo"},c={LINE:"line",WRAP:"v-console-custom-tab",URL_INPUT_ID:"vConsolePluginInput",URL_JUMP_BUTTON:"vConsolePluginUrlJumpButton",GO_BACK_BUTTON:"vConsolePluginGoBackButton",PLUGIN_NAME_PREFIX:"__vc_plug_",PLUGIN_VERSION_NAME:"version_performance",PLUGIN_SIMPLE_VERSION_NAME:"simple_version"},s=`<div class="${c.LINE}"> </div>`,u={KEY:"vConsole_no_delay",VALUE:"1"},v=`\n.${c.WRAP} {\n padding: 12px 16px 30px;\n user-select: auto;\n}\n\n.${c.WRAP} .${c.LINE} {\n line-height: 20px;\n padding: 5px 0;\n color: var(--VC-PURPLE, #6467f0);\n word-break: break-all;\n user-select: auto;\n}\n\n.${c.WRAP} textarea {\n display: block;\n width: 100%;\n min-width: 0;\n padding: 0;\n color: #323233;\n line-height: inherit;\n text-align: left;\n background-color: transparent;\n resize: none;\n border: 1px solid #ddd;\n border-radius: 3px;\n margin-bottom: 10px;\n height: 60px;\n padding: 4px;\n line-height: 16px;\n font-size: 13px;\n user-select: auto;\n}\n\n.${c.WRAP} textarea:focus {\n outline: none;\n}\n\n.${c.WRAP} button {\n height: 30px;\n line-height: 1.2;\n text-align: center;\n border-radius: 2px;\n cursor: pointer;\n color: #fff;\n background-color: #07c160;\n border: 1px solid #07c160;\n font-size: 14px;\n padding: 0 12px;\n margin-right: 10px;\n}\n\n.vc-cmd,\n.vc-cmd-input {\n user-select: auto !important;\n}\n\n#${c.URL_INPUT_ID} {\n user-select: auto !important;\n}\n`,m={KEY:"tip_debug_cgi_env",PROD:"prod",TEST:"test"},g=[{key:"time",label:"Build Time"},{key:"author",label:"Build Author"},{key:"branch",label:"Build Branch"},{key:"netEnv",label:"Build Net Env"}],p=[{key:"message",label:"Last Commit Message"},{key:"author",label:"Last Commit Author"},{key:"date",label:"Last Commit Time"},{key:"hash",label:"Last Commit Hash"}],f="__AEGIS_PERFORMANCE",E=[{key:"dnsLookup",label:"Aegis DNS 查询"},{key:"tcp",label:"Aegis TCP 链接"},{key:"ttfb",label:"Aegis SSL 建连"},{key:"contentDownload",label:"Aegis contentDownload"},{key:"resourceDownload",label:"Aegis resourceDownload"},{key:"domParse",label:"Aegis DOM解析"},{key:"firstScreenTiming",label:"Aegis 首屏耗时"}];function h(){const e=new window.VConsole.VConsolePlugin("loadDelay","vConsole加载延迟"),n=`<div class="${c.WRAP}">\n <div class="${c.LINE}">当前状态:${window.sessionStorage.getItem(u.KEY)===u.VALUE?"已去掉延迟":"默认"}</div>\n </div>`;e.on("renderTab",(e=>{e(n)}));const o=[];return o.push({name:"去除延迟",global:!1,onClick(){sessionStorage.setItem(u.KEY,u.VALUE),console.log("已设置去除延迟,即将刷新页面......"),setTimeout((()=>{location.reload()}),1e3)}}),o.push({name:"恢复延迟",global:!1,onClick(){sessionStorage.removeItem(u.KEY),console.log("已设置恢复延迟,即将刷新页面......"),setTimeout((()=>{location.reload()}),1e3)}}),o.push({name:"刷新页面",global:!1,onClick(){window.location.reload()}}),e.on("addTool",(e=>{e(o)})),e}function w(){const e=new window.VConsole.VConsolePlugin("switchEnv","切换环境"),n=function(){const e=window.sessionStorage.getItem(m.KEY);return e===m.PROD?"正式":e===m.TEST?"测试":"默认"}(),o=`<div class="${c.WRAP}">\n<div class="${c.LINE}">当前环境:${n}</div>\n </div>`;return e.on("renderTab",(e=>{e(o)})),e.on("addTool",(e=>{const n=[];n.push({name:"测试环境",global:!1,onClick(){console.log("已切换为测试CGI,即将刷新页面......"),window.sessionStorage.setItem(m.KEY,m.TEST),setTimeout((()=>{location.reload()}),1e3)}}),n.push({name:"现网环境",global:!1,onClick(){console.log("已切换为正式CGI,即将刷新页面......"),window.sessionStorage.setItem(m.KEY,m.PROD),setTimeout((()=>{location.reload()}),1e3)}}),e(n)})),e}var y={};Object.defineProperty(y,"__esModule",{value:!0});var _=y.clipboardWeb=function(e){return new Promise((function(n,o){var t=document.getElementById("#clipboard");null==t||t.remove();var l=document.createElement("textarea");l.id="#clipboard",l.style.position="fixed",l.style.top="-9999px",l.style.zIndex="-9999",document.body.appendChild(l),l.value="".concat(e),l.select(),l.setSelectionRange(0,l.value.length);var i=document.execCommand("Copy",!1);l.blur(),i?n():o()}))};function I(e=""){const n=new window.VConsole.VConsolePlugin("feedback","反馈");n.on("init",(()=>{}));const o=window.location.href,t=navigator.userAgent,{cookie:l}=document,i=`<div class="${c.WRAP}">\n<div class="${c.LINE}">url:${o}</div>\n<div class="${c.LINE}">uid:${e}</div>\n<div class="${c.LINE}">ua:${t}</div>\n<div class="${c.LINE}">cookie:${l}</div>\n<div class="${c.LINE}">页面宽高:${document.documentElement.clientWidth}*${document.documentElement.clientHeight}</div>\n </div>\n `;n.on("renderTab",(e=>{e(i)}));const a=[];return a.push({name:"复制用户信息",global:!1,onClick(){const n={url:window.location.href,uid:e,UA:t,cookie:l};var o;o=JSON.stringify(n),_(o).then((()=>{alert("已复制,开去粘贴吧~")})).catch((()=>{alert("当前环境暂不支持复制,请长按选择复制~")}))}}),n.on("addTool",(e=>{e(a)})),n}let b;function C(e){var n;b=(null===(n=null==e?void 0:e.target)||void 0===n?void 0:n.value)||""}function N(){b&&(location.href=b)}function L(){var e,n;history.go(-1),null===(n=null===(e=window.vConsole)||void 0===e?void 0:e.hide)||void 0===n||n.call(e)}function P(e){let n=`<div class="${c.WRAP}">`;n+=function(){var e;const n=performance.timing||{},o=(null===(e=null===performance||void 0===performance?void 0:performance.wx)||void 0===e?void 0:e.timeOrigin)||n.fetchStart,t=n.domainLookupEnd-n.domainLookupStart,l=n.connectEnd-n.connectStart,i=n.responseStart-n.requestStart,a=n.responseEnd-n.responseStart,d=n.domContentLoadedEventStart-n.responseEnd,r=n.domLoading-o,c=n.loadEventEnd-o,s=n.domComplete-n.domInteractive;return[{value:t,label:"DNS连接耗时"},{value:l,label:"TCP连接耗时"},{value:i,label:"后端响应时间"},{value:a,label:"HTML页面下载时间"},{value:d,label:"DOM时间"},{value:s,label:"解析DOM树耗时"},{value:r,label:"首次加载耗时"},{value:c,label:"整页耗时"}]}().map((e=>{const{label:n,value:o}=e;return`<div class="${c.LINE}">${n}${t=o,+(+t).toFixed(2)}ms </div>`;var t})).concat(s).concat(function(){const e=window[r.build]||{},n=window[r.commit]||{},o=g.map((n=>{const{key:o,label:t}=n;return`<div class="${c.LINE}">${t}: ${e[o]||""}</div>`})),t=p.map((e=>{const{key:o,label:t}=e;return`<div class="${c.LINE}">${t}: ${n[o]||""}</div>`}));return[...o,s,...t,s,s].join("\n")}()).concat(s).concat(function(){const e=window[f]||{},n=E.map((n=>{var o;const{key:t,label:l}=n;return`<div class="${c.LINE}">${l}: ${null!==(o=e[t])&&void 0!==o?o:""}</div>`}));return[s,...n,s].join("\n")}()).join("\n"),n+=`\n<textarea id="${c.URL_INPUT_ID}" type="text" placeholder="请输入跳转路径"></textarea>\n<button id="${c.URL_JUMP_BUTTON}">跳转</button>\n<button id="${c.GO_BACK_BUTTON}">返回上一页</button>\n `,n+="</div>",e(n)}var T={};function S(e,n,o,t){if(void 0===t&&(t=""),!e)return o||"";var l=new Date;10==="".concat(e).length&&(e*=1e3),l.setTime(e);var i={"M+":l.getMonth()+1,"d+":l.getDate(),"h+":l.getHours(),"m+":l.getMinutes(),"s+":l.getSeconds(),"q+":Math.floor((l.getMonth()+3)/3),S:l.getMilliseconds()},a=/(y+)/;t&&(a=new RegExp("(?:^|(?:[^".concat(t,"y]))(y+)")));var d=n.match(a);for(var r in(null==d?void 0:d[1])&&(n=n.replace(d[1],"".concat(l.getFullYear()).slice(4-d[1].length))),i){var c=new RegExp("(".concat(r,")"));if(t&&(c=new RegExp("(?:^|(?:[^".concat(t).concat(r[0],"]))(").concat(r,")"))),null==(d=n.match(c))?void 0:d[1]){var s=d.index,u=void 0===s?0:s,v=t?u+d[0].length-d[1].length:u,m="".concat(i[r]),g=d[1].length,p=1===g?m:"00".concat(m).slice("".concat(m).length);n=n.slice(0,v)+p+n.slice(v+g)}}return t&&(n=n.replace(new RegExp(t,"g"),"")),n}Object.defineProperty(T,"__esModule",{value:!0});var $=T.dateFormat=function(e,n){return S(new Date(e).getTime(),n)};function k(e){const n=window.igameVersion;let o="";if(null==n?void 0:n.version){const e=`${$(new Date(+n.version),"yyyy-MM-dd hh:mm:ss")}`;o=`\n <div class="${c.LINE}">构建时间:${e||""}</div>\n <div class="${c.LINE}">构建作者:${n.author||""}</div>\n `}else o=` <div class="${c.LINE}">无构建信息</div>`;e(`<div class="${c.WRAP}">${o}</div>`)}function O(e={},n=[]){return new Promise((o=>{void 0===window.VConsole?d("https://image-1251917893.file.myqcloud.com/igame/npm/vconsole%403.15.1/vconsole.min.js").then((()=>{o(A(e,n))})):o(A(e,n))}))}function A(e,n){const t=new window.VConsole(Object.assign({},e||{}));return t.addPlugin(function(){const e=new window.VConsole.VConsolePlugin(c.PLUGIN_VERSION_NAME,"其他信息"),n=function(e){const n=document.getElementById(`${c.PLUGIN_NAME_PREFIX}${c.PLUGIN_VERSION_NAME}`);n&&(n.innerHTML=e)};e.on("renderTab",(e=>{P(e)})),e.on("showConsole",(()=>{P(n)})),e.on("show",(()=>{P(n)}));const o=[];return o.push({name:"隐藏vConsole",global:!1,onClick(){var e;null===(e=window.vConsole)||void 0===e||e.destroy()}}),e.on("addTool",(e=>{e(o)})),e.on("show",(()=>{var e,n,o;null===(e=document.getElementById(c.URL_INPUT_ID))||void 0===e||e.addEventListener("input",C),null===(n=document.getElementById(c.URL_JUMP_BUTTON))||void 0===n||n.addEventListener("click",N),null===(o=document.getElementById(c.GO_BACK_BUTTON))||void 0===o||o.addEventListener("click",L)})),e.on("hide",(()=>{var e,n,o;null===(e=document.getElementById(c.URL_INPUT_ID))||void 0===e||e.removeEventListener("input",C),null===(n=document.getElementById(c.URL_JUMP_BUTTON))||void 0===n||n.removeEventListener("click",N),null===(o=document.getElementById(c.GO_BACK_BUTTON))||void 0===o||o.addEventListener("click",L)})),e}()),t.addPlugin(I()),t.addPlugin(w()),t.addPlugin(h()),t.addPlugin(function(){const e=new window.VConsole.VConsolePlugin(c.PLUGIN_SIMPLE_VERSION_NAME,"版本信息"),n=function(e){const n=document.getElementById(`${c.PLUGIN_NAME_PREFIX}${c.PLUGIN_SIMPLE_VERSION_NAME}`);n&&(n.innerHTML=e)};return e.on("renderTab",(e=>{k(e)})),e.on("showConsole",(()=>{k(n)})),e.on("show",(()=>{k(n)})),e}()),t.addPlugin(function(){const e=new window.VConsole.VConsolePlugin("msdk","msdk工具"),n=`<div class="${c.WRAP}">\n <div class="${c.LINE}">msdk工具</div>\n </div>`;e.on("renderTab",(e=>{e(n)}));const o=[];return o.push({name:"关闭页面",global:!1,onClick(){var e,n;null===(n=null===(e=null===window||void 0===window?void 0:window.app)||void 0===e?void 0:e.closeWebView)||void 0===n||n.call(e)}}),e.on("addTool",(e=>{e(o)})),e}()),n.forEach((e=>{t.addPlugin(e())})),o({id:"vConsolePluginStyle",content:v}),window&&!window.vConsole&&(window.vConsole=t),t}T.timeStampFormat=S;const M="SHOW_V_CONSOLE",x="1",U={show:!1};function B(){O().then((e=>{window.vConsole=e}))}function R(){U.show=!0,localStorage.setItem(M,x),B()}function V(){var e;localStorage.removeItem(M),U.show=!1,null===(e=window.vConsole)||void 0===e||e.destroy()}e.BUILD_LIST=g,e.BUILD_NAME_MAP=r,e.COMMIT_LIST=p,e.DEBUG_CGI_ENV=m,e.V_CONSOLE_DOM=c,e.V_CONSOLE_NO_DELAY=u,e.V_CONSOLE_STATE=U,e.checkAndShowVConsole=function(){localStorage.getItem(M)===x&&(U.show=!0,B())},e.closeVConsole=V,e.genVConsole=function({immediateShow:e=!1,hide:n=!1,vConsoleConfig:o={},asyncConfirmFunc:t}){var l;n||(e?O(o):"function"==typeof t&&(null===(l=null==t?void 0:t())||void 0===l||l.then((()=>{O(o)})).catch((e=>{console.log("checkIsDevList",e)}))))},e.loadVConsole=O,e.showVConsole=R,e.toggleVConsole=function(){return U.show?V():R(),U.show},Object.defineProperty(e,"__esModule",{value:!0})}));