errorLog.js 670 B

12345678910111213141516171819202122232425
  1. import Vue from 'vue'
  2. import store from '@/store'
  3. import { isArray, isString } from '@/utils/validate'
  4. import { errorLog } from '@/config'
  5. const needErrorLog = errorLog
  6. const checkNeed = () => {
  7. const env = process.env.NODE_ENV
  8. if (isString(needErrorLog)) {
  9. return env === needErrorLog
  10. }
  11. if (isArray(needErrorLog)) {
  12. return needErrorLog.includes(env)
  13. }
  14. return false
  15. }
  16. if (checkNeed()) {
  17. Vue.config.errorHandler = (err, vm, info) => {
  18. console.error('vue-admin-beautiful错误拦截:', err, vm, info)
  19. const url = window.location.href
  20. Vue.nextTick(() => {
  21. store.dispatch('errorLog/addErrorLog', { err, vm, info, url })
  22. })
  23. }
  24. }