状态码判断以及自动添加到日志
Former-commit-id: 1befd09802269c61539a27ef2fd4ac86fd6c9b6f [formerly 1befd09802269c61539a27ef2fd4ac86fd6c9b6f [formerly 1befd09802269c61539a27ef2fd4ac86fd6c9b6f [formerly 1befd09802269c61539a27ef2fd4ac86fd6c9b6f [formerly a213ae2d21d86093399baa832146d6c72e7bbe04 [formerly 092ca0610f12674937184af3e325dd1942ea8da5]]]]] Former-commit-id: be65bfb06d778ba61a1730ec9bf99f4d08c5a815 Former-commit-id: de8047c7fa1b0a4f73b0f8287af0154b895b643a Former-commit-id: 9b61b9e04a5c6f5f61e248d299799520dcdfba95 [formerly 5e7b6390d23f20f0648b14ed934762068aed9623] Former-commit-id: 05679a88d3b99e10d9abacb81c500c1ffe7210d5 Former-commit-id: 9c7d82216e4ed70c3621b17c64dbbc239ece84d7 Former-commit-id: 1c8984d4a3b819b4a23eaab0d80df2b8480f8c7a Former-commit-id: 32635935c307b8af906ad12bd5f18006fc67ce78 Former-commit-id: 37ee780a2e409cfcd8d247b9f44ed80d66dc68db
This commit is contained in:
@@ -25,6 +25,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { PluginMocksAjax } from '@/api/demo/plugins/mocks/ajax'
|
import { PluginMocksAjax } from '@/api/demo/plugins/mocks/ajax'
|
||||||
export default {
|
export default {
|
||||||
|
name: 'demo-plugins-mock-ajax',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
table: {
|
table: {
|
||||||
@@ -46,6 +47,9 @@ export default {
|
|||||||
}))
|
}))
|
||||||
this.table.data = res.list
|
this.table.data = res.list
|
||||||
})
|
})
|
||||||
|
.catch(() => {
|
||||||
|
// 错误情况
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,36 @@
|
|||||||
|
import store from '@/store'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { Message } from 'element-ui'
|
import { Message } from 'element-ui'
|
||||||
import util from '@/libs/util'
|
import util from '@/libs/util'
|
||||||
|
|
||||||
|
// 创建一个错误
|
||||||
|
function errorCreat (msg) {
|
||||||
|
const err = new Error(msg)
|
||||||
|
errorLog(err)
|
||||||
|
throw err
|
||||||
|
}
|
||||||
|
|
||||||
|
// 记录和显示错误
|
||||||
|
function errorLog (err) {
|
||||||
|
// 添加到日志
|
||||||
|
store.dispatch('d2admin/log/add', {
|
||||||
|
type: 'error',
|
||||||
|
err,
|
||||||
|
info: '数据请求异常'
|
||||||
|
})
|
||||||
|
// 打印到控制台
|
||||||
|
if (process.env.NODE_ENV === 'development') {
|
||||||
|
util.log.danger('>>>>>> Error >>>>>>')
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
|
// 显示提示
|
||||||
|
Message({
|
||||||
|
message: err.message,
|
||||||
|
type: 'error',
|
||||||
|
duration: 5 * 1000
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 创建一个 axios 实例
|
// 创建一个 axios 实例
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
baseURL: process.env.VUE_APP_API,
|
baseURL: process.env.VUE_APP_API,
|
||||||
@@ -37,21 +66,44 @@ service.interceptors.response.use(
|
|||||||
const { code } = dataAxios
|
const { code } = dataAxios
|
||||||
// 根据 code 进行判断
|
// 根据 code 进行判断
|
||||||
if (code === undefined) {
|
if (code === undefined) {
|
||||||
// 如果没有 code 代表这不是后端返回的数据(例如请求 D2Admin 最新版本)
|
// 如果没有 code 代表这不是项目后端开发的接口 比如可能是 D2Admin 请求最新版本
|
||||||
return dataAxios
|
return dataAxios
|
||||||
} else {
|
} else {
|
||||||
// 有 code 代表这是一个后端接口
|
// 有 code 代表这是一个后端接口 可以进行进一步的判断
|
||||||
return dataAxios.data
|
switch (code) {
|
||||||
|
case 0:
|
||||||
|
// [ 示例 ] code === 0 代表没有错误
|
||||||
|
return dataAxios.data
|
||||||
|
case 'xxx':
|
||||||
|
// [ 示例 ] 其它和后台约定的 code
|
||||||
|
util.log.error('code xxx')
|
||||||
|
errorCreat(`${dataAxios.msg}: ${response.config.url}`)
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
// 不是正确的 code
|
||||||
|
errorCreat(`${dataAxios.msg}: ${response.config.url}`)
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
util.log.danger('>>>>>> Error >>>>>>')
|
if (error && error.response) {
|
||||||
console.log(error)
|
switch (error.response.status) {
|
||||||
Message({
|
case 400: error.message = '请求错误'; break
|
||||||
message: error.message,
|
case 401: error.message = '未授权,请登录'; break
|
||||||
type: 'error',
|
case 403: error.message = '拒绝访问'; break
|
||||||
duration: 5 * 1000
|
case 404: error.message = `请求地址出错: ${error.response.config.url}`; break
|
||||||
})
|
case 408: error.message = '请求超时'; break
|
||||||
|
case 500: error.message = '服务器内部错误'; break
|
||||||
|
case 501: error.message = '服务未实现'; break
|
||||||
|
case 502: error.message = '网关错误'; break
|
||||||
|
case 503: error.message = '服务不可用'; break
|
||||||
|
case 504: error.message = '网关超时'; break
|
||||||
|
case 505: error.message = 'HTTP版本不受支持'; break
|
||||||
|
default: break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
errorLog(error)
|
||||||
return Promise.reject(error)
|
return Promise.reject(error)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user