删除主控 代码
This commit is contained in:
parent
8e8bf0d53c
commit
0f139adcdd
|
|
@ -78,48 +78,11 @@ class Socket {
|
||||||
if (data['op'] == 11){
|
if (data['op'] == 11){
|
||||||
|
|
||||||
}
|
}
|
||||||
// 服务器 已连接的ip
|
|
||||||
if (data['Arr'] != null){
|
|
||||||
List arr = data['Arr'];
|
|
||||||
List<String> ips = [];
|
|
||||||
arr.forEach((clientMap) {
|
|
||||||
String ip = clientMap['Client'];
|
|
||||||
ips.add(ip);
|
|
||||||
});
|
|
||||||
childrenIp = ips;
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 发送消息
|
|
||||||
sendClickMessage(Map data){
|
|
||||||
Map messageMap = {
|
|
||||||
"op": 2,
|
|
||||||
"click": data
|
|
||||||
};
|
|
||||||
socket?.send(dataMake(messageMap), InternetAddress(url), port);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 发送获取从机 消息
|
|
||||||
sendGetChilds(){
|
|
||||||
Map messageMap = {
|
|
||||||
"op": 3,
|
|
||||||
};
|
|
||||||
socket?.send(dataMake(messageMap), InternetAddress(url), port);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// 发送输入喜消息
|
|
||||||
sendInpuMessage(int num){
|
|
||||||
Map messageMap = {
|
|
||||||
"op": 2,
|
|
||||||
"input": num
|
|
||||||
};
|
|
||||||
socket?.send(dataMake(messageMap), InternetAddress(url), port);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 心跳
|
/// 心跳
|
||||||
heartbeat(){
|
heartbeat(){
|
||||||
Timer timer = Timer(const Duration(seconds: 10), () async {
|
Timer timer = Timer(const Duration(seconds: 10), () async {
|
||||||
|
|
|
||||||
|
|
@ -18,10 +18,6 @@ class SynchronizationWebTool{
|
||||||
return _instance!;
|
return _instance!;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool webSync = false;
|
|
||||||
|
|
||||||
/// 主控
|
|
||||||
late WebviewController mainController;
|
|
||||||
/// 受控
|
/// 受控
|
||||||
List<WebviewController> _childControllers = [];
|
List<WebviewController> _childControllers = [];
|
||||||
|
|
||||||
|
|
@ -33,38 +29,11 @@ class SynchronizationWebTool{
|
||||||
// controller.addScriptToExecuteOnDocumentCreated(WindowsJs.onloadZoom(90));
|
// controller.addScriptToExecuteOnDocumentCreated(WindowsJs.onloadZoom(90));
|
||||||
}
|
}
|
||||||
|
|
||||||
mainController = childControllers.first;
|
_childControllers = childControllers;
|
||||||
_childControllers = childControllers.sublist(1,10);
|
|
||||||
|
|
||||||
// 滚动监听
|
// 滚动监听
|
||||||
// mainController.addScriptToExecuteOnDocumentCreated(WindowsJs.scrollEventJs);
|
// mainController.addScriptToExecuteOnDocumentCreated(WindowsJs.scrollEventJs);
|
||||||
|
|
||||||
mainController.webMessage.listen((event) {
|
|
||||||
print('mainController listen --');
|
|
||||||
|
|
||||||
if (event['scroll'] != null ) {
|
|
||||||
print(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!webSync) return;
|
|
||||||
|
|
||||||
if (event['click'] != null) {
|
|
||||||
Map click = event['click'];
|
|
||||||
int x = click['x'] as int;
|
|
||||||
int y = click['y'] as int;
|
|
||||||
|
|
||||||
clickSynchronization(x, y);
|
|
||||||
SocketUtils.getInstance().sendClickMessage(click);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event['scroll'] != null ) {
|
|
||||||
print(event);
|
|
||||||
int y = event['y'] as int;
|
|
||||||
scrollSynchronization(y);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<WebviewController> get childController{
|
List<WebviewController> get childController{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:web_synchronization_tool/windows/number_tool.dart';
|
|
||||||
import 'package:web_synchronization_tool/windows/socket_tool.dart';
|
import 'package:web_synchronization_tool/windows/socket_tool.dart';
|
||||||
import 'package:web_synchronization_tool/windows/synchronization_web_tool.dart';
|
import 'package:web_synchronization_tool/windows/synchronization_web_tool.dart';
|
||||||
import 'package:web_synchronization_tool/windows/windowsJs.dart';
|
|
||||||
import 'package:webview_windows/webview_windows.dart';
|
import 'package:webview_windows/webview_windows.dart';
|
||||||
|
|
||||||
class WebGridController {
|
class WebGridController {
|
||||||
|
|
@ -118,8 +116,6 @@ class _ShowWebWidgetState extends State<ShowWebWidget> {
|
||||||
|
|
||||||
/// 网址
|
/// 网址
|
||||||
TextEditingController urlController = TextEditingController();
|
TextEditingController urlController = TextEditingController();
|
||||||
/// 总金额
|
|
||||||
TextEditingController numController = TextEditingController();
|
|
||||||
/// 服务器ip
|
/// 服务器ip
|
||||||
TextEditingController ipController = TextEditingController();
|
TextEditingController ipController = TextEditingController();
|
||||||
|
|
||||||
|
|
@ -152,27 +148,11 @@ class _ShowWebWidgetState extends State<ShowWebWidget> {
|
||||||
if (widget.main == false) return input();
|
if (widget.main == false) return input();
|
||||||
return Row(
|
return Row(
|
||||||
children: [
|
children: [
|
||||||
TextButton(
|
// TextButton(
|
||||||
onPressed: () {
|
// onPressed: () {
|
||||||
widget.controller.openDevTools();
|
// widget.controller.openDevTools();
|
||||||
},
|
// },
|
||||||
child: const Text('开发者')),
|
// child: const Text('开发者')),
|
||||||
inputNumber(),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
const Text('同步'),
|
|
||||||
Switch(
|
|
||||||
value: SynchronizationWebTool.getInstance().webSync,
|
|
||||||
onChanged: (value) {
|
|
||||||
setState(() {
|
|
||||||
SynchronizationWebTool.getInstance().webSync = value;
|
|
||||||
if (value){ // 打开同步获取 从机
|
|
||||||
SocketUtils.getInstance().sendGetChilds();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})
|
|
||||||
],
|
|
||||||
),
|
|
||||||
input(),
|
input(),
|
||||||
ipSet()
|
ipSet()
|
||||||
],
|
],
|
||||||
|
|
@ -208,40 +188,6 @@ class _ShowWebWidgetState extends State<ShowWebWidget> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 输入总金额
|
|
||||||
inputNumber(){
|
|
||||||
return Row(
|
|
||||||
children: [
|
|
||||||
SizedBox(width: 100, child: TextField(style: const TextStyle(fontSize: 14),controller: numController,)),
|
|
||||||
TextButton(
|
|
||||||
onPressed: () {
|
|
||||||
try{
|
|
||||||
int num = int.parse(numController.text);
|
|
||||||
|
|
||||||
int chidNum = SocketUtils.getInstance().childrenIp.length + 1;
|
|
||||||
|
|
||||||
if (num <= chidNum * 10){
|
|
||||||
numController.text = '金额不能小于${chidNum*10}';
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int maxNum = num ~/ chidNum;
|
|
||||||
SocketUtils.getInstance().sendInpuMessage(maxNum);
|
|
||||||
|
|
||||||
// 本地处理
|
|
||||||
List<int> nums = NumberTool().randomNum(maxNum);
|
|
||||||
widget.controller.executeScript(WindowsJs.inputJs(nums.first));
|
|
||||||
nums.removeAt(0);
|
|
||||||
SynchronizationWebTool.getInstance().input(nums);
|
|
||||||
}catch(e){
|
|
||||||
numController.text = '请输入数字';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
child: const Text('填入总金额')),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue