29 lines
722 B
Dart
29 lines
722 B
Dart
// lib/metadata/file_provider.dart
|
|
import 'dart:io';
|
|
|
|
abstract class FileProvider {
|
|
/// 获取文件,如果是远程文件则先下载到本地缓存
|
|
Future<File?> getFile(String url);
|
|
}
|
|
|
|
class LocalFileProvider implements FileProvider {
|
|
@override
|
|
Future<File?> getFile(String url) async {
|
|
final file = File(url);
|
|
if (await file.exists()) {
|
|
return file;
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
|
|
class WebDAVFileProvider implements FileProvider {
|
|
@override
|
|
Future<File?> getFile(String url) async {
|
|
// 🔴 第一阶段:先不实现下载,返回 null
|
|
// 这样 WebDAV 文件会 fallback 到文件名
|
|
// 等核心播放逻辑稳定后,再实现真正的下载缓存
|
|
return null;
|
|
}
|
|
}
|