Files
qinglong_app/lib/base/http/token_interceptor.dart
2022-06-02 08:37:54 +08:00

30 lines
899 B
Dart

import 'package:dio/dio.dart';
import 'package:qinglong_app/base/http/url.dart';
import 'package:qinglong_app/main.dart';
import '../userinfo_viewmodel.dart';
class TokenInterceptor extends Interceptor {
@override
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
options.headers["User-Agent"] =
"qinglong_client";
options.headers["Content-Type"] = "application/json;charset=UTF-8";
if (!Url.inWhiteList(options.path)) {
options.queryParameters["t"] =
(DateTime.now().millisecondsSinceEpoch ~/ 1000).toString();
}
if (!Url.inLoginList(options.path)) {
if (getIt<UserInfoViewModel>().token != null &&
getIt<UserInfoViewModel>().token!.isNotEmpty) {
options.headers["Authorization"] =
"Bearer " + getIt<UserInfoViewModel>().token!;
}
}
return handler.next(options);
}
}