| | |
| | | import axios from 'axios' |
| | | import { MessageBox, Message } from 'element-ui' |
| | | import store from '@/store' |
| | | import { getCookie, getToken } from '@/utils/auth' |
| | | import { getCookie, getToken, removeCookie } from '@/utils/auth' |
| | | // create an axios instance |
| | | |
| | | const service = axios.create({ |
| | |
| | | const res = response.data |
| | | |
| | | // if the custom code is not 20000, it is judged as an error. |
| | | if (res.code !== '200') { |
| | | if (res.code === '300' || res.code === '303') { |
| | | Message({ |
| | | message: res.Message || 'Error', |
| | | type: 'error', |
| | | duration: 10 * 1000 |
| | | duration: 5 * 1000 |
| | | }) |
| | | |
| | | // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired; |
| | | if (res.code === 50008 || res.code === 50012 || res.code === 50014) { |
| | | // to re-login |
| | | MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', { |
| | | confirmButtonText: 'Re-Login', |
| | | cancelButtonText: 'Cancel', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | store.dispatch('user/resetToken').then(() => { |
| | | location.reload() |
| | | }) |
| | | }) |
| | | if (res.code === '303') { |
| | | removeCookie('ruleCode') |
| | | removeCookie('username') |
| | | removeCookie('admin') |
| | | removeCookie('navTabId') |
| | | removeCookie('usertype') |
| | | removeCookie('userid') |
| | | removeCookie('code') |
| | | setTimeout(() => { |
| | | window.location.reload() |
| | | }, 3000) |
| | | } |
| | | // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired; |
| | | // if (res.code === 50008 || res.code === 50012 || res.code === 50014) { |
| | | // // to re-login |
| | | // MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', { |
| | | // confirmButtonText: 'Re-Login', |
| | | // cancelButtonText: 'Cancel', |
| | | // type: 'warning' |
| | | // }).then(() => { |
| | | // store.dispatch('user/resetToken').then(() => { |
| | | // location.reload() |
| | | // }) |
| | | // }) |
| | | // } |
| | | return Promise.reject(new Error(res.message || 'Error')) |
| | | } else { |
| | | } |
| | | // else if (res.code === '303') { |
| | | // console.log(res.code, 888) |
| | | // Message({ |
| | | // message: res.Message || 'Error', |
| | | // type: 'error', |
| | | // duration: 5 * 1000 |
| | | // }) |
| | | // removeCookie('ruleCode') |
| | | // removeCookie('username') |
| | | // removeCookie('admin') |
| | | // removeCookie('navTabId') |
| | | // removeCookie('usertype') |
| | | // removeCookie('userid') |
| | | // removeCookie('code') |
| | | // this.$router.push({ path: this.redirect || '/' }) |
| | | // } |
| | | else { |
| | | return res |
| | | } |
| | | }, |
| | |
| | | Message({ |
| | | message: error.message, |
| | | type: 'error', |
| | | duration: 10 * 1000 |
| | | duration: 5 * 1000 |
| | | }) |
| | | return Promise.reject(error) |
| | | } |