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://192.168.0.170: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 = 'https://ztwxlims.ztt.cn:7443/lims/';
|
// const javaApi = 'http://192.168.22.29:8001/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;
|
}
|
});
|