shared_reservation_receiver.dart 852 Bytes
import 'package:flutter/foundation.dart';

/// 承接从其他 App(如微信)分享进来的预订截图。
///
/// 分享回调把图片文件路径写入 [pendingImage],经营助手页监听后
/// 自动走「识别预订信息 → 确认预订」流程。
class SharedReservationReceiver {
  SharedReservationReceiver._();

  static final SharedReservationReceiver instance =
      SharedReservationReceiver._();

  /// 待处理的分享图片路径;为 null 表示当前没有待识别图片。
  final ValueNotifier<String?> pendingImage = ValueNotifier<String?>(null);

  /// 设置待识别图片,并通知监听者。
  void acceptImage(String path) {
    pendingImage.value = path;
  }

  /// 标记该图片已被消费。
  void consumeImage() {
    if (pendingImage.value != null) {
      pendingImage.value = null;
    }
  }
}