init method
Future<void>
init(
- Dio dio, {
- String? defaultProjectName,
- int? port,
- HostHandle? hostHandle,
- Duration? timeOut,
- String? initHost,
- DataFormatVersions? version,
- ValueChanged<
Socket> ? conectSuccess, - CustomHandleDioRequestModel? customCoverterResponseData,
- String? projectName,
- List<
ServerMessageHandle> ? extend,
连接idea插件
dio
- dio单例对象
defaultProjectName
- 自定义项目名称
port
- 自定义监听端口
hostHandle
- host扫描过滤
timeOut
- idea插件连接超时时间
initHost
- 自定义连接IP
version
- 传输模型版本,一般默认就行
conectSuccess
- 连接idea插件回调
handle
- 处理idea端插件发送来的数据
customCoverterResponseData
- 自定义传输模型
Implementation
Future<void> init(Dio dio,
{String? defaultProjectName,
int? port,
HostHandle? hostHandle,
Duration? timeOut,
String? initHost,
DataFormatVersions? version,
ValueChanged<Socket>? conectSuccess,
CustomHandleDioRequestModel? customCoverterResponseData,
String? projectName,
List<ServerMessageHandle>? extend}) async {
try {
final extendList = extend ?? <ServerMessageHandle>[];
extendList.add(DefaultPluginMessageHandle.instance);
final s = SocketConnect();
await s.connect(
defaultProjectName: defaultProjectName,
port: port,
hostHandle: hostHandle,
timeOut: timeOut,
initHost: initHost,
version: version,
connectSuccess: conectSuccess,
projectName: projectName,
extend: extendList);
if (dio.interceptors.whereType<DioHttpRequestInterceptor>().isEmpty) {
dio.interceptors.add(DioHttpRequestInterceptor(
version ?? DataFormatVersions.ideaPlugin, s,
customCoverterResponseData: customCoverterResponseData,
projectName: s.appProjectName));
}
} on ConnectException {
rethrow;
}
}