snap_wish/lib/domain/repositories/share_repository.dart
2025-09-17 13:32:25 +08:00

35 lines
1.3 KiB
Dart

import 'dart:async';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
/// 分享功能仓库接口 - 定义分享相关的业务逻辑
/// 提供分享接收、处理和状态管理的核心功能
abstract class ShareRepository {
/// 分享数据流 - 用于监听接收到的分享文件
/// 返回分享文件的流,当有新分享时发出数据
Stream<List<SharedMediaFile>>? get sharingStream;
/// 初始化分享接收 - 设置分享监听器
/// 在应用启动时调用,开始监听系统分享事件
/// 返回初始化操作是否成功
Future<void> initializeShareReceiving();
/// 获取待处理的分享文件 - 获取当前待处理的分享文件
/// 返回待处理的分享文件列表,可能为空
List<SharedMediaFile> getPendingShareFiles();
/// 是否有待处理的分享 - 检查是否有待处理的分享文件
/// 返回是否有待处理文件
bool hasPendingShare();
/// 清除当前分享数据 - 清除已处理的分享数据
/// 在分享处理完成后调用
void clearCurrentShare();
/// 获取分享文件数量 - 获取当前分享文件数量
/// 返回分享文件数量
int getShareFileCount();
/// 释放资源 - 清理分享接收相关资源
/// 在应用退出时调用
Future<void> dispose();
}