{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?5b85","webpack:///./src/App.vue?7ccd","webpack:///src/App.vue","webpack:///./src/util/middle.js","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/router/official.js","webpack:///./src/router/tool.js","webpack:///./src/router/wechat.js","webpack:///./src/router/index.js","webpack:///./src/store/index.js","webpack:///./src/util/config.js","webpack:///./src/util/aes.js","webpack:///./src/util/axios.js","webpack:///./src/util/device.js","webpack:///./src/util/guid.js","webpack:///./src/util/time.js","webpack:///./src/util/speechSynthesis.js","webpack:///./src/util/publicMethods.js","webpack:///./src/main.js","webpack:///./src/util/protocolcheck.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","_vm","this","_h","$createElement","_c","_self","staticRenderFns","Vue","component","path","redirect","children","meta","title","use","Router","base","routes","official","wechat","tool","Vuex","Store","state","userInfo","token","school","ssoUser","sysModel","getters","getUserInfo","getToken","getSchool","getSSOUser","getSysInfo","mutations","setUserInfo","obj","setToken","setSchool","setSSOUser","setSysInfo","actions","UserLogin","context","loginid","loginPwd","productID","platform","deviceID","phoneLogin","axios","post","LoginID","LoginPwd","ProductID","Platform","DeviceID","PhoneLogin","singleLogin","refreshToken","RefreshToken","send_phoneCode","par","check","getdata","urlPath","serviceValidate","postData","baseURL","fileurl","canvasText","logo","openFooter","sysID","sysName","assessmentType","version","SimQueuingNumber","showCourseCreateTime","identifyCodeUser","officialAliyunServerBuild","Encrypt","iv","clearEncoding","cipherEncoding","cipherChunks","cipher","crypto","createCipheriv","setAutoPadding","update","final","join","Decrypt","decipher","createDecipheriv","gettoken","localStorage","getItem","defaults","config","instance","headers","store","id","res","fileUrl","webgl_ossUrl","setItem","isRefreshing","requests","interceptors","response","indexOf","_token","_keystr","substring","_data","aes","split","reverse","JSON","parse","alert","log","location","forEach","cb","catch","finally","removeItem","IpAddress","getExploreName","userAgent","navigator","ActiveXObject","getOsInfo","toLowerCase","exploreName","os","S4","Math","random","toString","guid","str","delLastTime0","val","replace","dateFormater","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getYear_Month_Day","getTime","GetTimeAddYears","d1","setFullYear","setDate","getTimeStamp","timeStamp_dateFormater","formater","date","Y","M","D","H","substr","exam_viewTime","fg","mm","parseInt","ss","exam_viewTime_ch","exam_viewTime_ch_hh_mm","hh","s_to_hh_mm","math_A_B","a","b","_a","_b","math_A_B_str","math_A_B_num","timestampToTime","timestamp","toLocaleString","speak","speechSynthesis","speaking","cancel","ssu","SpeechSynthesisUtterance","volume","rate","pitch","voiceURI","pause","resume","closePage","open","close","opener","createA","url","filename","link","style","display","download","body","click","remove","downloadFile","downloadFile_CORS","fetch","blob","URL","createObjectURL","revokeObjectURL","productionTip","$device","device","$http","$echarts","echarts","$loading","ElementUI","Loading","service","$msgbox","MessageBox","$alert","$confirm","confirm","$prompt","prompt","$notify","Notification","$guid","$time","time","$config","$aes","$","$speak","$publicMethods","publicMethods","VueClipboard","VueCropper","Vue2OrgTree","cors","jm","$message","msg","duration","position","$fullScreen","element","documentElement","requestFullscreen","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","$exitFullscreen","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","router","beforeEach","to","from","next","render","h","App","$mount","f","define","g","global","self","protocolCheck","u","require","1","_registerEvent","eventType","addEventListener","removeEventListener","attachEvent","detachEvent","_createHiddenIframe","uri","iframe","openUriWithHiddenFrame","failCb","successCb","handler","querySelector","onBlur","contentWindow","openUriWithTimeoutHack","parent","openUriUsingFirefox","openUriUsingIEInOlderWindows","getInternetExplorerVersion","openUriUsingIE10InWindows7","openUriInNewWindowHack","myWindow","write","openUriWithMsLaunchUri","msLaunchUri","checkBrowser","isOpera","opera","ua","isFirefox","InstallTrigger","isSafari","HTMLElement","isIOS","test","MSStream","isChrome","chrome","isIE","documentMode","rv","appName","re","RegExp","exec","parseFloat","$1","unsupportedCb","failCallback","successCallback","browser"],"mappings":"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","file":"js/app.46073130.js","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 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/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-07936742\":\"ee5d3fc5\",\"chunk-0d2fd768\":\"177189bb\",\"chunk-11717c76\":\"5e2aab2a\",\"chunk-2d23720d\":\"90c414e4\",\"chunk-317cfbb8\":\"b1b939fb\",\"chunk-35b2f3e3\":\"d0ebbc89\",\"chunk-36177e13\":\"e1d87817\",\"chunk-3b5bb0f8\":\"7cf7ed44\",\"chunk-3cfa7e70\":\"1eea41b4\",\"chunk-40b67c36\":\"14b1ed6b\",\"chunk-464a507e\":\"1089622b\",\"chunk-5252750f\":\"f7226f9f\",\"chunk-53d6da7a\":\"de2fd887\",\"chunk-5ea7262a\":\"eb77f7f3\",\"chunk-67ace81e\":\"f937c8cb\",\"chunk-6f741059\":\"a2c01d09\",\"chunk-7602e081\":\"fbe6b9c5\",\"chunk-7938e1fa\":\"5d35dcf0\",\"chunk-f236840a\":\"1ac3d486\",\"chunk-f2c9a30c\":\"5f51620f\",\"chunk-394aa8e7\":\"aeda332b\",\"chunk-67005641\":\"8a6a7c48\",\"chunk-f37559b8\":\"1b9d7c5c\"}[chunkId] + \".js\"\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 = {\"chunk-07936742\":1,\"chunk-0d2fd768\":1,\"chunk-11717c76\":1,\"chunk-317cfbb8\":1,\"chunk-35b2f3e3\":1,\"chunk-36177e13\":1,\"chunk-3b5bb0f8\":1,\"chunk-3cfa7e70\":1,\"chunk-40b67c36\":1,\"chunk-464a507e\":1,\"chunk-5252750f\":1,\"chunk-5ea7262a\":1,\"chunk-67ace81e\":1,\"chunk-6f741059\":1,\"chunk-7602e081\":1,\"chunk-7938e1fa\":1,\"chunk-f236840a\":1,\"chunk-f2c9a30c\":1,\"chunk-394aa8e7\":1,\"chunk-67005641\":1,\"chunk-f37559b8\":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]||chunkId) + \".\" + {\"chunk-07936742\":\"0e433876\",\"chunk-0d2fd768\":\"33b6cc18\",\"chunk-11717c76\":\"dc5c411c\",\"chunk-2d23720d\":\"31d6cfe0\",\"chunk-317cfbb8\":\"a7ca9c37\",\"chunk-35b2f3e3\":\"997bdb36\",\"chunk-36177e13\":\"10e0b03b\",\"chunk-3b5bb0f8\":\"49d58d33\",\"chunk-3cfa7e70\":\"922416a6\",\"chunk-40b67c36\":\"739bdca2\",\"chunk-464a507e\":\"13dfd0bc\",\"chunk-5252750f\":\"a9228a75\",\"chunk-53d6da7a\":\"31d6cfe0\",\"chunk-5ea7262a\":\"04239737\",\"chunk-67ace81e\":\"d987f27b\",\"chunk-6f741059\":\"41a16f84\",\"chunk-7602e081\":\"f30ee732\",\"chunk-7938e1fa\":\"94414510\",\"chunk-f236840a\":\"e16e1051\",\"chunk-f2c9a30c\":\"bcbb45e5\",\"chunk-394aa8e7\":\"530dfc09\",\"chunk-67005641\":\"3b1855d1\",\"chunk-f37559b8\":\"a7ed94d1\"}[chunkId] + \".css\";\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 = \"/\";\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","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import Vue from 'vue'\r\nexport default new Vue","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7be67097&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\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","export default [{\r\n\t\tpath: '/',\r\n\t\tcomponent: () => import('../views/off/Home'),\r\n\t\tredirect: '/index',\r\n\t\tchildren: [{\r\n\t\t\t\tpath: 'index',\r\n\t\t\t\tcomponent: () => import('../views/off/index'),\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: '智慧养老/适老化改造/VR虚拟仿真实训室-北京育见未来科技有限公司'\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tpath: 'project',\r\n\t\t\t\tcomponent: () => import('../views/off/project/index'),\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: '育见未来-产品列表'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'details',\r\n\t\t\t\tcomponent: () => import('../views/off/project/details.vue'),\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: '育见未来-产品详情'\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\tpath: 'newsInfo',\r\n\t\t\t\tcomponent: () => import('../views/off/newsInfo/index'),\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: '育见未来-新闻资讯'\r\n\t\t\t\t},\r\n\t\t\t\tredirect: 'newsInfo/list',\r\n\t\t\t\tchildren: [{\r\n\t\t\t\t\t\tpath: 'list',\r\n\t\t\t\t\t\tcomponent: () => import('../views/off/newsInfo/list.vue')\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tpath: 'details',\r\n\t\t\t\t\t\tcomponent: () => import('../views/off/newsInfo/details.vue')\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t//demo 展示功能用\r\n\t{\r\n\t\tpath: '/caseSelect',\r\n\t\tcomponent: () => import('../views/caseSelect.vue'),\r\n\t\tmeta: {\r\n\t\t\ttitle: '案例创设'\r\n\t\t}\r\n\t},\r\n\t{\r\n\t\tpath: '/caseCreate',\r\n\t\tcomponent: () => import('../views/caseCreate.vue'),\r\n\t\tmeta: {\r\n\t\t\ttitle: '案例创设'\r\n\t\t}\r\n\t}\r\n]","export default [{\r\n\tpath: '/tool',\r\n\tcomponent: () => import('../views/tool/home'),\r\n\tredirect: '/tool/index',\r\n\tchildren: [{\r\n\t\t\tpath: 'index',\r\n\t\t\tcomponent: () => import('../views/tool/index'),\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: 'excel_To_text',\r\n\t\t\tcomponent: () => import('../views/tool/other_tools/excel_To_text')\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: 'json_To_text',\r\n\t\t\tcomponent: () => import('../views/tool/other_tools/json_To_text'),\r\n\t\t\tmeta: {\r\n\t\t\t\ttitle: 'json格式化'\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: 'shuijinjisuan',\r\n\t\t\tcomponent: () => import('../views/tool/crm_tools/shuijinjisuan'),\r\n\t\t\tmeta: {\r\n\t\t\t\ttitle: '税金计算'\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: 'text_To_audio',\r\n\t\t\tcomponent: () => import('../views/tool/audio_tts/text_To_audio'),\r\n\t\t\tmeta: {\r\n\t\t\t\ttitle: '文字转语音'\r\n\t\t\t}\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: 'photoSphereViewer',\r\n\t\t\tcomponent: () => import('../views/tool/other_tools/photoSphereViewer'),\r\n\t\t\tmeta: {\r\n\t\t\t\ttitle: '全景图在线预览'\r\n\t\t\t}\r\n\t\t}\r\n\t]\r\n}]","export default [{\r\n\tpath: '/wechat',\r\n\tcomponent: () => import('../views/wechat/index'),\r\n\tchildren: [{\r\n\t\tpath: 'programme',\r\n\t\tcomponent: () => import('../views/wechat/programme')\r\n\t}, {\r\n\t\tpath: 'project',\r\n\t\tcomponent: () => import('../views/wechat/project')\r\n\t}, {\r\n\t\tpath: 'introduction',\r\n\t\tcomponent: () => import('../views/wechat/introduction')\r\n\t}, {\r\n\t\tpath: 'honor',\r\n\t\tcomponent: () => import('../views/wechat/honor')\r\n\t}, {\r\n\t\tpath: 'contact',\r\n\t\tcomponent: () => import('../views/wechat/contact')\r\n\t}]\r\n}]\n","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\nVue.use(Router)\r\n\r\nimport official from './official.js'\r\nimport tool from './tool.js'\r\nimport wechat from './wechat.js'\r\n\r\n// import admin from './admin.js'\r\n// import platform from './platform.js'\r\n\r\n//---------赛训-视频点评------------\r\n// import Interactive_Course from './Interactive_Course.js'\r\n\r\n// ----------评-估----------------\r\n// import nna from './assessmentOnly.js'\r\n\r\n//----------全景图管理----------------\r\n// import photoSphereView from './photoSphereView.js'\r\n\r\nexport default new Router({\r\n\tmode: 'history',\r\n\t// base: process.env.BASE_URL,\r\n\tbase: '/',\r\n\troutes: [\r\n\t\t// *******************yjwledu.cn**********\r\n\t\t...official, // 官网\r\n\t\t...wechat, //微信-公众号\r\n\t\t...tool, // 在线工具\r\n\t\t// *******************在线课程平台:edu.yjwledu.cn**********\r\n\t\t// ...platform,\r\n\t\t// ...admin,\r\n\t\t// *******************护理需求-老年人能力评估**********\r\n\t\t// ...nna,\r\n\t\t// *******************赛训点评:temp.yjwledu.cn**********\r\n\t\t// ...Interactive_Course,\r\n\t\t// *******************全景图管理:psv.yjwledu.cn**********\r\n\t\t// ...photoSphereView\r\n\t]\r\n})","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport axios from 'axios'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default new Vuex.Store({\r\n\tstate: {\r\n\t\tuserInfo: {},\r\n\t\ttoken: '1',\r\n\t\tschool: {},\r\n\t\tssoUser: {},\r\n\t\tsysModel: {}\r\n\t},\r\n\tgetters: {\r\n\t\tgetUserInfo(state) {\r\n\t\t\treturn state.userInfo\r\n\t\t},\r\n\t\tgetToken(state) {\r\n\t\t\treturn state.token\r\n\t\t},\r\n\t\tgetSchool(state) {\r\n\t\t\treturn state.school\r\n\t\t},\r\n\t\tgetSSOUser(state) {\r\n\t\t\treturn state.ssoUser\r\n\t\t},\r\n\t\tgetSysInfo(state) {\r\n\t\t\treturn state.sysModel\r\n\t\t}\r\n\t},\r\n\tmutations: {\r\n\t\tsetUserInfo(state, obj) {\r\n\t\t\tstate.userInfo = obj\r\n\t\t},\r\n\t\tsetToken(state, obj) {\r\n\t\t\tstate.token = obj\r\n\t\t},\r\n\t\tsetSchool(state, obj) {\r\n\t\t\tstate.school = obj\r\n\t\t},\r\n\t\tsetSSOUser(state, obj) {\r\n\t\t\tstate.ssoUser = obj\r\n\t\t},\r\n\t\tsetSysInfo(state, obj) {\r\n\t\t\tstate.sysModel = obj\r\n\t\t}\r\n\t},\r\n\tactions: {\r\n\t\tUserLogin(context, {\r\n\t\t\tloginid,\r\n\t\t\tloginPwd,\r\n\t\t\tproductID,\r\n\t\t\tplatform,\r\n\t\t\tdeviceID,\r\n\t\t\tphoneLogin\r\n\t\t}) {\r\n\t\t\treturn axios.post('api/User/LoginUsers', {\r\n\t\t\t\tLoginID: loginid,\r\n\t\t\t\tLoginPwd: loginPwd,\r\n\t\t\t\tProductID: productID,\r\n\t\t\t\tPlatform: platform,\r\n\t\t\t\tDeviceID: deviceID,\r\n\t\t\t\tPhoneLogin: phoneLogin\r\n\t\t\t})\r\n\t\t},\r\n\t\tsingleLogin(context, {\r\n\t\t\tloginid,\r\n\t\t\tloginPwd,\r\n\t\t\tproductID,\r\n\t\t\tplatform,\r\n\t\t\tdeviceID,\r\n\t\t\tphoneLogin,\r\n\t\t\trefreshToken\r\n\t\t}) {\r\n\t\t\treturn axios.post('api/User/SingleLoginUsers', {\r\n\t\t\t\tLoginID: loginid,\r\n\t\t\t\tLoginPwd: loginPwd,\r\n\t\t\t\tProductID: productID,\r\n\t\t\t\tPlatform: platform,\r\n\t\t\t\tDeviceID: deviceID,\r\n\t\t\t\tPhoneLogin: phoneLogin,\r\n\t\t\t\tRefreshToken: refreshToken\r\n\t\t\t})\r\n\t\t},\r\n\t\tsend_phoneCode(context, par) {\r\n\t\t\treturn axios.post('api/Client/UsersPhone_SendCode', par)\r\n\t\t},\r\n\t\tcheck(context, getdata) {\r\n\t\t\treturn axios.post('api/User/SSO_CheckUser', {\r\n\t\t\t\turlPath: getdata\r\n\t\t\t})\r\n\t\t},\r\n\t\tserviceValidate(context, postData) {\r\n\t\t\treturn axios.post('api/User/ServiceValidate', postData)\r\n\t\t}\r\n\t},\r\n\tmodules: {}\r\n})","export default {\r\n\tbaseURL: 'https://eduapi.yjwledu.cn/',\r\n\tfileurl: 'https://eduapi.yjwledu.cn',\r\n\t// baseURL: 'http://127.0.0.1:81/',\r\n\t// fileurl: 'http://127.0.0.1:81',\r\n\t// baseURL: 'https://dklnpg.lnvcm.edu.cn/',\r\n\t// fileurl: 'https://dklnpg.lnvcm.edu.cn',\r\n\t// baseURL: 'https://localhost:44356/',\r\n\t// fileurl: 'https://localhost:44356',\r\n\t// baseURL: 'http://192.168.66.220:8000/',\r\n\t// fileurl: 'http://192.168.66.220:8000',\r\n\t// baseURL: 'http://192.168.66.72:81/',\r\n\t// fileurl: 'http://192.168.66.72:81',\r\n\t// baseURL: 'http://192.168.10.101:8001/',\r\n\t// fileurl: 'http://192.168.10.101:8001',\r\n\t// webgl_ossUrl: 'http://yjwl-webgl.oss-cn-beijing.aliyuncs.com/',\r\n\tproductID: 'webPlatform',\r\n\t// -------------图表上显示的logo名称---------------\r\n\tcanvasText: '', //北京育见未来\r\n\t// ---------------是否显示育见logo--------------\r\n\t// logo: false,\r\n\tlogo: true,\r\n\topenFooter: false, //页尾是否显示\r\n\t//------------------ 系统名称------------------\r\n\tsysID: 0,\r\n\t// sysName:'1+X养老服务智能虚拟仿真实训平台',\r\n\tsysName: '北京育见未来-官网',\r\n\t// sysName: '智慧教育云平台',\r\n\t// sysName: '智慧养老实训一体化系统',\r\n\t// sysName: '赛训-视频评价',\r\n\tassessmentType: '2',\r\n\t// -------------------系统版本-----------------------\r\n\tversion: 'v1.4',\r\n\tSimQueuingNumber: 100, //仿真实验-超出人数开始排队\r\n\tshowCourseCreateTime: true, //是否显示 课程列表-创建时间\r\n\tidentifyCodeUser: true, //登录 验证码功能\r\n\tofficialAliyunServerBuild: true, //是否是公司阿里云部署-true:后台显示管理模块,false:不显示\r\n\t// ssoServers: 'https://edu.yjwledu.cn',\r\n\t// locationOrigin: 'https://edu.yjwledu.cn',\r\n\r\n\t// ssoServers: 'http://192.168.66.220:8001',\r\n\t// locationOrigin: 'http://192.168.66.220:8001',\r\n\r\n\t// ssoServers: 'http://localhost:8080',\r\n\t// locationOrigin: 'http://localhost:8080',\r\n\r\n\t// ssoServers: 'http://127.0.0.1',\r\n\t// locationOrigin: 'http://127.0.0.1',\r\n\r\n\t// ssoServers: 'http://192.168.66.72',\r\n\t// locationOrigin: 'http://192.168.66.72',\r\n\r\n\t// ssoServers: 'http://192.168.10.101:8002',\r\n\t// locationOrigin: 'http://192.168.10.101:8002',\r\n\r\n\t// locationOrigin: 'http://psv.yjwledu.cn',\r\n\t// locationOrigin: 'https://temp.yjwledu.cn',\r\n\r\n\t// ssoServers: 'https://lnpg.lnvcm.edu.cn',\r\n\t// locationOrigin: 'https://lnpg.lnvcm.edu.cn'\r\n}","import crypto from 'crypto'\r\n\r\nexport default {\r\n\t// 加密\r\n\tEncrypt(data, key, iv) {\r\n\t\tiv = iv || \"\";\r\n\t\tvar clearEncoding = 'utf8';\r\n\t\tvar cipherEncoding = 'base64';\r\n\t\tvar cipherChunks = [];\r\n\t\tvar cipher = crypto.createCipheriv('aes-128-cbc', key, iv);\r\n\t\tcipher.setAutoPadding(true);\r\n\t\tcipherChunks.push(cipher.update(data, clearEncoding, cipherEncoding));\r\n\t\tcipherChunks.push(cipher.final(cipherEncoding));\r\n\t\treturn cipherChunks.join('');\r\n\t},\r\n\t// 解密\r\n\tDecrypt(data, key, iv) {\r\n\t\tif (!data) {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\tiv = iv || \"\";\r\n\t\tvar clearEncoding = 'utf8';\r\n\t\tvar cipherEncoding = 'base64';\r\n\t\tvar cipherChunks = [];\r\n\t\tvar decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);\r\n\t\tdecipher.setAutoPadding(true);\r\n\t\tcipherChunks.push(decipher.update(data, cipherEncoding, clearEncoding));\r\n\t\tcipherChunks.push(decipher.final(clearEncoding));\r\n\t\treturn cipherChunks.join('');\r\n\t}\r\n}\n","import axios from 'axios'\r\nimport Qs from 'qs'\r\nimport config from './config'\r\nimport store from '../store'\r\nimport aes from './aes.js'\r\n\r\naxios.defaults.baseURL = config.baseURL\r\n// axios.fileUrl = config.fileurl\r\n\r\nfunction gettoken() {\r\n\treturn localStorage.getItem('yjwltoken')\r\n}\r\n\r\n// 创建一个axios实例\r\nconst instance = axios.create({\r\n\ttimeout: 300000,\r\n\theaders: {\r\n\t\t'Content-Type': 'application/json',\r\n\t\t'Authorization': 'Bearer ' + gettoken() // headers塞token\r\n\t}\r\n})\r\n\r\ninstance.fileUrl = config.fileurl\r\ninstance.productID = config.productID\r\ninstance.token = gettoken()\r\ninstance.webgl_ossUrl = config.webgl_ossUrl\r\n\r\n// 给实例添加一个setToken方法,用于登录后将最新token动态添加到header,同时将token保存在localStorage中\r\ninstance.setToken = (token) => {\r\n\tinstance.defaults.headers['Authorization'] = 'Bearer ' + token\r\n\tlocalStorage.setItem('yjwltoken', token)\r\n}\r\n\r\nfunction refreshToken() {\r\n\t// instance是当前request.js中已创建的axios实例\r\n\treturn axios.get('api/User/RefreshToken/' + store.state.userInfo.id).then(res => res.data)\r\n}\r\n\r\n// 是否正在刷新的标记\r\nlet isRefreshing = false\r\n// 重试队列,每一项将是一个待执行的函数形式\r\nlet requests = []\r\n\r\ninstance.interceptors.response.use(response => {\r\n\tconst {\r\n\t\tcode\r\n\t} = response.data\r\n\t//******************jiemi开始 *************************\r\n\tif (typeof(response.data.data) == 'string') {\r\n\t\t// 验证是否为加密字符串-排除法\r\n\t\tif (response.data.data.indexOf('Files') > -1) {\r\n\t\t\t//包含files 不是加密的\r\n\t\t} else {\r\n\t\t\tlet _token = gettoken()\r\n\t\t\tlet _keystr = _token.substring(_token.length - 16, _token.length)\r\n\t\t\tlet _data = aes.Decrypt(response.data.data, _keystr.split('').reverse().join(''), _token.substring(0, 16))\r\n\t\t\tresponse.data.data = JSON.parse(_data)\r\n\t\t\t// console.log(_data)\r\n\t\t}\r\n\t}\r\n\t//******************jiemi结束 *************************\r\n\t// console.log(response.data)\r\n\t// return false\r\n\tif (code === 3001) {\r\n\t\t// console.log('刷新token')\r\n\t\tconst config = response.config\r\n\t\tif (!isRefreshing) {\r\n\t\t\tisRefreshing = true\r\n\t\t\treturn refreshToken().then(res => {\r\n\t\t\t\tconst { token } = res\r\n\r\n\t\t\t\tif (res.code == '4002') {\r\n\t\t\t\t\talert('登录超时,请重新登录')\r\n\t\t\t\t\tconsole.log('登录超时,请重新登录')\r\n\t\t\t\t\twindow.location.href = '/'\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinstance.setToken(token)\r\n\t\t\t\tinstance.token = gettoken()\r\n\t\t\t\tconfig.headers['Authorization'] = 'Bearer ' + token\r\n\t\t\t\t// 已经刷新了token,将所有队列中的请求进行重试\r\n\t\t\t\trequests.forEach(cb => cb(token))\r\n\t\t\t\trequests = []\r\n\t\t\t\treturn instance(config)\r\n\t\t\t}).catch(res => {\r\n\t\t\t\tconsole.error('refreshtoken error =>', res)\r\n\t\t\t}).finally(() => {\r\n\t\t\t\tisRefreshing = false\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\t// 正在刷新token,将返回一个未执行resolve的promise\r\n\t\t\treturn new Promise((resolve) => {\r\n\t\t\t\t// 将resolve放进队列,用一个函数形式来保存,等token刷新后直接执行\r\n\t\t\t\trequests.push((token) => {\r\n\t\t\t\t\tconfig.headers['Authorization'] = 'Bearer ' + token\r\n\t\t\t\t\tresolve(instance(config))\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t}\r\n\t} else if (code === 3002) {\r\n\t\tlocalStorage.removeItem('yjwltoken')\r\n\t\talert('token失效,账号异地登录')\r\n\t\twindow.location.href = '/'\r\n\t}\r\n\treturn response\r\n}, error => {\r\n\treturn Promise.reject(error)\r\n})\r\n\r\nexport default instance","let IpAddress={}\r\n//获取浏览器信息\r\nfunction getExploreName() {\r\n\tvar userAgent = navigator.userAgent;\r\n\t// console.log(userAgent)\r\n\tif (userAgent.indexOf(\"Opera\") > -1 || userAgent.indexOf(\"OPR\") > -1) {\r\n\t\treturn 'Opera';\r\n\t} else if (userAgent.indexOf(\"compatible\") > -1 && userAgent.indexOf(\"MSIE\") > -1) {\r\n\t\treturn 'IE';\r\n\t} else if (userAgent.indexOf(\"Edge\") > -1) {\r\n\t\treturn 'Edge';\r\n\t} else if (userAgent.indexOf(\"Firefox\") > -1) {\r\n\t\treturn 'Firefox';\r\n\t} else if (userAgent.indexOf(\"Safari\") > -1 && userAgent.indexOf(\"Chrome\") == -1) {\r\n\t\treturn 'Safari';\r\n\t} else if (userAgent.indexOf(\"Chrome\") > -1 && userAgent.indexOf(\"Safari\") > -1) {\r\n\t\treturn 'Chrome';\r\n\t} else if (!!window.ActiveXObject || \"ActiveXObject\" in window) {\r\n\t\treturn 'IE(11+)';\r\n\t} else {\r\n\t\treturn 'Unkonwn';\r\n\t}\r\n}\r\n\r\n//获取操作系统信息 \r\nfunction getOsInfo() {\r\n\tvar userAgent = navigator.userAgent.toLowerCase();\r\n\tvar name = 'Unknown';\r\n\tvar version = 'Unknown';\r\n\tif (userAgent.indexOf('win') > -1) {\r\n\t\tname = 'Windows';\r\n\t\tif (userAgent.indexOf('windows nt 5.0') > -1) {\r\n\t\t\tversion = 'Windows 2000';\r\n\t\t} else if (userAgent.indexOf('windows nt 5.1') > -1 || userAgent.indexOf('windows nt 5.2') > -1) {\r\n\t\t\tversion = 'Windows XP';\r\n\t\t} else if (userAgent.indexOf('windows nt 6.0') > -1) {\r\n\t\t\tversion = 'Windows Vista';\r\n\t\t} else if (userAgent.indexOf('windows nt 6.1') > -1 || userAgent.indexOf('windows 7') > -1) {\r\n\t\t\tversion = 'Windows 7';\r\n\t\t} else if (userAgent.indexOf('windows nt 6.2') > -1 || userAgent.indexOf('windows 8') > -1) {\r\n\t\t\tversion = 'Windows 8';\r\n\t\t} else if (userAgent.indexOf('windows nt 6.3') > -1) {\r\n\t\t\tversion = 'Windows 8.1';\r\n\t\t} else if (userAgent.indexOf('windows nt 6.2') > -1 || userAgent.indexOf('windows nt 10.0') > -1) {\r\n\t\t\tversion = 'Windows 10';\r\n\t\t} else {\r\n\t\t\tversion = 'Unknown';\r\n\t\t}\r\n\t} else if (userAgent.indexOf('iphone') > -1) {\r\n\t\tname = 'Iphone';\r\n\t} else if (userAgent.indexOf('mac') > -1) {\r\n\t\tname = 'Mac';\r\n\t} else if (userAgent.indexOf('x11') > -1 || userAgent.indexOf('unix') > -1 || userAgent.indexOf('sunname') > -1 ||\r\n\t\tuserAgent.indexOf('bsd') > -1) {\r\n\t\tname = 'Unix';\r\n\t} else if (userAgent.indexOf('linux') > -1) {\r\n\t\tif (userAgent.indexOf('android') > -1) {\r\n\t\t\tname = 'Android';\r\n\t\t} else {\r\n\t\t\tname = 'Linux';\r\n\t\t}\r\n\t} else {\r\n\t\tname = 'Unknown';\r\n\t}\r\n\treturn {\r\n\t\tname,\r\n\t\tversion\r\n\t};\r\n}\r\n\r\nIpAddress.exploreName = getExploreName()\r\nIpAddress.os = getOsInfo()\r\nexport default IpAddress\n","export default {\r\n\t//用于生成uuid\r\n\tS4() {\r\n\t\treturn (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n\t},\r\n\tguid() {\r\n\t\tlet str='-'\r\n\t\treturn (this.S4() + this.S4() + str + this.S4() + str + this.S4() + str + this.S4()+ str +this.S4() + this.S4() + this.S4());\r\n\t}\r\n}\n","const funcs = {\r\n\ttoTimeFormatQuotes(times = '0') {\r\n\t\tlet timeInt = parseInt(times);\r\n\r\n\t\treturn `${parseInt(timeInt/60)}时${timeInt%60}分`;\r\n\t},\r\n\ttoTimeFormatYmdhms(date = new Date(date)) {\r\n\t\tdate = new Date(date)\r\n\t\treturn `${date.getFullYear()}-${date.getMonth()+1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`;\r\n\t}\r\n}\r\n\r\nfunction funcMap(args = []) {\r\n\tlet map = []\r\n\tfor (let key in funcs) args.indexOf(key) > -1 && (map[key] = funcs[key])\r\n\treturn map\r\n}\r\n\r\nexport default {\r\n\t//去掉 时间最后多出来的.0\r\n\tdelLastTime0(val) {\r\n\t\tif (val) {\r\n\t\t\treturn val.replace(/.[0-9]*$/, '')\r\n\t\t}\r\n\t},\r\n\t//标准时间格式化\r\n\tdateFormater(val) {\r\n\t\tvar d = new Date(val);\r\n\t\treturn d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();\r\n\t},\r\n\t//获取时间的年月日\r\n\tgetYear_Month_Day(val) {\r\n\t\tvar d = new Date(val);\r\n\t\treturn d.getFullYear() + '年' + (d.getMonth() + 1) + '月' + d.getDate() + '日'\r\n\t},\r\n\t//获取当前时间\r\n\tgetTime() {\r\n\t\treturn this.dateFormater(new Date())\r\n\t},\r\n\tGetTimeAddYears(val) {\r\n\t\tlet d1 = new Date();\r\n\t\td1.setFullYear(d1.getFullYear() + val);\r\n\t\td1.setDate(d1.getDate() - val);\r\n\t\treturn d1\r\n\t},\r\n\tgetTimeStamp() {\r\n\t\treturn new Date().getTime()\r\n\t},\r\n\t//时间戳转时间格式\r\n\ttimeStamp_dateFormater(formater, t) {\r\n\t\tlet date = t ? new Date(t) : new Date(),\r\n\t\t\tY = date.getFullYear() + '',\r\n\t\t\tM = date.getMonth() + 1,\r\n\t\t\tD = date.getDate(),\r\n\t\t\tH = date.getHours(),\r\n\t\t\tm = date.getMinutes(),\r\n\t\t\ts = date.getSeconds();\r\n\t\treturn formater.replace(/YYYY|yyyy/g, Y)\r\n\t\t\t.replace(/YY|yy/g, Y.substr(2, 2))\r\n\t\t\t.replace(/MM/g, (M < 10 ? '0' : '') + M)\r\n\t\t\t.replace(/DD/g, (D < 10 ? '0' : '') + D)\r\n\t\t\t.replace(/HH|hh/g, (H < 10 ? '0' : '') + H)\r\n\t\t\t.replace(/mm/g, (m < 10 ? '0' : '') + m)\r\n\t\t\t.replace(/ss/g, (s < 10 ? '0' : '') + s).replace(' ', 'T')\r\n\t},\r\n\t// 考试倒计时 秒 转 分:秒\r\n\texam_viewTime(val, fg) {\r\n\t\tif (!fg) {\r\n\t\t\tfg = ':'\r\n\t\t}\r\n\r\n\t\tlet mm = 0\r\n\t\tif (val >= 60) {\r\n\t\t\tmm = parseInt(val / 60)\r\n\t\t}\r\n\t\tlet ss = val % 60\r\n\r\n\t\tif (fg == ':') {\r\n\t\t\tif (ss < 10) {\r\n\t\t\t\treturn mm + ' ' + fg + ' 0' + ss\r\n\t\t\t}\r\n\t\t\treturn mm + fg + ss\r\n\t\t} else {\r\n\t\t\tif (ss < 10) {\r\n\t\t\t\treturn mm + '′0' + ss + '″'\r\n\t\t\t}\r\n\t\t\treturn mm + '′' + ss + '″'\r\n\t\t}\r\n\t},\r\n\t// 考试倒计时 秒 转 x分x秒\r\n\texam_viewTime_ch(val) {\r\n\t\tif (val > 0) {\r\n\t\t\tval = parseInt(val)\r\n\t\t}\r\n\t\tlet mm = 0\r\n\t\tif (val >= 60) {\r\n\t\t\tmm = parseInt(val / 60)\r\n\t\t}\r\n\t\tlet ss = val % 60\r\n\t\tif (ss < 10) {\r\n\t\t\treturn mm + '分0' + ss + '秒'\r\n\t\t}\r\n\t\treturn mm + '分' + ss + '秒'\r\n\t},\r\n\t// 考试倒计时 秒 转 x小时x分s秒\r\n\texam_viewTime_ch_hh_mm(val) {\r\n\t\tlet hh = 0\r\n\t\tlet mm = 0\r\n\t\tlet s = 0\r\n\r\n\t\tif (val >= 3600) {\r\n\t\t\thh = parseInt(val / 3600)\r\n\t\t}\r\n\r\n\t\tlet ss = val % 3600\r\n\r\n\t\tif (ss >= 60) {\r\n\t\t\ts = ss % 60\r\n\t\t\tmm = parseInt(ss / 60)\r\n\t\t\tif (mm < 10) {\r\n\t\t\t\treturn hh + '小时0' + mm + '分' + s + '秒'\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\ts = ss\r\n\t\t}\r\n\t\treturn hh + '小时' + mm + '分' + s + '秒'\r\n\t},\r\n\t//秒 转 xx小时xx分\r\n\ts_to_hh_mm(val) {\r\n\t\tlet hh = 0\r\n\t\tlet mm = 0\r\n\t\tif (val >= 3600) {\r\n\t\t\thh = parseInt(val / 3600)\r\n\t\t}\r\n\t\tlet ss = val % 3600\r\n\t\tif (ss >= 60) {\r\n\t\t\tmm = parseInt(ss / 60)\r\n\t\t\tif (mm < 10) {\r\n\t\t\t\treturn hh + '小时0' + mm + '分'\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn hh + '小时' + mm + '分'\r\n\t},\r\n\t//计算两个时间的时间差,返回时间格式(分秒)\r\n\t//返回时间格式:x′x″ \r\n\tmath_A_B(a, b) {\r\n\t\tlet _a = new Date(a)\r\n\t\tlet _b = new Date(b)\r\n\t\tlet _c = _b.getTime() - _a.getTime()\r\n\t\treturn this.exam_viewTime(_c / 1000)\r\n\t},\r\n\t//计算两个时间的差值,返回时间字符串,如果差值为【0】,返回 【-】\r\n\t//返回时间格式: x分x秒\r\n\tmath_A_B_str(a, b) {\r\n\t\tlet _a = new Date(a)\r\n\t\tlet _b = new Date(b)\r\n\t\tlet _c = _b.getTime() - _a.getTime()\r\n\t\tif (_c == 0) {\r\n\t\t\treturn '-'\r\n\t\t} else {\r\n\t\t\treturn this.exam_viewTime_ch(_c / 1000)\r\n\t\t}\r\n\t},\r\n\t//计算两个时间的差值,返回时间字符串\r\n\t//返回时间值\r\n\tmath_A_B_num(a, b) {\r\n\t\tlet _a = new Date(a)\r\n\t\tlet _b = new Date(b)\r\n\t\tlet _c = _b.getTime() - _a.getTime()\r\n\t\treturn _c\r\n\t},\r\n\t// 时间戳转时间\r\n\ttimestampToTime(timestamp) {\r\n\t\tconst date = new Date(timestamp);\r\n\t\treturn date.toLocaleString();\r\n\t}\r\n};\r\n\r\nexport {\r\n\tfuncMap\r\n};","export default {\r\n\tspeak(value) {\r\n\t\t//判断是否存在正在播放的音频\r\n\t\tif (speechSynthesis.speaking) {\r\n\t\t\t//终止播放\r\n\t\t\tspeechSynthesis.cancel();\r\n\t\t}\r\n\t\tvar ssu = new SpeechSynthesisUtterance(value)\r\n\t\tssu.volume = 1; // 音量0-1\r\n\t\tssu.rate = 1; // 语速0.1-10\r\n\t\tssu.pitch = 1; // 音高0-2\r\n\t\tssu.voiceURI = ''; // 指定希望使用的声音\r\n\r\n\t\t// speechSynthesis.speak(new SpeechSynthesisUtterance(value))\r\n\t\tspeechSynthesis.speak(ssu)\r\n\t},\r\n\tpause() {\r\n\t\tspeechSynthesis.pause();\r\n\t},\r\n\tresume() {\r\n\t\tspeechSynthesis.resume();\r\n\t}\r\n}\n","export default {\r\n\t//关闭网页\r\n\tclosePage() {\r\n\t\tvar userAgent = navigator.userAgent;\r\n\t\tif (userAgent.indexOf(\"Firefox\") != -1 || userAgent.indexOf(\"Chrome\") != -1) {\r\n\t\t\twindow.open('', '_self').close()\r\n\t\t} else {\r\n\t\t\twindow.opener = null;\r\n\t\t\twindow.open(\"about:blank\", \"_self\");\r\n\t\t\twindow.close();\r\n\t\t}\r\n\t},\r\n\t//创建a标签,用于下载,访问\r\n\tcreateA(url, filename) {\r\n\t\tconst link = document.createElement('a');\r\n\t\t// link.target = '_blank' //如果该值为‘_self'该行可忽略\r\n\t\tlink.target = '_self' //如果该值为‘_self'该行可忽略\r\n\t\tlink.style.display = 'none';\r\n\t\tlink.href = url; //所下载文件的网络地址\r\n\t\tlink.download = filename; //下载成功后保存的文件名\r\n\t\tdocument.body.appendChild(link);\r\n\t\tlink.click();\r\n\t\tlink.remove();\r\n\t},\r\n\t//创建a标签,用于下载,访问\r\n\t//同源下载修改名称,跨域不修改\r\n\tdownloadFile(url, filename) {\r\n\t\tconst link = document.createElement('a');\r\n\t\tlink.style.display = 'none';\r\n\t\t// 设置下载地址\r\n\t\tlink.setAttribute('href', url);\r\n\t\t// 设置文件名\r\n\t\tlink.setAttribute('download', filename);\r\n\t\tdocument.body.appendChild(link);\r\n\t\tlink.click();\r\n\t\tdocument.body.removeChild(link);\r\n\t},\r\n\t//下载文件,修改下载文件名称\r\n\t//后台iis需要设置跨域访问 Access-Control-Allow-Origin:*\r\n\tdownloadFile_CORS(url, filename) {\r\n\t\tfetch(url).then((res) => {\r\n\t\t\tres.blob().then((blob) => {\r\n\t\t\t\tconst url = window.URL.createObjectURL(blob)\r\n\t\t\t\tconst a = document.createElement('a')\r\n\t\t\t\ta.href = url\r\n\t\t\t\ta.download = filename\r\n\t\t\t\ta.click()\r\n\t\t\t\twindow.URL.revokeObjectURL(url)\r\n\t\t\t})\r\n\t\t})\r\n\t}\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 ElementUI from 'element-ui'\r\nimport $ from 'jquery'\r\nimport echarts from 'echarts'\r\nimport VueCropper from 'vue-cropper'\r\nimport 'element-ui/lib/theme-chalk/index.css'\r\nimport VueClipboard from 'vue-clipboard2'\r\nimport Vue2OrgTree from 'vue2-org-tree'\r\n\r\n// 导入util\r\nimport axios from './util/axios'\r\nimport device from './util/device'\r\nimport guid from './util/guid'\r\nimport time from './util/time'\r\nimport speak from './util/speechSynthesis'\r\nimport action from './util/action.js'\r\n// import \"./util/video.js\";\r\n// import cursoreffects from './util/cursor-effects.js'\r\nimport './util/protocolcheck.js'\r\nimport config from './util/config.js'\r\nimport aes from './util/aes.js'\r\nimport cors from 'koa2-cors'\r\nimport publicMethods from './util/publicMethods.js'\r\nimport jm from 'vue-jsmind'\r\n\r\nVue.config.productionTip = false\r\nVue.prototype.$device = device\r\nVue.prototype.$http = axios\r\nVue.prototype.$echarts = echarts\r\nVue.prototype.$loading = ElementUI.Loading.service\r\nVue.prototype.$msgbox = ElementUI.MessageBox\r\nVue.prototype.$alert = ElementUI.MessageBox.alert\r\nVue.prototype.$confirm = ElementUI.MessageBox.confirm\r\nVue.prototype.$prompt = ElementUI.MessageBox.prompt\r\nVue.prototype.$notify = ElementUI.Notification\r\nVue.prototype.$guid = guid\r\nVue.prototype.$time = time\r\nVue.prototype.$config = config\r\nVue.prototype.$aes = aes\r\nVue.prototype.$ = $\r\nVue.prototype.$speak = speak\r\nVue.prototype.$publicMethods = publicMethods\r\n// Vue.prototype.$action = action\r\n\r\n\nVue.use(VueClipboard)\r\nVue.use(VueCropper)\r\nVue.use(ElementUI)\r\nVue.use(Vue2OrgTree)\r\nVue.use(cors)\r\nVue.use(jm)\r\n\r\n//放在Vue.use(ElementUI) 后边,重写已添加message方法\r\nVue.prototype.$message = function(msg) {\r\n\t//弹出提示框\r\n\t// 页面顶部-中间提示框\r\n\t// ElementUI.Message(msg)\r\n\t// 四角提示框\r\n\tElementUI.Notification({\r\n\t\ttitle: '提示',\r\n\t\tmessage: msg.message,\r\n\t\ttype: msg.type,\r\n\t\tduration: 3000,\r\n\t\tposition: 'bottom-right'\r\n\t})\r\n\r\n\t//增加语音播放功能---开始\r\n\tspeak.speak(msg.message)\r\n\t//增加语音播放功能---结束\r\n\r\n\t// 记录提示信息\r\n\t// let log_pageAction = {\r\n\t// \ttypeName: msg.type, //提示类型\r\n\t// \tmessage: msg.message, //提示内容\r\n\t// \trouterPath: router.history.current.path, //路由地址\r\n\t// \texploreName: device.exploreName, //终端\r\n\t// \tos: JSON.stringify(device.os), //系统\r\n\t// \tuserID: store.getters[\"getUserInfo\"]\r\n\t// }\r\n\t// log_action.saveActionLog(log_pageAction, this.$http)\r\n}\r\n\r\n\r\n\r\n\r\n//全屏\r\nVue.prototype.$fullScreen = function() {\r\n\tlet element = document.documentElement;\r\n\tif (element.requestFullscreen) {\r\n\t\telement.requestFullscreen();\r\n\t} else if (element.msRequestFullscreen) {\r\n\t\telement.msRequestFullscreen();\r\n\t} else if (element.mozRequestFullScreen) {\r\n\t\telement.mozRequestFullScreen();\r\n\t} else if (element.webkitRequestFullscreen) {\r\n\t\telement.webkitRequestFullscreen();\r\n\t}\r\n\r\n\t//禁用esc\r\n}\r\n\r\n//退出全屏\r\nVue.prototype.$exitFullscreen = function() {\r\n\tif (document.exitFullscreen) {\r\n\t\tdocument.exitFullscreen();\r\n\t} else if (document.msExitFullscreen) {\r\n\t\tdocument.msExitFullscreen();\r\n\t} else if (document.mozCancelFullScreen) {\r\n\t\tdocument.mozCancelFullScreen();\r\n\t} else if (document.webkitExitFullscreen) {\r\n\t\tdocument.webkitExitFullscreen();\r\n\t}\r\n\r\n\t//解除禁用esc\r\n\r\n}\r\n\r\n\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n\t/* 路由发生变化修改页面title */\r\n\tif (to.meta.title) {\r\n\t\tdocument.title = config.sysName + '-' + to.meta.title\r\n\t}\r\n\tnext()\r\n})\r\n\r\nnew Vue({\r\n\trouter,\r\n\tstore,\r\n\trender: h => h(App)\r\n}).$mount('#app')\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.protocolCheck = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o\");\n\n setTimeout(function () {\n try {\n myWindow.location.href;\n myWindow.setTimeout(\"window.close()\", 1000);\n successCb();\n } catch (e) {\n myWindow.close();\n failCb();\n }\n }, 1000);\n}\n\nfunction openUriWithMsLaunchUri(uri, failCb, successCb) {\n navigator.msLaunchUri(uri,\n successCb,\n failCb\n );\n}\n\nfunction checkBrowser() {\n var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;\n var ua = navigator.userAgent.toLowerCase();\n return {\n isOpera : isOpera,\n isFirefox : typeof InstallTrigger !== 'undefined',\n isSafari : (~ua.indexOf('safari') && !~ua.indexOf('chrome')) || Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0,\n isIOS : /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream,\n isChrome : !!window.chrome && !isOpera,\n isIE : /*@cc_on!@*/false || !!document.documentMode // At least IE6\n }\n}\n\nfunction getInternetExplorerVersion() {\n var rv = -1;\n if (navigator.appName === \"Microsoft Internet Explorer\") {\n var ua = navigator.userAgent;\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\n if (re.exec(ua) != null)\n rv = parseFloat(RegExp.$1);\n }\n else if (navigator.appName === \"Netscape\") {\n var ua = navigator.userAgent;\n var re = new RegExp(\"Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})\");\n if (re.exec(ua) != null) {\n rv = parseFloat(RegExp.$1);\n }\n }\n return rv;\n}\n\nmodule.exports = function(uri, failCb, successCb, unsupportedCb) {\n function failCallback() {\n failCb && failCb();\n }\n\n function successCallback() {\n successCb && successCb();\n }\n\n if (navigator.msLaunchUri) { //for IE and Edge in Win 8 and Win 10\n openUriWithMsLaunchUri(uri, failCb, successCb);\n } else {\n var browser = checkBrowser();\n\n if (browser.isFirefox) {\n openUriUsingFirefox(uri, failCallback, successCallback);\n } else if (browser.isChrome || browser.isIOS) {\n openUriWithTimeoutHack(uri, failCallback, successCallback);\n } else if (browser.isIE) {\n openUriUsingIEInOlderWindows(uri, failCallback, successCallback);\n } else if (browser.isSafari) {\n openUriWithHiddenFrame(uri, failCallback, successCallback);\n } else {\n unsupportedCb();\n //not supported, implement please\n }\n }\n}\n\n},{}]},{},[1])(1)\n});"],"sourceRoot":""}