\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/loading.vue","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nimport router from './router'\r\nimport store from './store'\r\nimport axios from 'axios'\r\nimport ElementUI from 'element-ui'\r\n\r\n\r\n// 自定义公共组件\r\nimport pageBody from '@/components/content-body'\r\nimport innerArea from '@/components/inner-area'\r\nimport messageList from '@/components/message-list'\r\nimport messageItem from '@/components/message-item'\r\nimport modal from '@/components/modal'\r\nimport loading from '@/components/loading'\r\n\r\nimport 'element-ui/lib/theme-chalk/index.css'\r\n\r\nimport '~/css/reset.css'\r\nimport '~/css/base.css'\r\nimport '@/assets/css/jdy.css'\r\nimport { UseAxios, merge } from './common/index'\r\nimport IdentityService from '@/service/identity';\r\n\r\nVue.use(ElementUI)\r\n\r\n// 富文本\r\nimport VueQuillEditor from 'vue-quill-editor'\r\nVue.use(VueQuillEditor)\r\n\r\nUseAxios(router)\r\n\r\naxios.defaults.withCredentials = true\r\n\r\nmerge(Vue.prototype, {\r\n $http: axios,\r\n $identity: new IdentityService(axios),\r\n router: router\r\n})\r\n\r\nVue.config.productionTip = false\r\n\r\nconst components = [\r\n pageBody,\r\n innerArea,\r\n messageList,\r\n messageItem,\r\n modal,\r\n loading\r\n];\r\n\r\ncomponents.map(component => {\r\n Vue.component(component.name, component)\r\n})\r\n\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#app',\r\n store,\r\n router,\r\n components: {\r\n App\r\n },\r\n template: ''\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","\r\n \r\n
\r\n {{data.dialogTitle}}\r\n
\r\n 是否退出登录\r\n
\r\n
\r\n 取 消\r\n 确 定\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/modal.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"jdy-modal\",class:{\n 'dialogBody-noBottomPadding':_vm.data.bodyNoPadding === false\n },attrs:{\"visible\":_vm.data.dialogVisible,\"append-to-body\":true,\"width\":_vm.data.dialogWidth,\"showClose\":!_vm.data.hideClose,\"closeOnClickModal\":!_vm.data.noCloseClickModal,\"closeOnPressEscape\":!_vm.data.noClosePressEscape},on:{\"update:visible\":function($event){return _vm.$set(_vm.data, \"dialogVisible\", $event)},\"open\":_vm.openEv,\"close\":_vm.closeEv}},[_c('div',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._t(\"dialog-title\",function(){return [_vm._v(_vm._s(_vm.data.dialogTitle))]})],2),_vm._v(\" \"),_vm._t(\"dialog-body\",function(){return [_vm._v(\"是否退出登录\")]}),_vm._v(\" \"),(_vm.data.haveFooter)?_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{class:['dialog-footer',{'f-align-center': _vm.data.footerAlign=='center','f-align-left': _vm.data.footerAlign=='left','border-none':_vm.data.footLine === false}]},[_vm._t(\"cancel\",function(){return [(!_vm.data.hideCancel)?_c('el-button',{attrs:{\"size\":\"small\"},on:{\"click\":function($event){_vm.data.dialogVisible = false}}},[_vm._v(\"取 消\")]):_vm._e()]}),_vm._v(\" \"),_vm._t(\"submit\",function(){return [(!_vm.data.hideSubmit)?_c('el-button',{attrs:{\"size\":\"small\",\"disabled\":_vm.data.disabled,\"type\":\"primary\"},on:{\"click\":_vm.data.callback}},[_vm._v(\"确 定\")]):_vm._e()]})],2)]):_vm._e()],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a709a15e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/modal.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./modal.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./modal.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a709a15e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./modal.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/modal.vue\n// module id = null\n// module chunks = ","import GlobalConfig from './config'\r\nimport { Base64 } from './base64'\r\nimport { JwtDecode } from './jwtdecode'\r\nimport IdentityService from '@/service/identity';\r\nconst identity = new IdentityService();\r\n\r\nexport class TokenHelper {\r\n static getAccessToken() {\r\n let val = window.localStorage.getItem(GlobalConfig.auth.accessTokenKey)\r\n if (val) {\r\n return val\r\n }\r\n return ''\r\n }\r\n\r\n static setAccessToken(token) {\r\n return window.localStorage.setItem(GlobalConfig.auth.accessTokenKey, token)\r\n }\r\n\r\n static removeAccessToken() {\r\n return window.localStorage.removeItem(GlobalConfig.auth.accessTokenKey)\r\n }\r\n\r\n static getProvider() {\r\n let value = window.localStorage.getItem(GlobalConfig.auth.externalProviderKey)\r\n let base64 = new Base64()\r\n return value ? JSON.parse(base64.decode(value)) : null\r\n }\r\n\r\n static setProvider(provider) {\r\n let base64 = new Base64()\r\n window.localStorage.setItem(GlobalConfig.auth.externalProviderKey, base64.encode(JSON.stringify(provider), false))\r\n }\r\n\r\n static removeProvider() {\r\n window.localStorage.removeItem(GlobalConfig.auth.externalProviderKey)\r\n }\r\n\r\n static parseUserToken(token) {\r\n let user = { authenticated: false, cultureName: null, displayName: null, email: null, name: null, username: null, roles: [], verified: false, enabled: false, userId: null, exp: null, timeZoneId: null }\r\n if (token) {\r\n let decodedToken = JwtDecode.decodeToken(token)\r\n if (!user.authenticated) {\r\n user.authenticated = true\r\n }\r\n user.displayName = decodedToken.email ? decodedToken.email : decodedToken.preferred_username\r\n user.email = decodedToken.email\r\n user.name = user.email\r\n if (typeof decodedToken.role === 'string') {\r\n user.roles = [decodedToken.role]\r\n } else {\r\n user.roles = decodedToken.role\r\n }\r\n user.verified = decodedToken.emial_verified\r\n user.exp = new Date(decodedToken.exp * 1000)\r\n user.userId = decodedToken.sub\r\n }\r\n return user\r\n }\r\n\r\n static getBearerToken() {\r\n let user = identity.getUser();\r\n let token = (user || \"\").access_token;\r\n let authValue = typeof token === 'undefined' ? null : 'Bearer ' + token\r\n return {\r\n Authorization: authValue\r\n }\r\n }\r\n\r\n static isTokenCurrent(value) {\r\n let user\r\n if (typeof value === 'string') {\r\n if (value === '') {\r\n return false\r\n }\r\n user = TokenHelper.parseUserToken(value)\r\n } else {\r\n user = value\r\n }\r\n\r\n if (!user) { return null } else { return user.exp && user.exp > new Date() }\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/token-helper.js","\r\n\t