TokenRefreshInterceptor class
author:郑再红 email:1096877329@qq.com date:2026-08-07 9:44 describe: Token 自动刷新拦截器 当请求返回 401/403 时,自动调用 tokenProvider 刷新 Token 并重试原请求。 支持并发请求场景下的 Token 刷新去重。
- Inheritance
-
- Object
- AdapterInterceptor
- TokenRefreshInterceptor
Constructors
-
TokenRefreshInterceptor({required Future<
String> tokenProvider(), bool isUnauthorized(AdapterException error, AdapterRequest request)?, AdapterRequest onRequestUpdated(AdapterRequest request, String newToken)?, void onTokenRefreshed(String newToken)?, void onTokenRefreshing()?, void onTokenRefreshFailed(Object error)?})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
判断是否为需要刷新 Token 的错误(默认判断 401)
final
- lastRefreshTime → DateTime?
-
no setter
- onRequestUpdated → AdapterRequest Function(AdapterRequest request, String newToken)?
-
刷新 Token 后,更新请求中认证信息的回调
request原始请求,newToken新 Token,返回更新后的请求final - onTokenRefreshed → void Function(String newToken)?
-
Token 刷新成功后的回调(可选)
final
- onTokenRefreshFailed → void Function(Object error)?
-
Token 刷新失败后的回调(可选)
final
- onTokenRefreshing → void Function()?
-
Token 刷新前的回调(可选)
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
tokenProvider
→ Future<
String> Function() -
Token 刷新回调,返回新的 access token
final
Methods
-
clearCache(
) → void - 清除所有缓存的请求
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onError(
AdapterException error, ErrorInterceptorHandler handler) → void -
错误拦截
override
-
onRequest(
AdapterRequest request, RequestInterceptorHandler handler) → void -
请求拦截
override
-
onResponse(
AdapterResponse response, ResponseInterceptorHandler handler) → void -
响应拦截
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited