feat: 对齐常驻商城与七鱼客服交互
- 同步商城 H5 登录态与原生 token - 完善商城/原生 tab 切换、动画及返回交互 - 修复七鱼客服键盘避让和状态栏恢复 - 调整开屏跳过按钮与登录入口交互
This commit is contained in:
1 parent
b4343ea528
commit
3b089e2205
37 files changed
+2970
-375
No files matched your search
@@ -0,0 +1,28 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
|
||||
class JsEvent {
|
||||
const JsEvent(this.method, [this.args]);
|
||||
|
||||
final String method;
|
||||
final List<dynamic>? args;
|
||||
}
|
||||
|
||||
class WebReloadController {
|
||||
final _controller = StreamController<JsEvent>.broadcast();
|
||||
|
||||
Stream<JsEvent> get stream => _controller.stream;
|
||||
void callEvent(JsEvent event) => _controller.add(event);
|
||||
Future<void> dispose() => _controller.close();
|
||||
}
|
||||
|
||||
final webReloadControllerProvider = Provider<WebReloadController>((ref) {
|
||||
final controller = WebReloadController();
|
||||
ref.onDispose(() => unawaited(controller.dispose()));
|
||||
return controller;
|
||||
});
|
||||
|
||||
final webReloadPProvider = StreamProvider.autoDispose<JsEvent>((ref) {
|
||||
return ref.watch(webReloadControllerProvider).stream;
|
||||
});
|
||||
Reference in new issue
Block a user