{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?01c4","webpack:///src/App.vue","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/store/index.js","webpack:///./src/api/utils.js","webpack:///./src/router/index.js","webpack:///./src/api/https.js","webpack:///./src/api/apis.js","webpack:///./src/main.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","attrs","isLoading","on","$event","staticRenderFns","computed","$store","state","components","Loading","methods","component","Vue","use","Vuex","Store","token","tokenExpire","tagGroup","id","typeName","color","actions","loadingHandler","context","payload","commit","mutations","LOADING","SAVE_TOKEN","localStorage","setItem","SAVE_TOKEN_EXPIRE","toCalendar","timerInterval","store","dispatch","removeItem","$swal","title","html","timer","timerProgressBar","onBeforeOpen","showLoading","setInterval","content","getContent","b","querySelector","textContent","getTimerLeft","onClose","clearInterval","router","replace","query","redirect","currentRoute","fullPath","location","reload","to404Page","originalPush","VueRouter","catch","routes","path","meta","requireAuth","NoNeedHome","base","process","scrollBehavior","to","from","savedPosition","x","y","beforeEach","next","Token","log","TokenExpire","$alertT","fire","icon","errorHandle","status","msg","url","instance","axios","baseURL","interceptors","config","headers","Authorization","response","method","toLowerCase","post","params","delete","put","api","GetToken","req","GetInfoByToken","GetNavigationBar","CheckTokenExpire","GetUnitListItem","GetLocationListItem","GetEvents","GetDetail","GetEventsPage","GetEventById","GetUnits","VueAxios","ElementUI","CKEditor","VueSweetalert2","VueSocialSharing","alertT","mixin","toast","position","showConfirmButton","showCloseButton","onOpen","addEventListener","stopTimer","resumeTimer","alertM","productionTip","$api","$alertM","render","h","App","$mount"],"mappings":"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","file":"js/app.8af55b57.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-0af235cb\":\"30340831\",\"chunk-2d208507\":\"0a691685\",\"chunk-871543fe\":\"a4b81d8a\",\"chunk-11c1112d\":\"6cc02eb6\",\"chunk-2d0cebae\":\"82e8c4af\"}[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-0af235cb\":1,\"chunk-871543fe\":1,\"chunk-11c1112d\":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-0af235cb\":\"87d39bcc\",\"chunk-2d208507\":\"31d6cfe0\",\"chunk-871543fe\":\"67102919\",\"chunk-11c1112d\":\"63900e7d\",\"chunk-2d0cebae\":\"31d6cfe0\"}[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 = \"/NTUACalendar/\";\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('loading',{attrs:{\"active\":_vm.isLoading},on:{\"update:active\":function($event){_vm.isLoading=$event}}}),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n","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=b13b079c&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\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 Vuex from \"vuex\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n token: \"\",\r\n tokenExpire: \"\",\r\n isLoading: false,\r\n tagGroup: [\r\n {\r\n id: 1,\r\n typeName: \"行政\",\r\n color: \"#f7a5b6\",\r\n },\r\n {\r\n id: 2,\r\n typeName: \"展覽\",\r\n color: \"#77c7ee\",\r\n },\r\n {\r\n id: 3,\r\n typeName: \"表演\",\r\n color: \"#7ab878\",\r\n },\r\n {\r\n id: 4,\r\n typeName: \"播映\",\r\n color: \"#aa8ff5\",\r\n },\r\n {\r\n id: 5,\r\n typeName: \"學術\",\r\n color: \"#e5976c\",\r\n },\r\n ],\r\n },\r\n actions: {\r\n //loading\r\n loadingHandler(context, payload) {\r\n context.commit(\"LOADING\", payload);\r\n },\r\n },\r\n mutations: {\r\n LOADING(state, payload) {\r\n state.isLoading = payload;\r\n },\r\n SAVE_TOKEN(state, data) {\r\n state.token = data;\r\n window.localStorage.setItem(\"Token\", data);\r\n },\r\n SAVE_TOKEN_EXPIRE(state, data) {\r\n state.tokenExpire = data;\r\n window.localStorage.setItem(\"TokenExpire\", data);\r\n },\r\n },\r\n\r\n modules: {},\r\n});\r\n","import router from \"../router/index\";\r\nimport Vue from \"vue\";\r\nimport store from \"../store/index\";\r\n\r\n// 跳轉回首頁\r\n// 登入完成後跳轉回原頁面\r\nexport const toCalendar = () => {\r\n let timerInterval;\r\n store.dispatch(\"loadingHandler\", false);\r\n window.localStorage.removeItem(\"user\");\r\n window.localStorage.removeItem(\"Token\");\r\n window.localStorage.removeItem(\"TokenExpire\");\r\n window.localStorage.removeItem(\"refreshtime\");\r\n Vue.prototype.$swal({\r\n title: \"帳號時效逾期,請重新登入\",\r\n html: \"頁面將於 ms後跳轉\",\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onBeforeOpen: () => {\r\n Vue.prototype.$swal.showLoading();\r\n timerInterval = window.setInterval(() => {\r\n const content = Vue.prototype.$swal.getContent();\r\n if (content) {\r\n const b = content.querySelector(\"b\");\r\n if (b) {\r\n b.textContent = Vue.prototype.$swal.getTimerLeft();\r\n }\r\n }\r\n }, 100);\r\n },\r\n onClose: () => {\r\n clearInterval(timerInterval);\r\n router.replace({\r\n name: \"Calendar\",\r\n query: {\r\n redirect: router.currentRoute.fullPath,\r\n },\r\n });\r\n window.location.reload();\r\n },\r\n });\r\n};\r\n\r\n// 跳轉到404頁面\r\nexport const to404Page = () => {\r\n router.replace({\r\n name: \"Err404\",\r\n });\r\n};\r\n","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\nimport store from \"../store\";\r\nimport { toCalendar } from \"../api/utils\";\r\n\r\n// 防止重複點擊相同router噴error\r\nconst originalPush = VueRouter.prototype.push;\r\nVueRouter.prototype.push = function push(location) {\r\n return originalPush.call(this, location).catch((err) => err);\r\n};\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: \"/Calendar\", //開頭大寫\r\n name: \"Calendar\", //開頭大寫\r\n component: () => import(\"../views/Calendar2.vue\"),\r\n meta: {\r\n title: \"行事曆\", //中文為主 若為英文開頭大寫\r\n requireAuth: false, //表示是否登入驗證 false 時可省略\r\n NoNeedHome: false, // 表示不需要父層模板 false 時可省略\r\n },\r\n },\r\n {\r\n path: \"/Detail\", //開頭大寫\r\n name: \"Detail\", //開頭大寫\r\n component: () => import(\"../views/Detail.vue\"),\r\n meta: {\r\n title: \"行事曆-詳細資訊\", //中文為主 若為英文開頭大寫\r\n requireAuth: false, //表示是否登入驗證 false 時可省略\r\n NoNeedHome: false, // 表示不需要父層模板 false 時可省略\r\n },\r\n },\r\n\r\n // 僅show活動\r\n {\r\n path: \"/Calendar/:type\", //開頭大寫\r\n name: \"CalendarAct\", //開頭大寫\r\n component: () => import(\"../views/Calendar2.vue\"),\r\n meta: {\r\n title: \"行事曆-活動\", //中文為主 若為英文開頭大寫\r\n requireAuth: false, //表示是否登入驗證 false 時可省略\r\n NoNeedHome: false, // 表示不需要父層模板 false 時可省略\r\n },\r\n },\r\n\r\n {\r\n path: \"/AdvancedSearch\", //開頭大寫\r\n name: \"AdvancedSearch\", //開頭大寫\r\n component: () => import(\"../views/AdvancedSearch.vue\"),\r\n meta: {\r\n title: \"進階搜尋\", //中文為主 若為英文開頭大寫\r\n requireAuth: true, //表示是否登入驗證 false 時可省略\r\n NoNeedHome: false, // 表示不需要父層模板 false 時可省略\r\n },\r\n },\r\n\r\n {\r\n path: \"/Err404\",\r\n name: \"Err404\",\r\n component: () => import(\"../views/Err404.vue\"),\r\n meta: {\r\n title: \"404頁面\",\r\n requireAuth: false,\r\n NoNeedHome: false,\r\n },\r\n },\r\n\r\n // 不存在的路由跳轉\r\n {\r\n path: \"*\",\r\n redirect: \"/Calendar\",\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 scrollBehavior(to, from, savedPosition) {\r\n return { x: 0, y: 0 };\r\n },\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n // console.log(store);\r\n // 設定網頁 title\r\n // if (to.meta.title) {\r\n // document.title = `文藻行事曆-${to.meta.title}`;\r\n // }\r\n\r\n // 檢查 token\r\n {\r\n if (!store.state.token) {\r\n if (window.localStorage.Token) {\r\n store.commit(\"SAVE_TOKEN\", window.localStorage.Token);\r\n // Vue.prototype.$api\r\n // .CheckTokenExpire({ token: store.state.token })\r\n // .then((res) => {\r\n // let flag = res.data.response;\r\n // if (flag) {\r\n // // console.log(\"token OOOO\");\r\n // } else {\r\n // // console.log(\"token XXXXX\");\r\n // toCalendar();\r\n // }\r\n // });\r\n } else {\r\n console.log(\"LOCAL NO TOKEN\");\r\n }\r\n }\r\n if (!store.state.tokenExpire) {\r\n store.commit(\"SAVE_TOKEN_EXPIRE\", window.localStorage.TokenExpire);\r\n }\r\n\r\n // 判斷該路由是否需要登入權限\r\n if (to.meta.requireAuth) {\r\n if (store.state.token && store.state.token != undefined) {\r\n // 通過vuex state獲取當前的token是否存在\r\n next();\r\n } else {\r\n store.commit(\"SAVE_TOKEN\", \"\");\r\n store.commit(\"SAVE_TOKEN_EXPIRE\", \"\");\r\n window.localStorage.removeItem(\"user\");\r\n\r\n Vue.prototype.$alertT.fire({\r\n icon: \"info\",\r\n title: `請先登入帳號`,\r\n });\r\n\r\n next({\r\n path: \"/Calendar\",\r\n // query: { redirect: to.fullPath },\r\n });\r\n\r\n // window.location.reload();\r\n }\r\n } else {\r\n next();\r\n }\r\n }\r\n\r\n // 檢查 router 設置\r\n});\r\n\r\nexport default router;\r\n","import axios from \"axios\";\r\nimport router from \"../router/index\";\r\nimport store from \"../store/index\";\r\nimport { toCalendar, to404Page } from \"./utils\";\r\n\r\n// 錯誤捕捉\r\nconst errorHandle = (status, msg) => {\r\n switch (status) {\r\n case 400:\r\n to404Page();\r\n break;\r\n\r\n case 401:\r\n toCalendar();\r\n break;\r\n\r\n case 403:\r\n to404Page();\r\n break;\r\n\r\n case 404:\r\n to404Page();\r\n break;\r\n\r\n case 500:\r\n console.log(\"500\");\r\n break;\r\n\r\n default:\r\n to404Page();\r\n break;\r\n }\r\n};\r\n\r\nlet url = process.env.VUE_APP_BASE_URL;\r\n// 設定 baseURL\r\nlet instance = axios.create({\r\n baseURL: url,\r\n});\r\n\r\n// request 攔截\r\ninstance.interceptors.request.use(\r\n (config) => {\r\n const token = process.env.VUE_APP_ENV == \"PRO\" ? store.state.token : \"\";\r\n token && (config.headers.Authorization = `Bearer ${token}`);\r\n return config;\r\n },\r\n (error) => {\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\n// response 攔截\r\ninstance.interceptors.response.use(\r\n (response) => {\r\n return response;\r\n },\r\n (error) => {\r\n const { response } = error;\r\n\r\n if (response) {\r\n errorHandle(response.status, response.data.error);\r\n return Promise.reject(error);\r\n } else {\r\n return Promise.reject(error);\r\n }\r\n }\r\n);\r\n\r\nexport default function(method, url, data = null) {\r\n method = method.toLowerCase();\r\n if (method == \"post\") {\r\n return instance.post(url, data);\r\n } else if (method == \"get\") {\r\n return instance.get(url, { params: data });\r\n } else if (method == \"delete\") {\r\n return instance.delete(url, { params: data });\r\n } else if (method == \"put\") {\r\n return instance.put(url, data);\r\n } else {\r\n console.log(\"未知的 method\");\r\n return false;\r\n }\r\n}\r\n","import req from \"./https\"\r\n\r\n// 全域 api 掛載於 Vue.prototype\r\n// 使用方式 this.$api\r\n// api 命名原則 首字大寫爾後駝峰\r\nconst api = {\r\n // login\r\n GetToken(params) {\r\n return req(\"get\", `Login/GetClientToken`, params)\r\n },\r\n GetInfoByToken(params) {\r\n return req(\"get\", \"Login/GetCalendarInfoByToken\", params)\r\n },\r\n GetNavigationBar(params) {\r\n return req(\"get\", \"Permission/GetNavigationBar\", params)\r\n },\r\n CheckTokenExpire(params) {\r\n return req(\"get\", \"Login/GetExpireByToken\", params)\r\n },\r\n\r\n // events\r\n GetUnitListItem() {\r\n return req(\"get\", \"Events/GetUnitListItem\")\r\n },\r\n GetLocationListItem() {\r\n return req(\"get\", \"Events/GetLocationListItem\")\r\n },\r\n GetEvents(params) {\r\n return req(\"get\", \"Events/GetEvents\", params)\r\n },\r\n GetDetail(params) {\r\n return req(\"get\", \"Events/GetDetail\", params)\r\n },\r\n\r\n GetEventsPage(params) {\r\n return req(\"get\", \"CalendarEvent/GetClient\", params)\r\n },\r\n GetEventById(params) {\r\n return req(\"get\", \"Client/GetEventById/Id\", params)\r\n },\r\n\r\n //unit\r\n GetUnits() {\r\n return req(\"get\", \"School/GetUnitList\")\r\n },\r\n}\r\n\r\nexport default api\r\n","import \"babel-polyfill\";\r\nimport Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\nimport api from \"./api/apis\";\r\nimport axios from \"axios\";\r\n// import GAuth from \"vue-google-oauth2\";\r\nimport VueAxios from \"vue-axios\";\r\nimport ElementUI from \"element-ui\";\r\nimport CKEditor from \"@ckeditor/ckeditor5-vue\";\r\nimport VueSweetalert2 from \"vue-sweetalert2\";\r\n\r\nimport \"element-ui/lib/theme-chalk/index.css\";\r\nimport \"sweetalert2/dist/sweetalert2.min.css\";\r\nimport VueSocialSharing from \"vue-social-sharing\";\r\n\r\nVue.use(VueAxios, axios);\r\nVue.use(ElementUI);\r\nVue.use(CKEditor);\r\nVue.use(VueSweetalert2);\r\nVue.use(VueSocialSharing);\r\n\r\nconst alertT = Vue.prototype.$swal.mixin({\r\n toast: true,\r\n position: \"top-end\",\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast) => {\r\n toast.addEventListener(\"mouseenter\", Vue.prototype.$swal.stopTimer);\r\n toast.addEventListener(\"mouseleave\", Vue.prototype.$swal.resumeTimer);\r\n },\r\n});\r\n\r\nconst alertM = Vue.prototype.$swal.mixin({\r\n toast: false,\r\n position: \"center\",\r\n showConfirmButton: true,\r\n showCloseButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast) => {\r\n toast.addEventListener(\"mouseenter\", Vue.prototype.$swal.stopTimer);\r\n toast.addEventListener(\"mouseleave\", Vue.prototype.$swal.resumeTimer);\r\n },\r\n});\r\n// all(建議放套件Css下層)\r\nimport \"../src/assets/all.scss\";\r\n\r\nVue.config.productionTip = false;\r\nVue.prototype.$api = api;\r\nVue.prototype.$alertT = alertT;\r\nVue.prototype.$alertM = alertM;\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: (h) => h(App),\r\n}).$mount(\"#app\");\r\n"],"sourceRoot":""}