新增 token自动提交

This commit is contained in:
2025-02-21 19:24:59 +08:00
parent 7fdaf42695
commit 3f042fec78
5 changed files with 37 additions and 4 deletions

View File

@@ -9,6 +9,7 @@ class TraceDio {
final Uuid uuid = Uuid();
static late TraceDio _traceDio;
String? token;
TraceDio(Logger logger)
: _dio = Dio(),
@@ -48,6 +49,9 @@ class TraceDio {
tag: "DIO",
traceId: traceId,
spanId: spanId);
if (response.headers["token"] != null) {
token = response.headers["token"]?[0];
}
return handler.next(response); // 继续处理响应
},
onError: (DioException e, handler) {
@@ -71,21 +75,29 @@ class TraceDio {
Map<String, dynamic>? getHeader(
{Map<String, dynamic>? headers, sf.Request? request}) {
headers ??= {};
if (request != null) {
return {
...headers,
"X-Trace-ID": request.context['request_trace_id'] as String,
"X-Span-ID": request.context['request_span_id'] as String
};
}
return null;
if (token != null) {
headers["token"] = token;
}
return headers;
}
// 发起 GET 请求
Future<Response> get(String url,
{Map<String, dynamic>? queryParameters, sf.Request? request}) async {
{Map<String, dynamic>? queryParameters,
sf.Request? request,
ResponseType? responseType}) async {
return await _dio.get(url,
queryParameters: queryParameters,
options: Options(headers: getHeader(request: request)));
options: Options(
headers: getHeader(request: request), responseType: responseType));
}
// 发起 POST 请求