log 模块优化
Former-commit-id: 46dd58602044e544021e6dac3750f8063dd8f630 [formerly 46dd58602044e544021e6dac3750f8063dd8f630 [formerly 46dd58602044e544021e6dac3750f8063dd8f630 [formerly 46dd58602044e544021e6dac3750f8063dd8f630 [formerly 02da1cf89a30a31b7ada6753276bf8d7db49c7c2 [formerly 8732cbe9dc0937266a143b0cb94061cc6458c22f]]]]] Former-commit-id: 9bb0587d2bf29ae030c34e973b2968898c409efa Former-commit-id: 4573b85856d998f1e0e1fc745aa84c116374b757 Former-commit-id: 499c55cf76d4187c091b3780fc492b863b20160a [formerly 522496547f9dcaeb7cceff1c71ca90d19fa853ce] Former-commit-id: 76cf33d5c5abb90f90715e0678987996286b8e7a Former-commit-id: c5601273186197e17715589beec00fa4b0d93c8f Former-commit-id: 2057049057822377d125e273d901e9e0b01d3d99 Former-commit-id: 4a45cde995408c9e2de7028e9335c72a57f93530 Former-commit-id: b8a74a0c8dca434b6dd43606d97cebb396bc36c0
This commit is contained in:
@@ -3,14 +3,16 @@ import util from '@/libs/util'
|
||||
|
||||
export default {
|
||||
install (Vue, options) {
|
||||
Vue.config.errorHandler = function (err, instance, info) {
|
||||
Vue.config.errorHandler = function (error, instance, info) {
|
||||
Vue.nextTick(() => {
|
||||
// 添加 log
|
||||
store.dispatch('d2admin/log/add', {
|
||||
// store 追加 log
|
||||
store.dispatch('d2admin/log/push', {
|
||||
message: `${info}: ${error.message}`,
|
||||
type: 'error',
|
||||
err,
|
||||
instance,
|
||||
info
|
||||
meta: {
|
||||
error,
|
||||
instance
|
||||
}
|
||||
})
|
||||
// 只在开发模式下打印 log
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
@@ -20,7 +22,7 @@ export default {
|
||||
util.log.danger('>>>>>> Vue 实例 >>>>>>')
|
||||
console.log(instance)
|
||||
util.log.danger('>>>>>> Error >>>>>>')
|
||||
console.log(err)
|
||||
console.log(error)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -12,12 +12,12 @@ export default {
|
||||
// 赋值给 message 字段
|
||||
// 为了方便使用
|
||||
// eg: this.$log.push('foo text')
|
||||
store.dispatch('d2admin/log/add', {
|
||||
store.dispatch('d2admin/log/push', {
|
||||
message: data
|
||||
})
|
||||
} else if (typeof data === 'object') {
|
||||
// 如果传递来的数据是对象
|
||||
store.dispatch('d2admin/log/add', data)
|
||||
store.dispatch('d2admin/log/push', data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ export default {
|
||||
// - type 非必须 类型 success | warning | info | error
|
||||
// - time 必须 日志记录时间
|
||||
// - meta 非必须 其它携带信息
|
||||
list: []
|
||||
log: []
|
||||
},
|
||||
getters: {
|
||||
/**
|
||||
@@ -19,14 +19,14 @@ export default {
|
||||
* @param {*} state vuex state
|
||||
*/
|
||||
length (state) {
|
||||
return state.list.length
|
||||
return state.log.length
|
||||
},
|
||||
/**
|
||||
* @description 返回现存 log (error) 的条数
|
||||
* @param {*} state vuex state
|
||||
*/
|
||||
lengthError (state) {
|
||||
return state.list.filter(l => l.type === 'error').length
|
||||
return state.log.filter(l => l.type === 'error').length
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
@@ -36,8 +36,8 @@ export default {
|
||||
* @param {String} param type {String} 类型
|
||||
* @param {Object} param meta {Object} 附带的信息
|
||||
*/
|
||||
add ({ rootState, commit }, { message, type, meta }) {
|
||||
commit('add', {
|
||||
push ({ rootState, commit }, { message, type, meta }) {
|
||||
commit('push', {
|
||||
message,
|
||||
type,
|
||||
time: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
@@ -62,8 +62,8 @@ export default {
|
||||
* @param {Object} state vuex state
|
||||
* @param {Object} log data
|
||||
*/
|
||||
add (state, log) {
|
||||
state.list.push(log)
|
||||
push (state, log) {
|
||||
state.log.push(log)
|
||||
},
|
||||
/**
|
||||
* @description 清空日志
|
||||
@@ -71,7 +71,7 @@ export default {
|
||||
*/
|
||||
clean (state) {
|
||||
// store 赋值
|
||||
state.list = []
|
||||
state.log = []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,13 +7,16 @@
|
||||
:loading="uploading"
|
||||
@click="handleUpload">
|
||||
<d2-icon name="cloud-upload"/>
|
||||
Upload {{list.length}} log data
|
||||
Upload {{log.length}} log data
|
||||
</el-button>
|
||||
</template>
|
||||
<section class="page">
|
||||
<p class="log" v-for="(log, logIndex) in list" :key="logIndex">
|
||||
<span class="log-time">{{log.time}}</span>
|
||||
<span class="log-message">{{log.message}}</span>
|
||||
<p
|
||||
class="log"
|
||||
v-for="(logItem, logIndex) in log"
|
||||
:key="logIndex">
|
||||
<span class="log-time">{{logItem.time}}</span>
|
||||
<span class="log-message">{{logItem.message}}</span>
|
||||
</p>
|
||||
</section>
|
||||
</d2-container>
|
||||
@@ -29,7 +32,7 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
...mapState('d2admin/log', [
|
||||
'list'
|
||||
'log'
|
||||
])
|
||||
},
|
||||
methods: {
|
||||
@@ -38,7 +41,7 @@ export default {
|
||||
this.$notify({
|
||||
type: 'info',
|
||||
title: '日志上传',
|
||||
message: `开始上传${this.list.length}条日志`
|
||||
message: `开始上传${this.log.length}条日志`
|
||||
})
|
||||
setTimeout(() => {
|
||||
this.uploading = false
|
||||
|
||||
Reference in New Issue
Block a user