// 扫码 类型
class QrTypeCode {
  static const String hxm = 'HXM-';
  static const String hym = 'hym-';
  static const String tgm = 'tgm-';
}

enum ScanCodeType {
  verification('HXM'), // 核销码
  friend('hym'), // 好友码
  promotion('tgm'); // 推广码

  final String prefix;
  const ScanCodeType(this.prefix);

  // 根据前缀获取对应的枚举值
  static ScanCodeType? fromPrefix(String prefix) {
    for (var type in ScanCodeType.values) {
      if (type.prefix == prefix) {
        return type;
      }
    }
    return null;
  }

  // 根据完整code获取对应的枚举值
  static ScanCodeType? fromCode(String code) {
    for (var type in ScanCodeType.values) {
      if (code.startsWith('${type.prefix}-')) {
        return type;
      }
    }
    return null;
  }
}
