onStart method
请求开始前调用
Implementation
@override
Future<void> onStart(RequestContext ctx) async {
// 懒加载安装 DioCacheInterceptor 到 Dio 实例(仅一次)
// 注意:不能仅用 clientKey 记录安装状态。
// 当同 key 客户端被 dispose 后重新 register,会得到全新 Dio 实例;
// 若只看 key,可能导致新实例未安装缓存拦截器。
final dio = SmartClientManager.instance.getDio(ctx.clientKey);
final hasCacheInterceptor = dio.interceptors
.any((interceptor) => interceptor is DioCacheInterceptor);
if (!hasCacheInterceptor) {
dio.interceptors.add(DioCacheInterceptor(options: options));
}
}