photo_classifier_platform_interface.dart 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import 'package:plugin_platform_interface/plugin_platform_interface.dart';
  2. import 'photo_classifier_method_channel.dart';
  3. import 'models.dart';
  4. abstract class PhotoClassifierPlatform extends PlatformInterface {
  5. PhotoClassifierPlatform() : super(token: _token);
  6. static final Object _token = Object();
  7. static PhotoClassifierPlatform _instance = MethodChannelPhotoClassifier();
  8. static PhotoClassifierPlatform get instance => _instance;
  9. static set instance(PhotoClassifierPlatform instance) {
  10. PlatformInterface.verifyToken(instance, _token);
  11. _instance = instance;
  12. }
  13. static String methodChannelName = 'com.atmob.photo_classifier';
  14. static String eventChannelName = 'com.atmob.photo_classifier_events';
  15. /// 开始照片分类过程, 返回包含分类进度和结果的事件流
  16. Stream<ClassificationEvent?> startClassificationStream({
  17. List<PhotoImageClassifyType> types = PhotoImageClassifyType.values,
  18. }) {
  19. throw UnimplementedError('startClassificationStream() has not been implemented.');
  20. }
  21. /// 配置照片分类器
  22. ///
  23. /// [batchSize] 每批处理的图片数量
  24. /// [maxConcurrentProcessing] 最大并发处理数量
  25. /// [similarityThreshold] 相似度判定阈值(0.0-1.0),值越大表示要求越相似
  26. Future configureClassifier({
  27. int? batchSize,
  28. int? maxConcurrentProcessing,
  29. double? similarityThreshold,
  30. }) {
  31. throw UnimplementedError('configureClassifier() has not been implemented.');
  32. }
  33. /// 重置照片分类器
  34. Future resetClassifier() {
  35. throw UnimplementedError('resetClassifier() has not been implemented.');
  36. }
  37. /// 检查是否已加载完所有资源
  38. Future checkAssetsLoaded() {
  39. throw UnimplementedError('checkAssetsLoaded() has not been implemented.');
  40. }
  41. }