onRequest method
请求发送前调用(可修改 RequestOptions)
Implementation
@override
Future<void> onRequest(RequestContext ctx, RequestOptions options) async {
// 构建固定参数
final fixedParams = <String, dynamic>{};
for (final entry in params.entries) {
fixedParams[entry.key] = entry.value();
}
if (fixedParams.isEmpty) return;
// GET 请求添加到 queryParameters
if (ctx.request.method.toUpperCase() == 'GET') {
options.queryParameters = {
...fixedParams,
...options.queryParameters,
...?ctx.request.queryParameters,
};
} else {
// POST/PUT 等请求添加到 data
if (options.data == null) {
options.data = {};
}
if (options.data is Map) {
options.data = {
...fixedParams,
...options.data,
};
}
}
}