76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Dart
		
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Dart
		
	
	
	
| import 'package:bitsdojo_window/bitsdojo_window.dart';
 | |
| import 'package:flutter/material.dart';
 | |
| import 'package:web_synchronization_tool/windows/socket_tool.dart';
 | |
| import 'package:web_synchronization_tool/windows/web_grid_view.dart';
 | |
| import 'package:webview_windows/webview_windows.dart';
 | |
| import 'package:window_manager/window_manager.dart';
 | |
| 
 | |
| class WindowsPage extends StatefulWidget {
 | |
|   const WindowsPage({super.key});
 | |
| 
 | |
|   @override
 | |
|   State<WindowsPage> createState() => _WindowsPageState();
 | |
| }
 | |
| 
 | |
| class _WindowsPageState extends State<WindowsPage> {
 | |
|   Widget? windowsWebWidget;
 | |
|   WebviewController mainController = WebviewController();
 | |
|   final gridController = WebGridController();
 | |
| 
 | |
|   bool initDone = false;
 | |
| 
 | |
|   String clickId = '';
 | |
|   String zoomId = '';
 | |
| 
 | |
|   @override
 | |
|   void initState() {
 | |
|     super.initState();
 | |
| 
 | |
| 
 | |
|     initWindow();
 | |
|     controllerInit();
 | |
|   }
 | |
| 
 | |
|   initWindow(){
 | |
|     //允许调整窗口大小
 | |
|     windowManager.setResizable(false);
 | |
| 
 | |
|     const double width = 1920;
 | |
|     const double height = 1000;
 | |
|     //设置最小大小
 | |
|     const windowSize = Size(width, height);
 | |
|     windowManager.setSize(windowSize);
 | |
|     appWindow.minSize = windowSize;
 | |
|     windowManager.center();
 | |
|     windowManager.focus();
 | |
|   }
 | |
| 
 | |
| 
 | |
| 
 | |
|   Future controllerInit() async {
 | |
|     await mainController.initialize();
 | |
| 
 | |
|     mainController.loadUrl('http://www.df6831.com/');
 | |
| 
 | |
|     gridController.addWebController(mainController);
 | |
| 
 | |
|     setState(() {
 | |
|       initDone = true;
 | |
|     });
 | |
|   }
 | |
| 
 | |
|   @override
 | |
|   Widget build(BuildContext context) {
 | |
| 
 | |
|     if (initDone == false) return Container();
 | |
| 
 | |
|     return Scaffold(
 | |
|       body: WebGridWidget(
 | |
|         controller: gridController,
 | |
|       ),
 | |
|     );
 | |
|   }
 | |
| 
 | |
| 
 | |
| }
 |