diff --git a/lib/network/components/manager/request_rewrite_manager.dart b/lib/network/components/manager/request_rewrite_manager.dart index 3c59c49..982f420 100644 --- a/lib/network/components/manager/request_rewrite_manager.dart +++ b/lib/network/components/manager/request_rewrite_manager.dart @@ -213,7 +213,7 @@ class RequestRewriteManager { rewriteItemsCache[rule] = items; } - removeIndex(List indexes) async { + Future removeIndex(List indexes) async { for (var i in indexes) { var rule = rules.removeAt(i); rewriteItemsCache.remove(rule); //删除缓存 diff --git a/lib/network/components/manager/rewrite_rule.dart b/lib/network/components/manager/rewrite_rule.dart index d4e204e..5de59f8 100644 --- a/lib/network/components/manager/rewrite_rule.dart +++ b/lib/network/components/manager/rewrite_rule.dart @@ -51,7 +51,10 @@ class RequestRewriteRule { : _urlReg = RegExp(url.replaceAll("*", ".*").replaceAll('?', '\\?')); bool match(String url, {RuleType? type}) { - return enabled && (type == null || this.type == type) && _urlReg.hasMatch(url); + if (enabled && (type == null || this.type == type)) { + return _urlReg.hasMatch(url); + } + return false; } bool matchUrl(String url, RuleType type) { diff --git a/lib/network/components/manager/script_manager.dart b/lib/network/components/manager/script_manager.dart index 588a3b9..9a94dae 100644 --- a/lib/network/components/manager/script_manager.dart +++ b/lib/network/components/manager/script_manager.dart @@ -223,7 +223,7 @@ async function onResponse(context, request, response) { ///刷新配置 Future flushConfig() async { - _path.then((value) => value.writeAsString(jsonEncode({'enabled': enabled, 'list': list}))); + await _path.then((value) => value.writeAsString(jsonEncode({'enabled': enabled, 'list': list}))); } Map scriptSession = {}; diff --git a/lib/network/components/request_rewrite.dart b/lib/network/components/request_rewrite.dart index d9c6c5f..8042e2b 100644 --- a/lib/network/components/request_rewrite.dart +++ b/lib/network/components/request_rewrite.dart @@ -40,7 +40,8 @@ class RequestRewriteInterceptor extends Interceptor { @override Future onRequest(HttpRequest request) async { //重写请求 - await requestRewrite(request); + var url = request.requestUrl; + await requestRewrite(url, request); return request; } @@ -48,8 +49,8 @@ class RequestRewriteInterceptor extends Interceptor { Future onResponse(HttpRequest request, HttpResponse response) async { //重写响应 try { - var uri = request.domainPath; - await responseRewrite(uri, response); + var url = request.requestUrl; + await responseRewrite(url, response); } catch (e, t) { response.body = "$e".codeUnits; logger.e('[${request.requestId}] 响应重写异常 ', error: e, stackTrace: t); @@ -75,8 +76,7 @@ class RequestRewriteInterceptor extends Interceptor { } /// 重写请求 - Future requestRewrite(HttpRequest request) async { - var url = request.requestUrl; + Future requestRewrite(String url, HttpRequest request) async { var manager = await RequestRewriteManager.instance; var rewriteRule = manager.getRewriteRule(url, [RuleType.requestReplace, RuleType.requestUpdate]); diff --git a/lib/ui/desktop/request/request.dart b/lib/ui/desktop/request/request.dart index dc1822a..85d1ca7 100644 --- a/lib/ui/desktop/request/request.dart +++ b/lib/ui/desktop/request/request.dart @@ -170,11 +170,7 @@ class _RequestWidgetState extends State { .then((value) => FlutterToastr.show(localizations.copied, rootNavigator: true, context)); }, ), - ]), - onClick: (_) { - Clipboard.setData(ClipboardData(text: curlRequest(widget.request))) - .then((value) => FlutterToastr.show(localizations.copied, rootNavigator: true, context)); - }), + ])), MenuItem.separator(), MenuItem(label: localizations.repeat, onClick: (_) => onRepeat(widget.request)), MenuItem(label: localizations.customRepeat, onClick: (_) => showCustomRepeat(widget.request)), diff --git a/lib/ui/desktop/toolbar/setting/request_rewrite.dart b/lib/ui/desktop/toolbar/setting/request_rewrite.dart index c2ec152..4971f7f 100644 --- a/lib/ui/desktop/toolbar/setting/request_rewrite.dart +++ b/lib/ui/desktop/toolbar/setting/request_rewrite.dart @@ -426,9 +426,9 @@ class _RequestRuleListState extends State { showGlobalMenu(details.globalPosition); return; } - // setState(() { - // selected[index] = true; - // }); + setState(() { + selected[index] = true; + }); showContextMenu(context, details.globalPosition, items: [ PopupMenuItem(height: 35, child: Text(localizations.edit), onTap: () => showEdit(index)), PopupMenuItem(height: 35, onTap: () => export([index]), child: Text(localizations.export)), @@ -446,11 +446,12 @@ class _RequestRuleListState extends State { onTap: () async { await widget.requestRewrites.removeIndex([index]); MultiWindow.invokeRefreshRewrite(Operation.delete, index: index); + // setState(() {}); }) ]).then((value) { - // setState(() { - // selected.remove(index); - // }); + setState(() { + selected.remove(index); + }); }); } } diff --git a/lib/ui/desktop/toolbar/setting/rewrite/rewrite_replace.dart b/lib/ui/desktop/toolbar/setting/rewrite/rewrite_replace.dart index a3c3144..41089ec 100644 --- a/lib/ui/desktop/toolbar/setting/rewrite/rewrite_replace.dart +++ b/lib/ui/desktop/toolbar/setting/rewrite/rewrite_replace.dart @@ -123,7 +123,7 @@ class RewriteReplaceState extends State { : [localizations.statusCode, localizations.responseHeader, localizations.responseBody]; return Container( - constraints: const BoxConstraints(maxHeight: 360), + constraints: const BoxConstraints(maxHeight: 370), child: DefaultTabController( length: tabs.length, initialIndex: tabs.length - 1, diff --git a/lib/ui/desktop/toolbar/setting/script.dart b/lib/ui/desktop/toolbar/setting/script.dart index 1a49614..06b4a47 100644 --- a/lib/ui/desktop/toolbar/setting/script.dart +++ b/lib/ui/desktop/toolbar/setting/script.dart @@ -42,9 +42,9 @@ void _refreshScript() { return; } _refresh = true; - Future.delayed(const Duration(milliseconds: 1000), () async { + Future.delayed(const Duration(milliseconds: 1500), () async { _refresh = false; - (await ScriptManager.instance).flushConfig(); + await ScriptManager.instance.then((manager) => manager.flushConfig()); await DesktopMultiWindow.invokeMethod(0, "refreshScript"); }); }