Merge branch 'develop' into flutter-3.19.6

This commit is contained in:
wanghongenpin
2024-11-12 17:45:16 +08:00
8 changed files with 22 additions and 22 deletions

View File

@@ -213,7 +213,7 @@ class RequestRewriteManager {
rewriteItemsCache[rule] = items;
}
removeIndex(List<int> indexes) async {
Future<void> removeIndex(List<int> indexes) async {
for (var i in indexes) {
var rule = rules.removeAt(i);
rewriteItemsCache.remove(rule); //删除缓存

View File

@@ -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) {

View File

@@ -223,7 +223,7 @@ async function onResponse(context, request, response) {
///刷新配置
Future<void> flushConfig() async {
_path.then((value) => value.writeAsString(jsonEncode({'enabled': enabled, 'list': list})));
await _path.then((value) => value.writeAsString(jsonEncode({'enabled': enabled, 'list': list})));
}
Map<dynamic, dynamic> scriptSession = {};

View File

@@ -40,7 +40,8 @@ class RequestRewriteInterceptor extends Interceptor {
@override
Future<HttpRequest?> 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<HttpResponse?> 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<void> requestRewrite(HttpRequest request) async {
var url = request.requestUrl;
Future<void> requestRewrite(String url, HttpRequest request) async {
var manager = await RequestRewriteManager.instance;
var rewriteRule = manager.getRewriteRule(url, [RuleType.requestReplace, RuleType.requestUpdate]);

View File

@@ -170,11 +170,7 @@ class _RequestWidgetState extends State<RequestWidget> {
.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)),

View File

@@ -426,9 +426,9 @@ class _RequestRuleListState extends State<RequestRuleList> {
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<RequestRuleList> {
onTap: () async {
await widget.requestRewrites.removeIndex([index]);
MultiWindow.invokeRefreshRewrite(Operation.delete, index: index);
// setState(() {});
})
]).then((value) {
// setState(() {
// selected.remove(index);
// });
setState(() {
selected.remove(index);
});
});
}
}

View File

@@ -123,7 +123,7 @@ class RewriteReplaceState extends State<DesktopRewriteReplace> {
: [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,

View File

@@ -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");
});
}