import Vue from 'vue' import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; import VueAxios from 'vue-axios' import $ from 'jquery' import qs from 'qs' import App from './App' import VueRouter from "vue-router"; import router from './router/index' import axios from 'axios' import api from './assets/api/controller.js' import swal from 'sweetalert' import Big from 'big.js' import VueBarcode from "vue-barcode"; import Moment from 'moment' Vue.prototype.$Big = Big; // 项目切换 Vue.prototype.PROJECT = '检测中心' // Vue.prototype.PROJECT = '装备电缆' //本地 // Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80"; // const javaApi = 'http://127.0.0.1:8001'; // const javaApi = 'http://172.20.10.5:8001'; //通信测试库 // Vue.prototype.LOCATIONVUE = "http://10.1.13.77:8080"; // const javaApi = 'http://10.1.13.77:8001'; // 通信正式库 // Vue.prototype.LOCATIONVUE = "http://192.168.22.29:8080"; // const javaApi = 'http://192.168.22.29:8001/lims/'; const javaApi = 'https://ztwxlims.ztt.cn:7443/lims/'; // //云 // Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080"; // const javaApi = 'http://114.132.189.42:1234'; // //检测中心正式库 // Vue.prototype.LOCATIONVUE = "http://10.1.200.86:8080"; // const javaApi = 'http://10.1.200.86:8001'; //装备电缆测试库 // Vue.prototype.LOCATIONVUE = "http://10.16.173.59"; // const javaApi = 'http://10.16.173.59:8001'; // const javaApi = 'http://192.168.92.249:8001'; Vue.prototype.HaveJson = (val) => { return JSON.parse(JSON.stringify(val)) } Vue.prototype.javaApi = javaApi Vue.prototype.$moment = Moment Vue.use(VueAxios, axios) Vue.config.productionTip = false Vue.config.performance = true; Vue.use(VueRouter); Vue.use(ElementUI); Vue.component('barcode', VueBarcode) Vue.use(qs); Vue.use(api); axios.defaults.baseURL = javaApi axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' axios.defaults.withCredentials = true axios.defaults.crossDomain = true Vue.prototype.$axios = axios import { Message } from 'element-ui'; axios.interceptors.request.use(function(config) { let tk = sessionStorage.getItem("token") let token; if (tk != undefined && tk != '') { token = tk } if (token) { config.headers['token'] = "" + token // config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' // config.headers['Content-Type'] = 'application/json' } if ((config.method === 'post' || config.method === 'put')&&!config.noQs) { config.data = qs.stringify(config.data) } if (config.headers['Content-Type'] == 'application/json'&&!config.noQs) { config.data = qs.parse(config.data) } return config }, function(error) { return Promise.reject(error) }) axios.interceptors.response.use(res => { if(res.data.code === 201){ Message({ type: 'error', dangerouslyUseHTMLString: true, message: `${res.data.message}` }) } return res.data }, async function(err) { if (JSON.stringify(err).indexOf('timeout of') > -1) { Message.error('请求超时,请检查网络设置') } else if (JSON.stringify(err).indexOf('ERR_CONNECTION_RESET') > -1 || JSON.stringify(err).indexOf( 'Network Error') > -1) { Message.error('网络连接错误') } else if (err.response.status == "503") { Message.error('服务未响应') } else if (err.response.status == "404") { Message.error('请求失败,链接地址不存在') } else if (err.response.status == "403") { Message.error('token不存在') } else if (err.response.status == "402") { Message.error('无效签名,请重新登录') localStorage.removeItem('autoenter') window.location.href = '/enter' } else if (err.response.status == "401") { await axios.post("/user/refresh", { reToken: sessionStorage.getItem('reToken') }).then(res => { if (res.data.code == 201) { Message.error('认证失败,需要重新登录') localStorage.removeItem('autoenter') next({ path: '/enter' }) return Promise.reject(err) } sessionStorage.setItem('token', res.data.token) sessionStorage.setItem('reToken', res.data.reToken) }) return axios(err.config) } else if (err.response.status == "500") { Message.error('服务端出现错误') } return Promise.reject(err) }) router.beforeEach((to, from, next) => { if(to.path.indexOf('/test') == 0){ next() return } if (to.path.indexOf('/enter') != 0) { if (sessionStorage.getItem('token') == null || sessionStorage.getItem('token') == '' || sessionStorage.getItem( 'token') == undefined) { next({ path: '/enter' }) } } next() }); new Vue({ el: '#app', router, render: h => h(App), beforeCreate() { // 需要在全局添加一个属性 Vue.prototype.$bus = this } });