add request breakpoint functionality (#669)(#660)(#386)

This commit is contained in:
wanghongenpin
2026-02-16 21:57:09 +08:00
parent c4d3421373
commit f418a20568
15 changed files with 752 additions and 22 deletions

View File

@@ -24,6 +24,7 @@ import 'package:proxypin/l10n/app_localizations.dart';
import 'package:path_provider/path_provider.dart';
import 'package:proxypin/network/bin/server.dart';
import 'package:proxypin/network/components/manager/request_crypto_manager.dart';
import 'package:proxypin/network/components/manager/request_breakpoint_manager.dart';
import 'package:proxypin/network/components/manager/request_map_manager.dart';
import 'package:proxypin/network/components/manager/request_rewrite_manager.dart';
import 'package:proxypin/network/components/manager/rewrite_rule.dart';
@@ -42,6 +43,7 @@ import 'package:proxypin/utils/platform.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:window_manager/window_manager.dart';
import '../desktop/setting/request_breakpoint.dart';
import '../desktop/setting/request_crypto.dart';
import '../desktop/setting/request_map.dart';
import '../toolbox/cert_hash.dart';
@@ -107,6 +109,11 @@ Widget multiWindow(int windowId, Map<dynamic, dynamic> argument) {
return RequestMapPage(windowId: windowId);
}
// 请求拦截
if (argument['name'] == 'RequestBreakpointPage') {
return RequestBreakpointPage(windowId: windowId);
}
if (argument['name'] == 'QrCodePage') {
return QrCodePage(windowId: windowId);
}
@@ -264,6 +271,13 @@ void registerMethodHandler() {
return 'done';
}
if (call.method == 'refreshRequestBreakpoint') {
await RequestBreakpointManager.instance.then((value) {
return value.load();
});
return 'done';
}
if (call.method == 'pickFiles') {
var extensions = call.arguments != null ? call.arguments['allowedExtensions'] : null;
FilePickerResult? result = await FilePicker.platform.pickFiles(