/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from 'vue' import App from './App' import router from './router' import Vuetify from 'vuetify' import 'vuetify/dist/vuetify.min.css' import { store } from './store' import Notify from './components/public/notify' import { AXIOS } from './components/http-common' import i18n from './lang' import ECharts from 'vue-echarts/components/ECharts' import 'echarts/lib/chart/line' import 'echarts/lib/component/tooltip' import 'echarts/lib/component/title' import VueClipboard from 'vue-clipboard2' Vue.use(Vuetify, { lang: { t: (key, ...params) => i18n.t(key, params) } }) Vue.use(Notify) Vue.prototype.$axios = AXIOS Vue.config.productionTip = false VueClipboard.config.autoSetContainer = true Vue.use(VueClipboard) Vue.component('chart', ECharts) /* eslint-disable no-new */ new Vue({ el: '#app', router, store, i18n, components: { App }, template: '' }) router.beforeEach((to, from, next) => { if (to.matched.some(record => record.meta.requireLogin)) { if (localStorage.getItem('token')) { next() } else { next({ path: '/login', query: {redirect: to.fullPath} }) } } else { next() } })