| | |
| | | import { setStore, getStore } from 'utils/store'; |
| | | import dayjs from 'dayjs'; |
| | | import { sendLogs } from '@/api/user'; |
| | | import { setStore, getStore } from 'utils/store' |
| | | import dayjs from 'dayjs' |
| | | import { sendLogs } from '@/api/user' |
| | | |
| | | const logs = { |
| | | state: { |
| | | logsList: getStore({ name: 'logsList' }) || [], |
| | | }, |
| | | actions: { |
| | | //发送错误日志 |
| | | SendLogs({ state, commit }) { |
| | | return new Promise((resolve, reject) => { |
| | | sendLogs(state.logsList) |
| | | .then(() => { |
| | | commit('CLEAR_LOGS'); |
| | | resolve(); |
| | | }) |
| | | .catch(error => { |
| | | reject(error); |
| | | }); |
| | | }); |
| | | }, |
| | | }, |
| | | mutations: { |
| | | ADD_LOGS: (state, { type, message, stack, info }) => { |
| | | state.logsList.push( |
| | | Object.assign( |
| | | { |
| | | url: window.location.href, |
| | | time: dayjs().format('YYYY-MM-DD HH:mm:ss'), |
| | | }, |
| | | { |
| | | type, |
| | | message, |
| | | stack, |
| | | info: info.toString(), |
| | | } |
| | | ) |
| | | ); |
| | | setStore({ name: 'logsList', content: state.logsList }); |
| | | }, |
| | | CLEAR_LOGS: state => { |
| | | state.logsList = []; |
| | | setStore({ name: 'logsList', content: state.logsList }); |
| | | }, |
| | | }, |
| | | }; |
| | | state: { |
| | | logsList: getStore({ name: 'logsList' }) || [], |
| | | }, |
| | | actions: { |
| | | //发送错误日志 |
| | | SendLogs({ state, commit }) { |
| | | return new Promise((resolve, reject) => { |
| | | sendLogs(state.logsList) |
| | | .then(() => { |
| | | commit('CLEAR_LOGS') |
| | | resolve() |
| | | }) |
| | | .catch(error => { |
| | | reject(error) |
| | | }) |
| | | }) |
| | | }, |
| | | }, |
| | | mutations: { |
| | | ADD_LOGS: (state, { type, message, stack, info }) => { |
| | | state.logsList.push( |
| | | Object.assign( |
| | | { |
| | | url: window.location.href, |
| | | time: dayjs().format('YYYY-MM-DD HH:mm:ss'), |
| | | }, |
| | | { |
| | | type, |
| | | message, |
| | | stack, |
| | | info: info.toString(), |
| | | } |
| | | ) |
| | | ) |
| | | setStore({ name: 'logsList', content: state.logsList }) |
| | | }, |
| | | CLEAR_LOGS: state => { |
| | | state.logsList = [] |
| | | setStore({ name: 'logsList', content: state.logsList }) |
| | | }, |
| | | }, |
| | | } |
| | | |
| | | export default logs; |
| | | export default logs |