controller.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'package:dsbridge_flutter/dsbridge_flutter.dart';
  2. import 'package:electronic_assistant/base/base_controller.dart';
  3. import 'package:electronic_assistant/module/talk/mindview/js_api.dart';
  4. import 'package:webview_flutter/webview_flutter.dart';
  5. import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart';
  6. class MindViewController extends BaseController {
  7. late final DWebViewController webViewController;
  8. @override
  9. void onInit() {
  10. super.onInit();
  11. late final PlatformWebViewControllerCreationParams params;
  12. if (WebViewPlatform.instance is WebKitWebViewPlatform) {
  13. params = WebKitWebViewControllerCreationParams(
  14. allowsInlineMediaPlayback: true,
  15. mediaTypesRequiringUserAction: const <PlaybackMediaTypes>{},
  16. );
  17. } else {
  18. params = const PlatformWebViewControllerCreationParams();
  19. }
  20. webViewController = DWebViewController.fromPlatformCreationParams(params);
  21. webViewController.setJavaScriptMode(JavaScriptMode.unrestricted);
  22. webViewController.enableZoom(false);
  23. webViewController.loadRequest(Uri.parse('http://192.168.10.144:9528'));
  24. webViewController.addJavaScriptObject(JsMindApi());
  25. // webViewController.callHandler(JsMindApi.functionUpdateMind, args: []);
  26. Future.delayed(const Duration(seconds: 1), () {
  27. webViewController
  28. .callHandler(JsMindApi.functionExport, args: ['test.svg']);
  29. });
  30. }
  31. @override
  32. void onReady() {
  33. super.onReady();
  34. }
  35. }