{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/api.js","webpack:///./src/App.vue?5a46","webpack:///./src/App.vue","webpack:///./src/router/index.js","webpack:///./src/store/index.js","webpack:///./src/mixins/index.js","webpack:///./src/components/spinner/Spinner.vue?681e","webpack:///src/components/spinner/Spinner.vue","webpack:///./src/components/spinner/Spinner.vue?f14c","webpack:///./src/components/spinner/Spinner.vue","webpack:///./src/components/spinner/index.js","webpack:///./src/main.js","webpack:///./src/components/spinner/Spinner.vue?6b0a","webpack:///./src/App.vue?788f","webpack:///./src/common/utils.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","prefixPath","baseURL","process","token","getBrowerInfo","a","navigator","userAgent","toLowerCase","documentMode","chrome","agent","isIE","test","isGecko","indexOf","isWebkit","isStrict","compatMode","supportSubTitle","supportScope","ieVersion","exec","operaVersion","opera","match","openDatabase","version","shell","external","clientInformation","languages","keys","webstore","getOsInfo","post","url","fetchCode","comajax","res","responseData","qs","stringify","options","axios","method","headers","status","log","msg","fetch","params","assign","getGroupDetail","union_id","recommendList","newList","roleList","roleUnion","postUnion","unionId","serverList","fetchLang","lang_id","site_id","login","deviceId","deviceType","os","setToken","encodeURIComponent","defaults","withCredentials","interceptors","use","config","response","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","component","originalPush","VueRouter","location","remaining","catch","Vue","Home","Detail","List","routes","path","children","components","list","redirect","router","base","Vuex","Store","plugins","state","hasLogin","isWebview","servers","roles","userInfo","unionInfo","lang","langTexts","mutations","upDateLanguage","upDateLangText","text","upDateUserInfo","upDateServers","upDateRoles","upDateUnion","info","upDateLogin","upDatePath","newPath","upDateIsWebview","actions","langs","commit","includes","pathname","split","getUrlParams","search","hash","values","find","replace","wl","language","regexp","RegExp","$1","ls","logogram","_langs","alert","dispatch","serverId","roleId","op_id","role_id","role_name","server_id","server_name","cookie","union","legion_id","map","getters","wordName","id","langObj","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","computed","mapState","filters","thousandBitSeparator","num","toString","val","transformLang","methods","T","changeLang","set","class","bg","showBg","staticClass","_e","spinnerList","WeakMap","tempSpinner","showLoading","has","mySpinner","render","h","spinner","props","temp","$mount","myTarget","_isVue","$el","Array","isArray","$children","show","hideLoading","hide","clearSpinnerList","k","delete","checkDirect","Util","mobile","documentElement","clientWidth","clientHeight","orientNotice","orient","querySelector","style","display","screenDirection","addEventListener","fastclick","attach","body","LANG_HASH","en","ar","th","vi","pl","kr","it","tr","ru","pt","es","fr","de","cn","zh","productionTip","mixin","util","$Spinner","Spinner","hasLang","beforeResolve","to","from","next","store","beforeEach","onReady","className","App","str","paras","place","paraData","substring","paraObj","len","decodeURIComponent","setUrlParams","empty","reg","reg2","u","browserLanguage","trident","presto","webKit","gecko","ios","android","iPhone","iPad","webApp","iosUp5","wx","wxApp","doc","cookies","begin","end","expire","domain","expireDate","Date","setTime","getTime","toGMTString","remove","localStorage","isSupport","getItem","setItem","removeItem","ss","sessionStorage","dateParse","date","input","h24","format","getMonth","getDate","getHours","getMinutes","getSeconds","Math","floor","S","getMilliseconds","week","getFullYear","substr","getDay","dateRange","nowDate","formatDate","endTime","startTime","myDate","thisMonth","thisYear","setFullYear","setDate","warn","valueHandler","abs","trim","throttling","fn","wait","immediate","timer","context","args","run","arg","arguments","debounce","startTimeStamp","timerInterval","now","interval","generatorCheckType","throttle"],"mappings":"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","file":"js/app.js?v=65d97107","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"detail~home~list\":\"detail~home~list\",\"detail\":\"detail\",\"home~list\":\"home~list\",\"home\":\"home\",\"list\":\"list\"}[chunkId]||chunkId) + \".js?v=\" + \"65d97107\" + \"\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"detail~home~list\":1,\"detail\":1,\"home~list\":1,\"home\":1,\"list\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + chunkId + \".css?v=\" + {\"detail~home~list\":\"dbd5b3af0f878e5dcfdd\",\"detail\":\"8707155c893a073bbdf3\",\"home~list\":\"e231fd4359ba3d4fe4b3\",\"home\":\"912a49a62e2622083344\",\"list\":\"fc2f997d86271558c583\"}[chunkId] + \"\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"detail~home~list\":1,\"detail\":1,\"home~list\":1,\"home\":1,\"list\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"detail~home~list\":\"detail~home~list\",\"detail\":\"detail\",\"home~list\":\"home~list\",\"home\":\"home\",\"list\":\"list\"}[chunkId]||chunkId) + \".css?v=\" + \"65d97107\" + \"\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//static.gtarcade.com/gta_games/infinitykingdom/recruit/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import axios from 'axios'\r\nimport qs from 'qs'\r\n\r\nconst prefixPath = 'ik/union', // 公用前缀路径\r\n baseURL = process.env.VUE_APP_APIURL // 请求地址\r\n\r\nlet token = ''\r\n\r\naxios.defaults.withCredentials = true\r\naxios.defaults.timeout = 10000\r\n\r\nfunction getBrowerInfo() {\r\n var t = t || function (t) {\r\n var n = t.document,\r\n a = t.navigator,\r\n i = a.userAgent.toLowerCase(),\r\n e = n.documentMode,\r\n o = t.chrome || !1,\r\n r = {\r\n agent: i,\r\n isIE: /trident/.test(i),\r\n isGecko: i.indexOf(\"gecko\") > 0 && i.indexOf(\"like gecko\") < 0,\r\n isWebkit: i.indexOf(\"webkit\") > 0,\r\n isStrict: \"CSS1Compat\" === n.compatMode,\r\n supportSubTitle: function () {\r\n return \"track\" in n.createElement(\"track\")\r\n },\r\n supportScope: function () {\r\n return \"scoped\" in n.createElement(\"style\")\r\n },\r\n ieVersion: function () {\r\n var n = /(msie\\s|trident.*rv:)([\\w.]+)/,\r\n a = t.navigator.userAgent.toLowerCase(),\r\n i = n.exec(a);\r\n try {\r\n return i[2]\r\n } catch (t) {\r\n return e\r\n }\r\n },\r\n operaVersion: function () {\r\n try {\r\n if (t.opera) \r\n return i.match(/opera.([\\d.]+)/)[1];\r\n \r\n\r\n\r\n if (i.indexOf(\"opr\") > 0) \r\n return i.match(/opr\\/([\\d.]+)/)[1]\r\n\r\n\r\n \r\n\r\n\r\n } catch (t) {\r\n return 0\r\n }\r\n }\r\n };\r\n try {\r\n r.type = r.isIE ? \"IE\" : t.opera || i.indexOf(\"opr\") > 0 ? \"Opera\" : i.indexOf(\"chrome\") > 0 ? \"Chrome\" : t.openDatabase ? \"Safari\" : i.indexOf(\"firefox\") > 0 ? \"Firefox\" : \"unknow\",\r\n r.version = \"IE\" === r.type ? r.ieVersion() : \"Firefox\" === r.type ? i.match(/firefox\\/([\\d.]+)/)[1] : \"Chrome\" === r.type ? i.match(/chrome\\/([\\d.]+)/)[1] : \"Opera\" === r.type ? r.operaVersion() : \"Safari\" === r.type ? i.match(/version\\/([\\d.]+)/)[1] : \"0\",\r\n r.shell = function () {\r\n if (i.indexOf(\"edge\") > 0) \r\n return r.version = i.match(/edge\\/([\\d.]+)/)[1] || r.version,\r\n \"edge浏览器\";\r\n \r\n\r\n\r\n if (i.indexOf(\"maxthon\") > 0) \r\n return r.version = i.match(/maxthon\\/([\\d.]+)/)[1] || r.version,\r\n \"傲游浏览器\";\r\n \r\n\r\n\r\n if (i.indexOf(\"qqbrowser\") > 0) \r\n return r.version = i.match(/qqbrowser\\/([\\d.]+)/)[1] || r.version,\r\n \"QQ浏览器\";\r\n \r\n\r\n\r\n if (i.indexOf(\"se 2.x\") > 0) \r\n return \"搜狗浏览器\";\r\n \r\n\r\n\r\n if (o && \"Opera\" !== r.type) {\r\n var n = t.external,\r\n a = t.clientInformation,\r\n e = a.languages;\r\n if (n && \"LiebaoGetVersion\" in n) \r\n return \"猎豹浏览器\";\r\n \r\n\r\n\r\n if (i.indexOf(\"bidubrowser\") > 0) \r\n return r.version = i.match(/bidubrowser\\/([\\d.]+)/)[1] || i.match(/chrome\\/([\\d.]+)/)[1],\r\n \"百度浏览器\";\r\n \r\n\r\n\r\n if (r.supportSubTitle() && void 0 === e) {\r\n var s = Object.keys(o.webstore).length;\r\n return s > 1 ? \"360极速浏览器\" : \"360安全浏览器\"\r\n }\r\n return \"Chrome\"\r\n }\r\n return r.type\r\n },\r\n r.name = r.shell()\r\n } catch (t) {}\r\n return r\r\n }(window);\r\n return void 0 == t.name || \"\" == t.name ? (t.name = \"Unknown\", t.version = \"\") : void 0 == t.version && (t.version = \"\"),\r\n t.name + t.version\r\n}\r\n\r\nfunction getOsInfo() {\r\n var t = navigator.userAgent.toLowerCase();\r\n return t.indexOf(\"win\") > -1 ? t.indexOf(\"windows nt 5.0\") > -1 ? \"Windows2000\" : t.indexOf(\"windows nt 5.1\") > -1 || t.indexOf(\"windows nt 5.2\") > -1 ? \"WindowsXP\" : t.indexOf(\"windows nt 6.0\") > -1 ? \"WindowsVista\" : t.indexOf(\"windows nt 6.1\") > -1 || t.indexOf(\"windows 7\") > -1 ? \"Windows7\" : t.indexOf(\"windows nt 6.2\") > -1 || t.indexOf(\"windows 8\") > -1 ? \"Windows8\" : t.indexOf(\"windows nt 6.3\") > -1 ? \"Windows8.1\" : t.indexOf(\"windows nt 6.2\") > -1 || t.indexOf(\"windows nt 10.0\") > -1 ? \"Windows10\" : \"Windows\" : t.indexOf(\"iphone\") > -1 ? \"Iphone\" : t.indexOf(\"mac\") > -1 ? \"Mac\" : t.indexOf(\"x11\") > -1 || t.indexOf(\"unix\") > -1 || t.indexOf(\"sunname\") > -1 || t.indexOf(\"bsd\") > -1 ? \"Unix\" : t.indexOf(\"linux\") > -1 ? t.indexOf(\"android\") > -1 ? \"Android\" : \"Linux\" : \"Unknown\"\r\n}\r\n\r\n// require拦截\r\naxios.interceptors.request.use(config => {\r\n config.baseURL = `${baseURL}/${prefixPath}`\r\n config.url = config.url\r\n return config\r\n})\r\n\r\n// response拦截\r\naxios.interceptors.response.use(response => {\r\n return response\r\n})\r\n\r\n/**\r\n * post请求\r\n * @param {String} url 请求路径\r\n * @param {Object} data 请求参数\r\n * @param {Boolean} fetchCode 是否获取接口返回的code,默认为false时 返回接口响应的data对象,为true时 返回接口响应的所有内容\r\n */\r\nfunction post(url, data, fetchCode = false) {\r\n return comajax({url, data}).then(res => {\r\n data = res.data || false\r\n return responseData(data, fetchCode)\r\n })\r\n}\r\n\r\n/**\r\n * get请求\r\n * @param {String} url 请求路径\r\n * @param {Object} data 请求参数\r\n * @param {Boolean} fetchCode 是否获取接口返回的code,默认为false时 返回接口响应的data对象,为true时 返回接口响应的所有内容\r\n */\r\nfunction get(url, data, fetchCode = false) {\r\n return comajax({\r\n url: `${url}?${\r\n qs.stringify(data)\r\n }`\r\n }).then(res => {\r\n data = res.data || false\r\n return responseData(data, fetchCode)\r\n })\r\n}\r\n\r\n/**\r\n * ajax请求\r\n * @param {Object} options 请求配置\r\n */\r\nfunction comajax(options) {\r\n if ('data' in options) {\r\n return axios({method: 'post', url: options.url, data: qs.stringify(options.data), headers: {'Content-Type': 'application/x-www-form-urlencoded'}})\r\n } else {\r\n return axios(options.url)\r\n }\r\n}\r\n\r\n/**\r\n * 响应处理\r\n * @param {any} data \r\n * @param {boolean} fetchCode \r\n */\r\nfunction responseData(data, fetchCode) {\r\n if (fetchCode) {\r\n // if (data.status != 200) {\r\n // // alert(data.msg)\r\n // }\r\n // return data || {\r\n // status: null,\r\n // data: false\r\n // }\r\n return data\r\n } else {\r\n if (data.status == 200 || data.status == 1) {\r\n console.log(data)\r\n return data\r\n } else {\r\n console.error(data.msg || '数据获取失败')\r\n return {data: false, ...data}\r\n }\r\n }\r\n}\r\n\r\n/**\r\n *\r\n * @param {string} url 请求路径\r\n * @param {object} params 请求参数\r\n * @param {string} type 请求方式\r\n * @param {boolean} fetchCode 是否获取完整响应数据(true返回data内的所有内容, false返回data.data的内容)\r\n */\r\nfunction fetch({\r\n url,\r\n params = {},\r\n type = 'get',\r\n fetchCode = true\r\n}) {\r\n // if (!token) {\r\n // return\r\n // }\r\n params = Object.assign(params, {token})\r\n if (type.toLowerCase() == \"get\") {\r\n return get(url, params, fetchCode);\r\n } else if (type.toLowerCase() == 'post') {\r\n token && (url+= `?token=${token}`)\r\n return post(url, params, fetchCode);\r\n }\r\n}\r\n\r\n// -------- demo --------\r\n// export function postDemo({ params, fetchCode }) {\r\n// return fetch({\r\n// url: '/demo/post',\r\n// params,\r\n// type: 'post',\r\n// fetchCode\r\n// })\r\n// }\r\n\r\n// export function getDemo({ params, fetchCode }) {\r\n// return fetch({\r\n// url: '/demo/get',\r\n// params,\r\n// type: 'get',\r\n// fetchCode\r\n// })\r\n// }\r\n\r\n// 联盟信息\r\nexport function getGroupDetail(union_id) {\r\n return fetch({\r\n url: '/info/' + union_id\r\n })\r\n}\r\n\r\n// 推荐列表\r\nexport function recommendList(params) {\r\n return fetch({url: '/recommend', params})\r\n}\r\n\r\n// 最新列表\r\nexport function newList(params) {\r\n return fetch({url: '/new', params})\r\n}\r\n\r\n// 角色列表\r\nexport function roleList() {\r\n return fetch({url: '/history-role'})\r\n}\r\n\r\n// 当前角色所属联盟\r\nexport function roleUnion(params) {\r\n return fetch({url: '/role-union', params})\r\n}\r\n\r\n// 发布招募\r\nexport function postUnion(params) {\r\n return fetch({\r\n url: '/post/' + params.unionId,\r\n params,\r\n type: 'post'\r\n })\r\n}\r\n\r\n// 区服列表\r\nexport function serverList() {\r\n return fetch({url: '/servers'})\r\n}\r\n\r\n// 多语言\r\nexport function fetchLang(lang_id) {\r\n return fetch({\r\n url: '//ucms-api.youzu.com/api/source/message',\r\n params: {\r\n site_id: 330,\r\n lang_id\r\n }\r\n })\r\n}\r\n\r\n// 登录\r\nexport function login(params) {\r\n return fetch({\r\n url: '//profile.gtarcade.com/passport/login',\r\n params: {\r\n deviceId: getBrowerInfo(),\r\n deviceType: 1,\r\n os: getOsInfo(),\r\n ...params\r\n },\r\n fetchCode: false\r\n })\r\n}\r\n\r\nexport function setToken(t) {\r\n if (t) {\r\n token = encodeURIComponent(t)\r\n }\r\n}\r\n\r\n// -------- demo END--------\r\nexport const Apis = {\r\n getGroupDetail,\r\n fetchLang,\r\n recommendList,\r\n newList,\r\n roleList,\r\n roleUnion,\r\n postUnion,\r\n serverList,\r\n login,\r\n setToken\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6d3bb13c&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\n\r\n// 编程式导航重复路由控制台报错问题修复\r\nconst originalPush = VueRouter.prototype.push;\r\nVueRouter.prototype.push = function push(location, ...remaining) {\r\n if (remaining.length) {\r\n originalPush.apply(this, [location, ...remaining]);\r\n } else {\r\n return originalPush.call(this, location).catch((err) => err);\r\n }\r\n};\r\n\r\nVue.use(VueRouter)\r\n\r\nconst Home = () => import (/* webpackChunkName: \"home\" */ '@/views/Home.vue'),\r\n Detail = () => import (/* webpackChunkName: \"detail\" */ '@/views/Detail.vue'),\r\n List = () => import(/* webpackChunkName: \"list\" */ '@/views/List.vue')\r\n\r\nconst routes = [\r\n {\r\n path: '/',\r\n name: 'Home',\r\n component: Home,\r\n children: [\r\n {\r\n path: 'detail/:id',\r\n name: 'Detail',\r\n component: Detail\r\n },\r\n {\r\n path: '/list',\r\n name: 'List',\r\n components: {\r\n list: List\r\n }\r\n },\r\n {\r\n path: '/',\r\n redirect: '/list'\r\n }\r\n ]\r\n }\r\n]\r\n\r\nconst router = new VueRouter({\r\n mode: 'hash',\r\n base: process.env.BASE_URL,\r\n routes\r\n})\r\n\r\nexport default router\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { cookie, ls, getUrlParams } from '@js/utils'\r\nimport { fetchLang, serverList, roleList, roleUnion, setToken } from '@js/api'\r\n\r\nVue.use(Vuex)\r\nfunction plugin(store) {\r\n store.subscribe((mutation, state) => {\r\n console.log(`%c mutation %c ${mutation.type}`, 'background: #09f; padding: 2px; color: #fff;', 'background: #099; padding: 2px; color: #fff;', mutation.payload)\r\n console.log(`%c state %O`, 'background: #09f; padding: 2px; color: #fff;', state)\r\n })\r\n}\r\nexport default new Vuex.Store({\r\n plugins: process.env.NODE_ENV !== 'production'\r\n ? [plugin]\r\n : [],\r\n state: {\r\n path: [], // 记录路由\r\n hasLogin: false,\r\n isWebview: false,\r\n servers: [],\r\n roles: [],\r\n userInfo: {},\r\n unionInfo: null,\r\n lang: '',\r\n langTexts: {} // 多语言内容\r\n },\r\n mutations: {\r\n // 当前语言\r\n upDateLanguage(state, lang) {\r\n state.lang = lang\r\n },\r\n // 当前语言的语言包\r\n upDateLangText(state, text) {\r\n state.langTexts = text\r\n },\r\n // 当前角色信息\r\n upDateUserInfo(state, userInfo) {\r\n state.userInfo = userInfo\r\n },\r\n // 服务器列表\r\n upDateServers(state, servers) {\r\n state.servers = servers\r\n },\r\n // 角色列表\r\n upDateRoles(state, roles) {\r\n state.roles = roles\r\n },\r\n // 当前角色的联盟信息\r\n upDateUnion(state, info) {\r\n state.unionInfo = info\r\n },\r\n // 登录状态\r\n upDateLogin(state, status) {\r\n state.hasLogin = status\r\n },\r\n // 路由历史顺序\r\n upDatePath(state, newPath) {\r\n state.path.push(newPath)\r\n },\r\n // 是否游戏内嵌\r\n upDateIsWebview(state, isWebview) {\r\n state.isWebview = isWebview\r\n }\r\n },\r\n actions: {\r\n upDateLanguage({commit}, langs) {\r\n if (Object.keys(langs).includes(location.pathname.split('/')[1])) {\r\n // 如果路径上语言类型\r\n let lang = location.pathname.split('/')[1].toLowerCase()\r\n commit('upDateLanguage', lang)\r\n return lang\r\n } else {\r\n // 路径上未携带语言类型\r\n let token = getUrlParams('', '', 0)\r\n if (token) {\r\n // 游戏内根据\r\n let lang = getUrlParams('lang_id', '', 0),\r\n path = (!location.pathname ? '' : location.pathname) + location.search + location.hash\r\n\r\n lang = Object.values(langs).find(i => i.lang_id == lang).code\r\n\r\n location.replace(`/${lang}${path}`)\r\n } else {\r\n // 从ua中取当前语言\r\n let wl = window.navigator.language.toLowerCase(),\r\n regexp = new RegExp('^zh\\-(tw|hk|sg)'),\r\n lang = '',\r\n path = (!location.pathname ? '' : location.pathname) + location.search + location.hash\r\n if (regexp.test(wl)) {\r\n wl.replace(RegExp.$1, 'zh')\r\n }\r\n lang = ls.get('lang') || Object.values(langs).find(i => i.logogram == wl).code\r\n location.replace(`/${lang}${path}`)\r\n }\r\n }\r\n },\r\n async upDateLangText({commit}, lang) {\r\n try {\r\n if (_langs) {\r\n commit('upDateLangText', _langs)\r\n } else {\r\n let data = await fetchLang(lang)\r\n if (data.status == 200) {\r\n commit('upDateLangText', data.data)\r\n } else {\r\n alert(data.msg)\r\n }\r\n }\r\n } catch {\r\n let data = await fetchLang(lang)\r\n if (data.status == 200) {\r\n commit('upDateLangText', data.data)\r\n } else {\r\n alert(data.msg)\r\n }\r\n }\r\n },\r\n upDateLogin({commit, dispatch}) {\r\n let token = getUrlParams('', '', 0)\r\n console.log(token)\r\n if (token) {\r\n setToken(token)\r\n // 游戏内嵌 免登\r\n commit('upDateLogin', true)\r\n dispatch('upDateIsWebview', true)\r\n dispatch('upDateUnion', {\r\n serverId: getUrlParams('server_id', '', 0),\r\n roleId: getUrlParams('role_id', '', 0),\r\n userInfo: {\r\n op_id: getUrlParams('op_id', '', 0),\r\n role_id: getUrlParams('role_id', '', 0),\r\n role_name: getUrlParams('role_name', '', 0),\r\n server_id: getUrlParams('server_id', '', 0),\r\n server_name: getUrlParams('server_name', '', 0)\r\n }\r\n }, )\r\n } else {\r\n console.log(cookie.get('uuzu_UAUTH'))\r\n if (cookie.get('uuzu_UAUTH')) {\r\n commit('upDateLogin', true)\r\n dispatch('upDateRoles')\r\n } else {\r\n commit('upDateLogin', false)\r\n dispatch('upDateRoles', [])\r\n }\r\n }\r\n },\r\n upDateUserInfo({ commit }, data) {\r\n commit('upDateUserInfo', data)\r\n },\r\n async upDateUnion({ commit, state }, info) {\r\n let userInfo = info.userInfo ? info.userInfo : state.roles.find(i => i.role_id == info.roleId)\r\n let data = await roleUnion({\r\n server_id: info.serverId,\r\n role_id: info.roleId\r\n })\r\n if (data.status == 200 && data.data.union.legion_id) {\r\n commit('upDateUnion', data.data.union)\r\n commit('upDateUserInfo', {...userInfo, union: data.data.union})\r\n } else {\r\n commit('upDateUnion', null)\r\n commit('upDateUserInfo', {...userInfo, union: null})\r\n }\r\n },\r\n async upDateServers({commit, state}) {\r\n if (state.servers.length > 1) return\r\n let data = await serverList()\r\n if (data.status == 200) {\r\n let servers = data.data.map(i => {\r\n return {\r\n value: i.name,\r\n key: i.server_id\r\n }\r\n })\r\n commit('upDateServers', servers)\r\n }\r\n },\r\n async upDateRoles({ commit }, data) {\r\n if (data) {\r\n commit('upDateRoles', data)\r\n } else {\r\n let data = await roleList()\r\n if (data.status == 200 && data.data.length) {\r\n commit('upDateRoles', data.data)\r\n }\r\n }\r\n },\r\n upDatePath({commit}, path) {\r\n commit('upDatePath', path)\r\n },\r\n upDateIsWebview({commit}, data) {\r\n commit('upDateIsWebview', data)\r\n }\r\n },\r\n getters: {\r\n roleList(state) {\r\n if (state.roles.length == 0) {\r\n return []\r\n }\r\n return state.roles.map(i => {\r\n return {\r\n value: `${i.server_name}-${i.role_name}`,\r\n key: `${i.server_id}|${i.role_id}`\r\n }\r\n })\r\n },\r\n wordName(state) {\r\n return function (id) {\r\n if (state.servers.length) {\r\n return state.servers.find(i => i.key == id).value\r\n }\r\n }\r\n }\r\n }\r\n})","import { ls } from '@js/utils'\r\nimport { mapState } from 'vuex'\r\n\r\nconst langObj = {\r\n 0:\t'Afrikaans',\r\n 1:\t'اَلْعَرَبِيَّةُ',\r\n 2:\t'Euskara',\r\n 3:\t'български',\r\n 4:\t'беларуская мова',\r\n 5: 'Català',\r\n 6:\t'中文',\r\n 7:\t'Čeština',\r\n 8:\t'Dansk',\r\n 9:\t'Nederlands',\r\n 10:\t'English',\r\n 11:\t'Eesti keel',\r\n 12:\t'Føroyskt',\r\n 13:\t'Suomi',\r\n 14:\t'Français',\r\n 15:\t'Deutsch',\r\n 16:\t'Ελληνικά',\r\n 17:\t'עברית',\r\n 18:\t'Magyar',\r\n 19:\t'íslenska',\r\n 20:\t'Bahasa Indonesia',\r\n 21: 'Italiano',\r\n 22:\t'日本語',\r\n 23:\t'한국어',\r\n 24:\t'Latviešu valoda',\r\n 25:\t'Lietuvių kalba',\r\n 26:\t'Norsk',\r\n 27:\t'Polski',\r\n 28:\t'Português',\r\n 29:\t'Română',\r\n 30:\t'Русский',\r\n 31:\t'Српскохрватски језик',\r\n 32:\t'Slovenčina',\r\n 33:\t'Slovenščina',\r\n 34:\t'Español',\r\n 35:\t'Svenska',\r\n 36:\t'ภาษาไทย',\r\n 37:\t'Türkçe',\r\n 38:\t'Українська мова',\r\n 39:\t'Tiếng Việt',\r\n 40:\t'简体中文',\r\n 41:\t'繁體中文',\r\n 42:\t'Unknown'\r\n}\r\n\r\nexport default {\r\n data() {\r\n return {\r\n langObj\r\n }\r\n },\r\n computed: {\r\n ...mapState({\r\n langTexts: \"langTexts\"\r\n }),\r\n },\r\n filters: {\r\n thousandBitSeparator(num){\r\n if (~~num > 0) {\r\n return num\r\n .toString()\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n }\r\n return 0\r\n },\r\n language(id){\r\n if ( id ) {\r\n return langObj[id]\r\n }\r\n return langObj[10]\r\n },\r\n name(val) {\r\n // return val && val.substring(0, 10);\r\n return val;\r\n },\r\n transformLang(val) {\r\n return langObj[val]\r\n }\r\n },\r\n methods: {\r\n // 更具key获取文本\r\n T(key) {\r\n return this.langTexts[key] || key\r\n },\r\n changeLang(lang) {\r\n // 切换语言\r\n let path = (!location.pathname ? '' : location.pathname) + location.search + location.hash\r\n ls.set('lang', lang)\r\n path = path.replace(/\\/(en|ar|th|vi|pl|kr|it|id|tr|ru|pt|es|fr|de|cn|zh)\\//, `/${lang}/`)\r\n console.log(path)\r\n location.replace(path)\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.spinnerShow)?_c('div',{class:['spinner-box', {bg: _vm.showBg}]},[_c('div',{staticClass:\"spinner-container\"},[_c('div',{staticClass:\"spinner1\"})])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Spinner.vue?vue&type=template&id=1d6f433f&scoped=true&\"\nimport script from \"./Spinner.vue?vue&type=script&lang=js&\"\nexport * from \"./Spinner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Spinner.vue?vue&type=style&index=0&id=1d6f433f&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d6f433f\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport spinner from '@components/spinner/Spinner'\r\n\r\nlet spinnerList = new WeakMap()\r\nlet tempSpinner = []\r\nexport default {\r\n name: 'Spinner',\r\n showLoading(target, showBg = true) {\r\n try {\r\n if (!spinnerList.has(target)) {\r\n // 如果当前target没有创建过spinner\r\n let mySpinner = new Vue({\r\n render: h => h(spinner, {\r\n props: {\r\n showBg\r\n }\r\n })\r\n })\r\n let temp = mySpinner.$mount(),\r\n myTarget = target.hasOwnProperty('_isVue') && target._isVue ? target.$el : Array.isArray(target) ? target[0] : target // 兼容组件标签和原生标签\r\n myTarget.appendChild(temp.$el)\r\n tempSpinner.push(target)\r\n spinnerList.set(target, mySpinner)\r\n }\r\n spinnerList.get(target).$children[0].show() // 显示\r\n } catch (err) {\r\n console.log(err)\r\n }\r\n },\r\n hideLoading(target) {\r\n if (spinnerList.has(target)) {\r\n spinnerList.get(target).$children[0].hide() // 隐藏\r\n }\r\n },\r\n clearSpinnerList() {\r\n for (let k in tempSpinner) {\r\n spinnerList.delete(tempSpinner[k])\r\n }\r\n\r\n }\r\n}","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport mixin from './mixins'\r\nimport Util from '@js/utils'\r\nimport Spinner from '@components/spinner'\r\nimport fastclick from 'fastclick'\r\n\r\nfastclick.attach(document.body)\r\n\r\n//判断横屏竖屏\r\nfunction checkDirect() {\r\n if (Util.mobile().mobile) {\r\n if (\r\n document.documentElement.clientWidth >=\r\n document.documentElement.clientHeight\r\n ) {\r\n return \"landscape\"; //横屏\r\n } else {\r\n return \"portrait\"; //竖屏\r\n }\r\n } else {\r\n return \"landscape\"; //横屏\r\n }\r\n}\r\n//显示屏幕方向提示浮层\r\nfunction orientNotice() {\r\n var orient = checkDirect();\r\n if (orient == \"portrait\") {\r\n document.querySelector(\"#orientLayer\").style.display = \"block\";\r\n } else {\r\n document.querySelector(\"#orientLayer\").style.display = \"none\";\r\n }\r\n}\r\n//给屏幕添加监听事件\r\nfunction screenDirection() {\r\n orientNotice();\r\n window.addEventListener(\r\n \"onorientationchange\" in window ? \"orientationchange\" : \"resize\",\r\n function () {\r\n setTimeout(orientNotice, 200);\r\n }\r\n );\r\n}\r\n\r\nscreenDirection()\r\n\r\nconst LANG_HASH = Vue.prototype.LANG_HASH = {\r\n en: {\r\n \"lang_id\": \"1\",\r\n \"is_default\": \"1\",\r\n \"lang_name\": \"English\",\r\n \"description\": \"英语\",\r\n \"code\": \"en\",\r\n \"logogram\": \"en-us\"\r\n },\r\n ar: {\r\n \"lang_id\": \"14\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"العربية\",\r\n \"description\": \"阿拉伯语\",\r\n \"code\": \"ar\",\r\n \"logogram\": \"ar-ar\"\r\n },\r\n // in: {\r\n // \"lang_id\": \"18\",\r\n // \"is_default\": \"0\",\r\n // \"lang_name\": \"हिन्दी\",\r\n // \"description\": \"印度语\",\r\n // \"code\": \"in\",\r\n // \"logogram\": \"in-in\"\r\n // },\r\n th: {\r\n \"lang_id\": \"13\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"ไทย\",\r\n \"description\": \"泰语\",\r\n \"code\": \"th\",\r\n \"logogram\": \"th-th\"\r\n },\r\n vi: {\r\n \"lang_id\": \"17\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Tiếng Việt\",\r\n \"description\": \"越南语\",\r\n \"code\": \"vi\",\r\n \"logogram\": \"vi-vn\"\r\n },\r\n pl: {\r\n \"lang_id\": \"10\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Polski\",\r\n \"description\": \"波兰语\",\r\n \"code\": \"pl\",\r\n \"logogram\": \"pl-pl\"\r\n },\r\n // jp: {\r\n // \"lang_id\": \"16\",\r\n // \"is_default\": \"0\",\r\n // \"lang_name\": \"にほんご\",\r\n // \"description\": \"日文\",\r\n // \"code\": \"jp\",\r\n // \"logogram\": \"jp-jp\"\r\n // },\r\n kr: {\r\n \"lang_id\": \"15\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"한국어\",\r\n \"description\": \"韩语\",\r\n \"code\": \"kr\",\r\n \"logogram\": \"kr-kr\"\r\n },\r\n it: {\r\n \"lang_id\": \"12\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Italiano\",\r\n \"description\": \"意大利语\",\r\n \"code\": \"it\",\r\n \"logogram\": \"it-it\"\r\n },\r\n id: {\r\n \"lang_id\": \"11\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Indonesia\",\r\n \"description\": \"印尼语\",\r\n \"code\": \"id\",\r\n \"logogram\": \"id-id\"\r\n },\r\n tr: {\r\n \"lang_id\": \"4\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"TÜRKÇE\",\r\n \"description\": \"土耳其语\",\r\n \"code\": \"tr\",\r\n \"logogram\": \"tr-tr\"\r\n },\r\n ru: {\r\n \"lang_id\": \"7\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Русский\",\r\n \"description\": \"俄语\",\r\n \"code\": \"ru\",\r\n \"logogram\": \"ru-ru\"\r\n },\r\n pt: {\r\n \"lang_id\": \"9\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Português\",\r\n \"description\": \"葡萄牙语\",\r\n \"code\": \"pt\",\r\n \"logogram\": \"pt-pt\"\r\n },\r\n es: {\r\n \"lang_id\": \"8\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Español\",\r\n \"description\": \"西班牙语\",\r\n \"code\": \"es\",\r\n \"logogram\": \"es-es\"\r\n },\r\n fr: {\r\n \"lang_id\": \"6\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Français\",\r\n \"description\": \"法语\",\r\n \"code\": \"fr\",\r\n \"logogram\": \"fr-fr\"\r\n },\r\n de: {\r\n \"lang_id\": \"5\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"Deutsch\",\r\n \"description\": \"德语\",\r\n \"code\": \"de\",\r\n \"logogram\": \"de-de\"\r\n },\r\n cn: {\r\n \"lang_id\": \"3\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"简体中文\",\r\n \"description\": \"简体中文\",\r\n \"code\": \"cn\",\r\n \"logogram\": \"zh-cn\"\r\n },\r\n zh: {\r\n \"lang_id\": \"2\",\r\n \"is_default\": \"0\",\r\n \"lang_name\": \"繁体中文\",\r\n \"description\": \"繁体中文\",\r\n \"code\": \"zh\",\r\n \"logogram\": \"zh-zh\"\r\n }\r\n}\r\n\r\nVue.config.productionTip = false\r\nVue.mixin(mixin)\r\nVue.prototype.util = Util\r\nVue.prototype.$Spinner = Spinner\r\n\r\nlet hasLang = false\r\n\r\nrouter.beforeResolve((to, from, next) => {\r\n if (hasLang) {\r\n console.log('hasLang')\r\n next()\r\n } else {\r\n Spinner.showLoading(document.querySelector('#app'))\r\n store.dispatch('upDateLogin')\r\n // 获取完多语言继续执行\r\n store.dispatch('upDateLanguage', LANG_HASH).then((lang) => {\r\n store.dispatch('upDateLangText', LANG_HASH[lang].lang_id).then(() => {\r\n hasLang = true\r\n Spinner.hideLoading(document.querySelector('#app'))\r\n // setTimeout(next, 1000)\r\n next()\r\n })\r\n })\r\n }\r\n})\r\n\r\nrouter.beforeEach(async (to, from, next) => {\r\n // await handleKeepAlive(to)\r\n store.dispatch('upDatePath', to.path)\r\n next()\r\n})\r\n\r\n// async function handleKeepAlive (to) {\r\n// if (to.matched && to.matched.length > 2) {\r\n// for (let i = 0; i < to.matched.length; i++) {\r\n// const element = to.matched[i]\r\n// if (element.components.default.name === 'layout') {\r\n// to.matched.splice(i, 1)\r\n// await handleKeepAlive(to)\r\n// }\r\n// // 如果没有按需加载完成则等待加载\r\n// if (typeof element.components.default === 'function') {\r\n// await element.components.default()\r\n// await handleKeepAlive(to)\r\n// }\r\n// }\r\n// }\r\n// }\r\n\r\n// login({\r\n// username: 'lianmeng@163.com',\r\n// password: '123456'\r\n// })\r\n\r\nrouter.onReady(function() {\r\n store.dispatch('upDateLogin')\r\n})\r\n\r\nif (Util.mobile().mobile) {\r\n document.querySelector('html').className = 'max-set'\r\n}\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=style&index=0&id=1d6f433f&lang=scss&scoped=true&\"","export * from \"-!../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/style-resources-loader/lib/index.js??ref--9-oneOf-1-4!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","const Util = {};\r\n\r\n/*\r\n * 空值处理 null undefine 等\r\n * */\r\nUtil.empty = function(str) {\r\n if (typeof str === \"number\") {\r\n return str;\r\n }\r\n if (!str) {\r\n return \"\";\r\n }\r\n return str;\r\n};\r\n\r\n/*\r\n * 解析url参数\r\n * @param {String} paras 参数名\r\n * @param {String} url 链接地址\r\n * @return {String} 或 {Object}\r\n * */\r\nUtil.getUrlParams = function(paras, url, place) {\r\n url = url || window.location.href;\r\n place = typeof place === \"number\" ? place : 1;\r\n url = url.split(\"#\")[place].replace(\"/&\", \"&\");\r\n const paraData = url.substring(url.indexOf(\"?\") + 1, url.length).split(\"&\");\r\n const paraObj = {};\r\n for (let i = 0, len = paraData.length; i < len; i++) {\r\n const j = paraData[i];\r\n paraObj[j.substring(0, j.indexOf(\"=\"))] = decodeURIComponent(\r\n j.substring(j.indexOf(\"=\") + 1, j.length)\r\n );\r\n }\r\n if (!paras) {\r\n // 获取所有参数\r\n if (url.indexOf(\"?\") >= 0) {\r\n return url.substring(url.indexOf(\"?\") + 1, url.length);\r\n } else {\r\n return ''\r\n }\r\n }\r\n if (paras) {\r\n return paraObj[paras] ? paraObj[paras] : \"\";\r\n }\r\n return paraObj;\r\n};\r\n\r\n/*\r\n * 设置url参数\r\n * @param {String} url 链接地址\r\n * @param {String} key\r\n * @param {String} value\r\n * @return {String}\r\n * */\r\nUtil.setUrlParams = function(key, value, url) {\r\n if (typeof key === \"object\") {\r\n url = value || \"\";\r\n for (const i in key) {\r\n if (Object.prototype.hasOwnProperty.call(key, i)) {\r\n url = Util.setUrlParams(i, key[i], url);\r\n }\r\n }\r\n return url;\r\n }\r\n if (!key) {\r\n return url;\r\n }\r\n value = Util.empty(value);\r\n value = encodeURIComponent(value);\r\n url = url || window.location.href;\r\n const reg = new RegExp(`(\\\\?|\\\\&)${key}=`),\r\n reg2 = new RegExp(`((\\\\?|\\\\&)${key}=)[^&]+`);\r\n if (url.indexOf(\"?\") >= 0) {\r\n url = reg.test(url)\r\n ? url.replace(reg2, `$1${value}`)\r\n : `${url}&${key}=${value}`;\r\n } else {\r\n url = `${url}?${key}=${value}`;\r\n }\r\n return url;\r\n};\r\n\r\n/*\r\n * 检测移动终端浏览器版本信息\r\n * @return {Object}\r\n * */\r\nUtil.mobile = function() {\r\n const u = navigator.userAgent;\r\n return {\r\n language: (navigator.browserLanguage || navigator.language).toLowerCase(),\r\n trident: u.indexOf(\"Trident\") > -1, // IE内核\r\n presto: u.indexOf(\"Presto\") > -1, // opera内核\r\n webKit: u.indexOf(\"AppleWebKit\") > -1, // 苹果、谷歌内核\r\n gecko: u.indexOf(\"Gecko\") > -1 && u.indexOf(\"KHTML\") == -1, // 火狐内核\r\n mobile: !!u.match(/AppleWebKit.*Mobile.*/), // 是否为移动终端\r\n ios: !!u.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/), // ios终端\r\n android: u.indexOf(\"Android\") > -1 || u.indexOf(\"Linux\") > -1, // android终端或uc浏览器\r\n iPhone: u.indexOf(\"iPhone\") > -1, // 是否为iPhone或者QQHD浏览器\r\n iPad: u.indexOf(\"iPad\") > -1, // 是否iPad\r\n webApp: u.indexOf(\"Safari\") == -1, // 是否web应该程序,没有头部与底部\r\n iosUp5: /OS [5-9]_\\d[_\\d]* like Mac OS X/i.test(u),\r\n wx: u.indexOf(\"MicroMessenger\") > -1,\r\n wxApp: !!Util.getUrlParams(\"minilogin\", 0, 0),\r\n };\r\n};\r\n\r\n/*\r\n * cookie的操作\r\n * */\r\nUtil.cookie = (function(doc) {\r\n /*\r\n * 获取cookie\r\n * @param {String} name cookie名称\r\n * */\r\n function get(name) {\r\n if (!name) return \"\";\r\n let result = \"\";\r\n const cookies = doc.cookie;\r\n if (cookies.length > 0) {\r\n let begin = cookies.indexOf(`${name}=`);\r\n if (begin != -1) {\r\n begin += name.length + 1; // cookie值的初始位置\r\n let end = cookies.indexOf(\";\", begin); // 结束位置\r\n if (end == -1) {\r\n end = cookies.length;\r\n } // 没有;则end为字符串结束位置\r\n result = cookies.substring(begin, end);\r\n result = result ? decodeURIComponent(result) : \"\";\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n /*\r\n * 设置cookie\r\n * @param {String} name cookie名称\r\n * @param {String} value cookie值\r\n * @param {Date}或{Number} expire 过期时间 (日期对象或者为毫秒数)\r\n * @param {String} path cookie的路径\r\n * */\r\n function set(name, value, expire, path, domain) {\r\n if (!name) {\r\n return;\r\n }\r\n value = Util.empty(value);\r\n let expireDate = new Date();\r\n if (Object.prototype.toString.call(expire) === \"[object Date]\") {\r\n expireDate = expire;\r\n } else if (typeof expire === \"number\") {\r\n expireDate.setTime(expireDate.getTime() + expire);\r\n }\r\n doc.cookie = `${name}=${encodeURIComponent(value)}${\r\n typeof expire === \"undefined\" || expire == null\r\n ? \"\"\r\n : `; expires=${expireDate.toGMTString()}`\r\n };path=${path || \"/\"};domain=${domain}`;\r\n }\r\n\r\n /*\r\n * 删除cookie\r\n * @param {String} name cookie名称\r\n * @param {String} path cookie的路径\r\n * */\r\n function remove(name, path) {\r\n if (!name) return;\r\n set(name, \"\", -1, path, 'gtarcade.com');\r\n }\r\n\r\n return {\r\n get,\r\n set,\r\n remove,\r\n };\r\n})(document);\r\n\r\n/*\r\n * localStorage 操作\r\n * @return {Object}\r\n * */\r\nUtil.ls = (function(window) {\r\n const ls = window.localStorage,\r\n isSupport = !!ls;\r\n /*\r\n * 获取 localStorage\r\n * @param {String} key\r\n * @return {String}\r\n * */\r\n function get(key) {\r\n if (!key) return;\r\n let result = \"\";\r\n if (isSupport) {\r\n result = ls.getItem(key);\r\n result = result ? decodeURIComponent(result) : \"\";\r\n try {\r\n // safari隐身浏览时\r\n ls.setItem(\"test\", \"test\");\r\n } catch (e) {\r\n result = Util.cookie.get(key);\r\n }\r\n } else {\r\n result = Util.cookie.get(key);\r\n }\r\n return result;\r\n }\r\n\r\n /*\r\n * 设置 localStorage\r\n * @param {String} key\r\n * @param {String} value\r\n * */\r\n function set(key, value) {\r\n if (!key) {\r\n return;\r\n }\r\n value = encodeURIComponent(Util.empty(value));\r\n if (isSupport) {\r\n try {\r\n // safari隐身浏览时\r\n ls.setItem(key, value);\r\n } catch (e) {\r\n const expire = 3153600000000; // 100年\r\n Util.cookie.set(key, value, expire);\r\n }\r\n } else {\r\n const expire = 3153600000000; // 100年\r\n Util.cookie.set(key, value, expire);\r\n }\r\n }\r\n\r\n /*\r\n * 删除 localStorage\r\n * @param {String} key\r\n * */\r\n function remove(key) {\r\n if (!key) return;\r\n if (isSupport) {\r\n ls.removeItem(key);\r\n try {\r\n // safari隐身浏览时\r\n ls.setItem(\"test\", \"test\");\r\n } catch (e) {\r\n Util.cookie.remove(key);\r\n }\r\n } else {\r\n Util.cookie.remove(key);\r\n }\r\n }\r\n return {\r\n get,\r\n set,\r\n remove,\r\n };\r\n})(window, Util);\r\n\r\n/*\r\n * sessionStorage 操作\r\n * @return {Object}\r\n * */\r\n\r\nUtil.ss = (function(window) {\r\n const ss = window.sessionStorage,\r\n isSupport = !!ss;\r\n /*\r\n * 获取 sessionStorage\r\n * @param {String} key\r\n * @return {String}\r\n * */\r\n function get(key) {\r\n if (!key) return;\r\n let result = \"\";\r\n if (isSupport) {\r\n result = ss.getItem(key);\r\n result = result ? decodeURIComponent(result) : \"\";\r\n try {\r\n // safari隐身浏览时\r\n ss.setItem(\"test\", \"test\");\r\n } catch (e) {\r\n result = Util.cookie.get(key);\r\n }\r\n } else {\r\n result = Util.cookie.get(key);\r\n }\r\n return result;\r\n }\r\n\r\n /*\r\n * 设置 sessionStorage\r\n * @param {String} key\r\n * @param {String} value\r\n * */\r\n function set(key, value) {\r\n if (!key) {\r\n return;\r\n }\r\n value = encodeURIComponent(Util.empty(value));\r\n if (isSupport) {\r\n try {\r\n // safari隐身浏览时\r\n ss.setItem(key, value);\r\n } catch (e) {\r\n Util.cookie.set(key, value);\r\n }\r\n } else {\r\n Util.cookie.set(key, value);\r\n }\r\n }\r\n\r\n /*\r\n * 删除 sessionStorage\r\n * @param {String} key\r\n * */\r\n function remove(key) {\r\n if (!key) return;\r\n if (isSupport) {\r\n ss.removeItem(key);\r\n try {\r\n // safari隐身浏览时\r\n ss.setItem(\"test\", \"test\");\r\n } catch (e) {\r\n Util.cookie.remove(key);\r\n }\r\n } else {\r\n Util.cookie.remove(key);\r\n }\r\n }\r\n return {\r\n get,\r\n set,\r\n remove,\r\n };\r\n})(window, Util);\r\n\r\nUtil.dateParse = function(date, input, h24 = true) {\r\n if (!date) {\r\n return;\r\n }\r\n if (typeof date === \"string\") {\r\n date = new Date(date.replace(/-/g, \"/\"));\r\n } else if (typeof date === \"number\") {\r\n date = new Date(date);\r\n }\r\n input = input || \"yyyy-MM-dd HH:mm:ss\";\r\n const format = {\r\n \"M+\": date.getMonth() + 1, // 月份\r\n \"d+\": date.getDate(), // 日\r\n \"h+\": h24 ? date.getHours() : date.getHours() % 12, // 小时\r\n \"H+\": h24 ? date.getHours() : date.getHours() % 12, // 小时\r\n \"m+\": date.getMinutes(), // 分\r\n \"s+\": date.getSeconds(), // 秒\r\n \"q+\": Math.floor((date.getMonth() + 3) / 3), // 季度\r\n S: date.getMilliseconds(), // 毫秒\r\n };\r\n const week = {\r\n 0: \"7\",\r\n 1: \"1\",\r\n 2: \"2\",\r\n 3: \"3\",\r\n 4: \"4\",\r\n 5: \"5\",\r\n 6: \"6\",\r\n };\r\n if (/(y+)/.test(input)) {\r\n input = input.replace(\r\n RegExp.$1,\r\n `${date.getFullYear()}`.substr(4 - RegExp.$1.length)\r\n );\r\n }\r\n if (/(E+)/.test(input)) {\r\n input = input.replace(\r\n RegExp.$1, week[`${date.getDay()}`]\r\n );\r\n }\r\n for (const k in format) {\r\n if (new RegExp(`(${k})`).test(input)) {\r\n input = input.replace(\r\n RegExp.$1,\r\n RegExp.$1.length == 1\r\n ? format[k]\r\n : `00${format[k]}`.substr(`${format[k]}`.length)\r\n );\r\n }\r\n }\r\n return input;\r\n};\r\n\r\nUtil.dateRange = function({\r\n type,\r\n nowDate = new Date(),\r\n formatDate = \"yyyy/MM/dd\",\r\n getDate = false,\r\n}) {\r\n // 处理快速筛选时间 type为number时:type天前 '1':本月 '2':上月 getDate: 单个日期 默认 否\r\n const dateParse = Util.dateParse;\r\n if (typeof getDate != \"boolean\") {\r\n console.warn(\"getDate参数类型不为Boolean,请检查传入的参数类型\");\r\n return;\r\n }\r\n\r\n let endTime,\r\n startTime,\r\n myDate = new Date(nowDate);\r\n\r\n if (typeof type === \"number\") {\r\n if (type == 30) {\r\n let thisMonth = myDate.getMonth(),\r\n thisYear = myDate.getFullYear();\r\n myDate = new Date(myDate.setFullYear(thisYear, thisMonth, 1));\r\n myDate = new Date(myDate.setDate(myDate.getDate() - 1)); // 上月最后一天\r\n endTime = dateParse(myDate, formatDate);\r\n // 重新获取日期\r\n thisMonth = myDate.getMonth();\r\n thisYear = myDate.getFullYear();\r\n myDate = myDate.setFullYear(thisYear, thisMonth, 1); // 上月第一天\r\n startTime = dateParse(myDate, formatDate);\r\n } else {\r\n endTime = dateParse(myDate, formatDate);\r\n myDate = myDate.setDate(myDate.getDate() - type);\r\n startTime = dateParse(myDate, formatDate);\r\n }\r\n }\r\n if (getDate) {\r\n return startTime;\r\n } else {\r\n return [startTime, endTime];\r\n }\r\n};\r\n\r\nUtil.valueHandler = function(value) {\r\n // 处理数字如果超过五位数单位变为万\r\n if (typeof value === \"string\") {\r\n value = value - 0;\r\n }\r\n if (Math.abs(value) >= 10000) {\r\n // 超过1万\r\n value = Math.floor(value / 1000) / 10 + \"\";\r\n } else {\r\n value = Math.floor(value * 10) / 10;\r\n }\r\n return value;\r\n};\r\n\r\nUtil.trim = function(value) {\r\n value = value.toString();\r\n let reg = new RegExp(/(^\\s*)|(\\s*$)/g);\r\n return value.replace(reg, \"\");\r\n};\r\n\r\nUtil.throttling = function(fn, wait, immediate) {\r\n let timer, timeStamp = 0;\r\n let context, args;\r\n\r\n let run = () => {\r\n timer = setTimeout(() => {\r\n if (!immediate) {\r\n fn.apply(context, args);\r\n }\r\n clearTimeout(timer);\r\n timer = null;\r\n }, wait);\r\n }\r\n\r\n return function (...arg) {\r\n context = this;\r\n args = arguments || arg;\r\n if (!timer) {\r\n if (immediate) {\r\n fn.apply(context, args);\r\n }\r\n run();\r\n } else {\r\n // console.log(\"throttle, ignore\");\r\n }\r\n }\r\n\r\n}\r\n\r\nUtil.debounce = function(fn, wait = 1000, immediate = false) {\r\n let timer, startTimeStamp = 0;\r\n let context, args;\r\n\r\n let run = (timerInterval) => {\r\n timer = setTimeout(() => {\r\n let now = (new Date()).getTime();\r\n let interval = now - startTimeStamp\r\n if (interval < timerInterval) {\r\n startTimeStamp = now;\r\n run(wait - interval);\r\n } else {\r\n if (!immediate) {\r\n fn.apply(context, args);\r\n }\r\n clearTimeout(timer);\r\n timer = null;\r\n }\r\n\r\n }, timerInterval);\r\n }\r\n\r\n return function (...arg) {\r\n context = this;\r\n args = arguments || arg;\r\n let now = (new Date()).getTime();\r\n startTimeStamp = now;\r\n\r\n if (!timer) {\r\n if (immediate) {\r\n fn.apply(context, args);\r\n }\r\n run(wait);\r\n }\r\n\r\n }\r\n}\r\n\r\nUtil.generatorCheckType = function(type) {\r\n return function(target) {\r\n return Object.prototype.toString.call(target) === `[object ${type}]`;\r\n };\r\n};\r\n\r\nexport default Util;\r\nexport const {\r\n empty,\r\n getUrlParams,\r\n setUrlParams,\r\n mobile,\r\n cookie,\r\n ls,\r\n ss,\r\n dateParse,\r\n dateRange,\r\n valueHandler,\r\n trim,\r\n throttle,\r\n debounce,\r\n generatorCheckType\r\n} = Util;\r\n"],"sourceRoot":""}