build method

构建自适应平台的 ImageProvider 对象,由于 Web 平台存在 CORS 问题, 所以在 Web 端返回 NetworkImage 对象,在客户端则返回 _CacheImage 对象

Implementation

ImageProvider build() {
  late ImageProvider imageProvider;

  if (kIsWeb) {
    imageProvider = NetworkImage(
      url,
      scale: scale,
      headers: headers,
      webHtmlElementStrategy: webHtmlElementStrategy,
    );
  } else {
    imageProvider = _CacheImage(this);
  }

  if(ImageStorage.storage.isExpire(url)){

  }
  // 将解析好的图片尺寸缓存到本地
  if (enabledCacheSize == true && cacheSize == null) {
    imageProvider.getImageInfo().then((imageInfo) {
      if (imageInfo != null) {
        setImageCache(
          Size(
            imageInfo.image.width.toDouble(),
            imageInfo.image.height.toDouble(),
          ),
        );
      }
    });
  } else {
    setImageCache();
  }

  return imageProvider;
}