1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import axios from 'axios'
- import Vue from 'vue'
- import router from '../router'
- var isProduction = process.env.NODE_ENV === 'production'
- // const serverName = isProduction ? '' : 'http://192.168.0.207:7081/'
- const serverName = isProduction ? '' : 'https://admin.zhifangbao.com/'
- const vue = new Vue()
- axios.defaults.baseURL = serverName
- axios.defaults.headers['X-Requested-with'] = 'XMLHttpRequest'
- // 拦截请求,做登陆,或head处理
- axios.interceptors.request.use(
- function (config) {
- if (config.method === 'post') {
- config.data = {
- ...config.data,
- rnd: Math.random()
- }
- } else if (config.method === 'get') {
- config.params = {
- rnd: Math.random(),
- ...config.params
- }
- }
- return config
- }, function (error) {
- // 对请求错误做些什么
- return Promise.reject(error)
- }
- )
- // 拦截返回,做错误统一处理
- axios.interceptors.response.use(
- response => {
- let data = response.data
- let code = Number(response.data.code)
- switch (code) {
- case -1:
- break
- case 202:
- if (window.localStorage.getItem('zfb_token')) {
- window.localStorage.setItem('zfb_token', '')
- vue.$alert('登录状态失效,请重新登录', '提示', {
- confirmButtonText: '确定',
- callback: function () {
- router.push('/login')
- }
- })
- }
- break
- case 500:
- vue.$alert(data.message, '提示', {
- confirmButtonText: '确定',
- callback: function () {
- }
- })
- break
- case 0:
- break
- }
- // tryHideFullScreenLoading()
- return data
- },
- error => {
- if (error.response) {
- switch (error.response.status) {
- case 500:
- vue.$alert(error.response.message, '提示', {
- confirmButtonText: '确定',
- callback: action => {
- }
- })
- break
- }
- }
- return Promise.reject(error)
- }
- )
- export { serverName, axios }
|