init method

Future<void> init(
  1. Dio dio, {
  2. String? defaultProjectName,
  3. int? port,
  4. HostHandle? hostHandle,
  5. Duration? timeOut,
  6. String? initHost,
  7. DataFormatVersions? version,
  8. ValueChanged<Socket>? conectSuccess,
  9. CustomHandleDioRequestModel? customCoverterResponseData,
  10. String? projectName,
  11. 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;
  }
}