/**
 * 延时函数
 * @param {number} ms - 延时时间，单位毫秒
 */
export function delay(ms: number) {
    return new Promise((resolve) => setTimeout(resolve, ms));
  }
export function getFileType(filename) {
  const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'svg', 'tiff'];
  const videoExtensions = ['mp4', 'avi', 'mov', 'wmv', 'flv', 'mkv', 'webm', 'm4v'];

  // 提取文件扩展名（转小写）
  const ext = filename?.split('.')?.pop()?.toLowerCase();

  if (!ext) return 'unknown';

  if (imageExtensions.includes(ext)) {
    return 'image';
  } else if (videoExtensions.includes(ext)) {
    return 'video';
  } else {
    return 'unknown'; // 或者 'other'
  }
}
export function findNearestTimeSlot(timeSlots) {
  const now = new Date();
  const currentHour = now.getHours().toString().padStart(2, '0');
  const currentMinute = now.getMinutes().toString().padStart(2, '0');
  const currentTimeStr = `${currentHour}:${currentMinute}`;

  // 将 HH:MM 格式的时间转为当天的分钟数（更简洁）
  function timeToMinutes(timeStr) {
    const [hours, minutes] = timeStr.split(':').map(Number);
    return hours * 60 + minutes;
  }

  const currentMinutes = timeToMinutes(currentTimeStr);

  for (const slot of timeSlots) {
    const startMinutes = timeToMinutes(slot.startTime);
    const endMinutes = timeToMinutes(slot.endTime);

    // 判断当前时间是否在 [startTime, endTime) 区间内（左闭右开）
    if (currentMinutes >= startMinutes && currentMinutes < endMinutes) {
      return slot; // 找到正在进行的时段，立即返回
    }
  }

  // 没有找到匹配的时段
  return null;
}