This commit is contained in:
sion
2026-04-07 01:05:05 +08:00
parent edad10ff06
commit 5ca1274607
83 changed files with 1561 additions and 1241 deletions

View File

@@ -1,15 +1,15 @@
import 'dart:async';
/// 用事件
/// 用事件
enum AppEventType {
/// 资产变动(余额、持等)
/// 資產變動(餘額、持等)
assetChanged,
/// 订单变动(充提订单状态变化)
/// 訂單變動(充提訂單狀態變化)
orderChanged,
}
/// 用事件
/// 用事件
class AppEvent {
final AppEventType type;
final Map<String, dynamic>? data;
@@ -17,20 +17,20 @@ class AppEvent {
const AppEvent(this.type, {this.data});
}
/// 轻量级应用内事件总线
/// 基 StreamController.broadcast零外部依
/// 輕量級應用內事件總線
/// 基 StreamController.broadcast零外部依
class AppEventBus {
final StreamController<AppEvent> _controller =
StreamController<AppEvent>.broadcast();
/// 广播事件
/// 播事件
void fire(AppEventType type, {Map<String, dynamic>? data}) {
if (!_controller.isClosed) {
_controller.add(AppEvent(type, data: data));
}
}
/// 监听指定型事件
/// 監聽指定型事件
StreamSubscription<AppEvent> on(
AppEventType type,
void Function(AppEvent) callback,
@@ -40,10 +40,10 @@ class AppEventBus {
.listen(callback);
}
/// 监听任意事件
/// 監聽任意事件
Stream<AppEvent> get stream => _controller.stream;
/// 销毁
/// 銷燬
void dispose() {
_controller.close();
}