"src/src/mixins" did not exist on "3f9b6187164b52d52fa4cc94272c673ca9e92ac4"
error-handler.js 2.25 KB
Newer Older
Yoelvis Gonzalez's avatar
Yoelvis Gonzalez committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
import Vue from 'vue'
export default function (error) {
    let status = 0
    if (error.toString() === 'Error: Network Error') {
      this.$toast.error('Error de Red, revise su conexión', {
        position: 'bottom-center',
        timeout: 3000,
        closeOnClick: true,
        pauseOnFocusLoss: false,
        pauseOnHover: true,
        draggable: true,
        draggablePercent: 0.6,
        showCloseButtonOnHover: false,
        hideProgressBar: true,
        closeButton: 'button',
        icon: true,
        rtl: false,
    })
  }
  if (error.response !== undefined) {
    switch (error.response.status) {
      case 500: {
        Vue.$toast.error('Error interno del servidor, inténtelo más tarde', {
          position: 'bottom-center',
          timeout: 3000,
          closeOnClick: true,
          pauseOnFocusLoss: false,
          pauseOnHover: true,
          draggable: true,
          draggablePercent: 0.6,
          showCloseButtonOnHover: false,
          hideProgressBar: true,
          closeButton: 'button',
          icon: true,
          rtl: false,
        })
        break
      }
      case 401: {
        Vue.$toast.error('No autorizado', {
          position: 'bottom-center',
          timeout: 3000,
          closeOnClick: true,
          pauseOnFocusLoss: false,
          pauseOnHover: true,
          draggable: true,
          draggablePercent: 0.6,
          showCloseButtonOnHover: false,
          hideProgressBar: true,
          closeButton: 'button',
          icon: true,
          rtl: false,
        })
        status = -1
        break
      }
      default: {
        Vue.$toast.error('No autorizado', {
          position: 'bottom-center',
          timeout: 3000,
          closeOnClick: true,
          pauseOnFocusLoss: false,
          pauseOnHover: true,
          draggable: true,
          draggablePercent: 0.6,
          showCloseButtonOnHover: false,
          hideProgressBar: true,
          closeButton: 'button',
          icon: true,
          rtl: false,
        })
        status = -1
        break
      }
    }
  }

    if (status === -1) {
        localStorage.setItem('tkn', null)
        localStorage.setItem('userData', null)
        localStorage.setItem('role', null)
        Vue.$router.push({ name: 'Login' })
    }
}