新增营销系统、分销系统、会员功能、门店、提现功能
This commit is contained in:
36
utils/emitter.js
Normal file
36
utils/emitter.js
Normal file
@ -0,0 +1,36 @@
|
||||
/**
|
||||
* @name: emitter
|
||||
* @author: kahu4
|
||||
* @date: 2024-01-19 18:18
|
||||
* @description:事件派发、监听器
|
||||
* @update: 2024-01-19 18:18
|
||||
* */
|
||||
|
||||
class Emitter {
|
||||
lister = {}
|
||||
|
||||
constructor() {
|
||||
this.lister = {}
|
||||
}
|
||||
|
||||
on(name, func) {
|
||||
this.lister[name] ? this.lister[name].push(func) : this.lister[name] = [func];
|
||||
}
|
||||
|
||||
emit(name, ...args) {
|
||||
if (!this.lister[name]) return
|
||||
this.lister[name].forEach(func => func(...args))
|
||||
}
|
||||
|
||||
clear(name) {
|
||||
this.lister[name] = []
|
||||
}
|
||||
|
||||
clearAll() {
|
||||
this.lister = {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 只暴露一个实例全局共用
|
||||
export const emitter = new Emitter()
|
Reference in New Issue
Block a user