init method
void
init({
- String baseUrl = "",
- Duration? connectTimeout,
- Duration? receiveTimeout,
- Duration? sendTimeout,
- String? pem,
- String? pKCSPath,
- String? pKCSPwd,
- String codeKey = 'code',
- String msgKey = 'msg',
- String dataKey = 'data',
- String successCode = '',
- bool checkDataEmpty = true,
- ResponseType? responseType,
- bool openLog = true,
- int retry = 3,
- String? method,
- Map<
String, dynamic> ? headers, - Map<
String, dynamic> ? extra, - String contentType = '',
- ValidateStatus? validateStatus,
- bool? followRedirects,
- dynamic onError(
- HttpData httpData
- dynamic onFinish(
- HttpData httpData
- dynamic onStart(
- String loadingMsg
- dynamic onSuccess()?,
- bool enableAutoCookie = false,
- ListFormat? listFormat,
- List<
String> ? publicErrorCode, - List<
Interceptor> ? interceptors, - CacheOptions? cacheOptions,
- Map<
String, dynamic> fixParamsBuilder()?, - Map<
String, dynamic> fixHeadersBuilder()?, - String fixUrlParams()?,
- Dio? dio,
- bool checkUrl = true,
- TalkerDioLoggerSettings? talkerDioLoggerSettings,
初始化公共属性
baseUrl 地址前缀
connectTimeout 连接超时时间,毫秒
receiveTimeout 接收超时时间,毫秒
interceptors 基础拦截器
Implementation
void init({
String baseUrl = "",
Duration? connectTimeout,
Duration? receiveTimeout,
Duration? sendTimeout,
String? pem,
String? pKCSPath,
String? pKCSPwd,
String codeKey = 'code',
String msgKey = 'msg',
String dataKey = 'data',
String successCode = '',
bool checkDataEmpty = true,
ResponseType? responseType,
bool openLog = true,
int retry = 3,
String? method,
Map<String, dynamic>? headers,
Map<String, dynamic>? extra,
String contentType = '',
ValidateStatus? validateStatus,
bool? followRedirects,
Function(HttpData httpData)? onError,
Function(HttpData httpData)? onFinish,
Function(String loadingMsg)? onStart,
Function(HttpData httpData, String successMsg)? onSuccess,
bool enableAutoCookie = false,
ListFormat? listFormat,
List<String>? publicErrorCode,
List<Interceptor>? interceptors,
CacheOptions? cacheOptions,
Map<String, dynamic> Function()? fixParamsBuilder,
Map<String, dynamic> Function()? fixHeadersBuilder,
String Function()? fixUrlParams,
Dio? dio,
bool checkUrl = true,
TalkerDioLoggerSettings? talkerDioLoggerSettings,
}) {
_onStart = onStart;
_onError = onError;
_onFinish = onFinish;
_onSuccess = onSuccess;
_successCode = successCode;
_codeKey = codeKey;
_msgKey = msgKey;
_dataKey = dataKey;
_checkDataEmpty = checkDataEmpty;
_cacheOptions = cacheOptions;
_interceptors = interceptors;
this.openLog = openLog;
this.retry = retry;
this.pKCSPath = pKCSPath;
_checkUrl = checkUrl;
Map<String, dynamic> lastHeaders = {};
_isInit = true;
method = method ?? Method.post;
if (publicErrorCode != null) {
this.publicErrorCode.addAll(publicErrorCode);
}
if (fixParamsBuilder != null) {
_fixParamsBuilder = fixParamsBuilder;
}
if (fixHeadersBuilder != null) {
_fixHeadersBuilder = fixHeadersBuilder;
}
if (fixUrlParams != null) {
_fixUrlParams = fixUrlParams;
}
lastHeaders.addAll(_fixHeaders);
lastHeaders.addAll(headers ?? {});
connectTimeout = connectTimeout ?? const Duration(seconds: 30);
sendTimeout = sendTimeout ?? const Duration(seconds: 30);
receiveTimeout = receiveTimeout ?? const Duration(seconds: 30);
_talkerDioLoggerSettings =
talkerDioLoggerSettings ?? const TalkerDioLoggerSettings();
///如果外部没有传入dio,使用自身dio
if (dio == null) {
_baseOptions = BaseOptions(
baseUrl: baseUrl,
receiveTimeout: receiveTimeout,
connectTimeout: connectTimeout,
sendTimeout: sendTimeout,
contentType: contentType,
responseType: responseType ?? ResponseType.json,
headers: lastHeaders,
extra: extra ?? {},
validateStatus: validateStatus,
followRedirects: followRedirects,
listFormat: listFormat,
method: method);
_dio = createDio();
} else {
_baseOptions = dio.options;
_dio = dio;
}
}