77 lines
2.3 KiB
JavaScript
77 lines
2.3 KiB
JavaScript
import Vue from 'vue'
|
||
import App from './App.vue'
|
||
//引入路由组件
|
||
import router from './router'
|
||
//引入element ui 组件库
|
||
import './plugins/element.js'
|
||
//引入粒子插件
|
||
import VueParticles from 'vue-particles'
|
||
//引入全局样式表
|
||
import './assets/css/global.css'
|
||
//引入图书管理系统的图标和字体库
|
||
import './assets/fonts/iconfont.css'
|
||
// 引入swiper的样式
|
||
// import 'swiper/css/swiper.css'
|
||
//单独引入Message axios拦截器需要
|
||
import {Message} from 'element-ui'
|
||
// 引入表格导出excel插件
|
||
import JsonExcel from 'vue-json-excel'
|
||
Vue.component('downloadExcel', JsonExcel)
|
||
// 导入pdf插件
|
||
import htmlToPdf from './components/Utils/htmlToPdf.js'
|
||
Vue.use(htmlToPdf)
|
||
// 引入echarts
|
||
import * as echarts from 'echarts'
|
||
// 引入Chrome PassiveEventListeners优化页面性能
|
||
import 'default-passive-events'
|
||
// 设置全局变量
|
||
Vue.prototype.$echarts = echarts
|
||
|
||
//注册粒子插件
|
||
Vue.use(VueParticles)
|
||
//main.js:
|
||
import { vueBaberrage } from 'vue-baberrage'
|
||
//使用弹幕插件
|
||
Vue.use(vueBaberrage)
|
||
//导入axios
|
||
import axios from 'axios'
|
||
//配置请求的根路径
|
||
axios.defaults.baseURL = 'https://book-api.shuguangwl.com:443/api/'
|
||
Vue.prototype.$http = axios
|
||
// const CancelToken = axios.CancelToken;
|
||
// const source = CancelToken.source();
|
||
// export {source}
|
||
//导入NProgress包对应的js和CSS
|
||
import NProgress from 'nprogress'
|
||
import 'nprogress/nprogress.css'
|
||
// 引入lodash
|
||
import _ from 'lodash'
|
||
Vue.prototype._ = _ //全局导入的挂载方式
|
||
//在request拦截器中,展示进度条NProgress.start()
|
||
axios.interceptors.request.use(config => {
|
||
NProgress.start()
|
||
// console.log(config);
|
||
// 为请求头对象,添加Token验证的Authorization字段
|
||
config.headers.Authorization = "Bearer "+window.sessionStorage.getItem('token');
|
||
return config;
|
||
})
|
||
//在response拦截器中,隐藏进度条NProgress.done()
|
||
axios.interceptors.response.use(response => {
|
||
NProgress.done()
|
||
// 登录校验 响应状态码为401时拦截
|
||
if(response.data.status === 401){
|
||
Message.error("未登录或登录过期,请重新登录");
|
||
// 清除过期的token和原来保存的用户id
|
||
window.sessionStorage.clear();
|
||
// 跳转到登录页面
|
||
router.replace('/login')
|
||
}
|
||
return response
|
||
})
|
||
Vue.config.productionTip = false
|
||
|
||
new Vue({
|
||
router,
|
||
render: h => h(App)
|
||
}).$mount('#app')
|