import 'dart:ffi'; import 'package:web_synchronization_tool/windows/socket_tool.dart'; import 'package:web_synchronization_tool/windows/windowsJs.dart'; import 'package:webview_windows/webview_windows.dart'; class SynchronizationWebTool{ // 私有构造函数 SynchronizationWebTool._(); // 私有静态变量,保存类的唯一实例 static SynchronizationWebTool? _instance; // 公开的静态方法,返回类的唯一实例 static SynchronizationWebTool getInstance() { _instance ??= SynchronizationWebTool._(); return _instance!; } /// 受控 List _childControllers = []; /// 设置控制器时 注入js setChildController(List childControllers){ // for (var controller in childControllers) { // controller.addScriptToExecuteOnDocumentCreated(WindowsJs.clickEventJs); // // controller.addScriptToExecuteOnDocumentCreated(WindowsJs.onloadZoom(90)); // } _childControllers = childControllers; // 滚动监听 // mainController.addScriptToExecuteOnDocumentCreated(WindowsJs.scrollEventJs); } List get childController{ return _childControllers; } /// 点击同步 clickSynchronization(int x,int y){ for (var controller in childController) { controller.executeScript(WindowsJs.clickJs(x, y)); } } /// 滚动同步 scrollSynchronization(int y){ for (var controller in childController) { controller.executeScript(WindowsJs.scrollTo(y) ); } } /// 输入 input(List values){ for (int i =0;i