123456789101112131415161718192021222324252627282930 |
- import { App } from 'vue'
- import pinia from '@/store'
- import { useErrorLogStore } from '@/store/modules/errorLog'
- import { errorLog } from '@/config'
- import { isArray, isString } from '@/utils/validate'
- export const needErrorLog = () => {
- const errorLogArray = isArray(errorLog)
- ? [...errorLog]
- : isString(errorLog)
- ? [...[errorLog]]
- : []
- return errorLogArray.includes(process.env.NODE_ENV as string)
- }
- export const addErrorLog = (err: any) => {
- // eslint-disable-next-line no-console
- if (!err.isRequest) console.error('vue-admin-better错误拦截:', err)
- const url = window.location.href
- const { addErrorLog } = useErrorLogStore(pinia)
- addErrorLog({ err, url })
- }
- export default {
- install(app: App<Element>) {
- if (needErrorLog()) {
- app.config.errorHandler = addErrorLog
- }
- },
- }
|