|
|
@@ -72,6 +72,9 @@ Vue.prototype.$http.interceptors.request.use(config => {
|
|
|
if(sessionStorage.getItem('x-access-token')) {
|
|
|
config.headers['x-access-token'] = sessionStorage.getItem('x-access-token');
|
|
|
}
|
|
|
+ config.headers['username'] = sessionStorage.getItem('username');
|
|
|
+ config.headers['password'] = sessionStorage.getItem('password');
|
|
|
+ config.headers['sob'] = sessionStorage.getItem('sob');
|
|
|
/* if(config.params && config.params['condition']) {
|
|
|
console.log(store.state.factory);
|
|
|
config.params['condition'] = config.params['condition'] + " and v_outline='" + store.state.factory + "'";
|
|
|
@@ -93,6 +96,9 @@ Vue.prototype.$httpImg.interceptors.request.use(config => {
|
|
|
if(sessionStorage.getItem('x-access-token')) {
|
|
|
config.headers['x-access-token'] = sessionStorage.getItem('x-access-token');
|
|
|
}
|
|
|
+ config.headers['username'] = sessionStorage.getItem('username');
|
|
|
+ config.headers['password'] = sessionStorage.getItem('password');
|
|
|
+ config.headers['sob'] = sessionStorage.getItem('sob');
|
|
|
return config;
|
|
|
});
|
|
|
|
|
|
@@ -102,13 +108,90 @@ Vue.prototype.$httpImg.interceptors.request.use(config => {
|
|
|
// 则更新vuex中的token状态。然后,在每次请求接口的时候,都会在请求的header中携带token,
|
|
|
// 后台人员就可以根据你携带的token来判断你的登录是否过期,如果没有携带,则说明没有登录过。
|
|
|
// 添加响应拦截器
|
|
|
-/*Vue.prototype.$http.interceptors.response.use(function (response) {
|
|
|
+Vue.prototype.$http.interceptors.response.use(function (response) {
|
|
|
if (response.status === 200) {
|
|
|
+ if(response.headers.get("token")) {
|
|
|
+ // console.log(response.headers.get("token"));
|
|
|
+ sessionStorage.setItem('x-access-token', response.headers.get("token"));
|
|
|
+ }
|
|
|
return Promise.resolve(response);
|
|
|
} else {
|
|
|
return Promise.reject(response);
|
|
|
}
|
|
|
-}, function (error) {
|
|
|
+}/* ,
|
|
|
+ function (error) {
|
|
|
+ // 对响应错误做点什么
|
|
|
+ if (error.response.status) {
|
|
|
+ switch (error.response.status) {
|
|
|
+ // 401: 未登录
|
|
|
+ // 未登录则跳转登录页面,并携带当前页面的路径
|
|
|
+ // 在登录成功后返回当前页面,这一步需要在登录页操作。
|
|
|
+ case 500:
|
|
|
+ router.replace({
|
|
|
+ path: '/login',
|
|
|
+ query: {
|
|
|
+ redirect: router.currentRoute.fullPath
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ // 403 token过期
|
|
|
+ // 登录过期对用户进行提示
|
|
|
+ // 清除本地token和清空vuex中token对象
|
|
|
+ // 跳转登录页面
|
|
|
+ case 403:
|
|
|
+ this.$message({
|
|
|
+ message: '登录过期,请重新登录',
|
|
|
+ duration: 1000,
|
|
|
+ type: 'success'
|
|
|
+ });
|
|
|
+ // 清除token
|
|
|
+ localStorage.removeItem('token');
|
|
|
+ store.commit('loginSuccess', null);
|
|
|
+ // 跳转登录页面,并将要浏览的页面fullPath传过去,登录成功后跳转需要访问的页面
|
|
|
+ setTimeout(() => {
|
|
|
+ router.replace({
|
|
|
+ path: '/login',
|
|
|
+ query: {
|
|
|
+ redirect: router.currentRoute.fullPath
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }, 1000);
|
|
|
+ break;
|
|
|
+
|
|
|
+ // 404请求不存在
|
|
|
+ case 404:
|
|
|
+ this.$message({
|
|
|
+ message: '网络请求不存在',
|
|
|
+ duration: 1500,
|
|
|
+ type: 'success'
|
|
|
+
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ // 其他错误,直接抛出错误提示
|
|
|
+ default:
|
|
|
+ this.$message({
|
|
|
+ message: error.response.data.message,
|
|
|
+ duration: 1500,
|
|
|
+ type: 'success'
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return Promise.reject(error.response);
|
|
|
+ }
|
|
|
+}*/
|
|
|
+);
|
|
|
+
|
|
|
+Vue.prototype.$httpImg.interceptors.response.use(function (response) {
|
|
|
+ if (response.status === 200) {
|
|
|
+ if(response.headers.get("token")) {
|
|
|
+ sessionStorage.setItem('x-access-token', response.headers.get("token"));
|
|
|
+ }
|
|
|
+ return Promise.resolve(response);
|
|
|
+ } else {
|
|
|
+ return Promise.reject(response);
|
|
|
+ }
|
|
|
+ }/* ,
|
|
|
+ function (error) {
|
|
|
// 对响应错误做点什么
|
|
|
if (error.response.status) {
|
|
|
switch (error.response.status) {
|
|
|
@@ -167,6 +250,7 @@ Vue.prototype.$httpImg.interceptors.request.use(config => {
|
|
|
}
|
|
|
return Promise.reject(error.response);
|
|
|
}
|
|
|
-});*/
|
|
|
+}*/
|
|
|
+);
|
|
|
|
|
|
|