效果:
request.js加入如下代码:
request.interceptors.request.use(config => {
Vue.prototype.$log.print(config.url, 'url')
Vue.prototype.$log.print('params', config.data)
const token = storage.get(ACCESS_TOKEN)
if (token) {
config.headers['access-token'] = token
}
const userId = storage.get(ACCESS_USERID)
if (userId) {
if (config.url.indexOf('iot-experience-platform') === -1) {
config.data['userId'] = userId
}
}
return config
}, errorHandler)
request.interceptors.response.use(response => {
Vue.prototype.$log.print('response', response.data)
if (response.data.code && response.data.code !== 200) {
if (response.data.code === 4031003) {
notification.error({
key: tokenAccessKey,
message: '错误',
description: getMsgByCode(response.data.code),
duration: 4
})
store.dispatch('Clear').then(() => {
setTimeout(() => {
window.location.reload()
}, 1500)
})
} else if (response.data.code === 4041003) {
store.dispatch('Clear').then(() => {})
} else {
notification.error({
message: '错误',
description: getMsgByCode(response.data.code)
})
}
return Promise.reject(response.data)
}
return response.data
}, errorHandler)