export class GlobalLoading {
constructor(config, $loading) {
this.openCount = 0
this.config = config
this.$loading = $loading
this.timeOut = null
this.loading = null
}
open(text) {
this.openCount++
this.loading = this.$loading({
lock: true,
text,
spinner: 'el-icon-loading',
background: this.config.color
})
this.longTime()
}
longTime() {
clearTimeout(this.timeOut)
this.timeOut = setTimeout(() => {
this.loading.setText('加载时间较长,请耐心等待...')
}, 3000)
}
close() {
this.openCount--
if (this.openCount === 0) {
clearTimeout(this.timeOut)
this.loading.close()
}
}
}