axios.js 686 B

12345678910111213141516171819202122232425262728293031
  1. export default function (context) {
  2. const { $axios, redirect, store } = context
  3. $axios.onRequest((config) => {
  4. $axios.setHeader('X-Token', 'abc')
  5. })
  6. // 响应拦截
  7. $axios.onResponse(async (response) => {
  8. const res = response.data
  9. // 请求成功
  10. if (!res.code) return res
  11. // 请求失败
  12. if (res.code === -1) {
  13. Toast(res.msg || 'Error')
  14. }
  15. // 登录过期
  16. if (res.code === -99) {
  17. console.log('登录过期')
  18. }
  19. return Promise.reject(res)
  20. })
  21. // 错误拦截
  22. $axios.onError((error) => {
  23. const code = parseInt(error.response && error.response.status)
  24. if (code === 400) {
  25. redirect('/400')
  26. }
  27. })
  28. }