/**
 * 生成唯一 ID，兼容非 Secure Context 环境（如 HTTP 页面、旧浏览器）
 * 优先使用 crypto.randomUUID()，不可用时回退到时间戳+随机数
 */
export function generateUUID(): string {
  try {
    if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {
      return crypto.randomUUID();
    }
  } catch { /* 非 HTTPS 环境，使用降级方案 */ }
  // Fallback: UUID v4 格式（保证 DB UUID 列兼容）
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
    const r = Math.random() * 16 | 0;
    return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
  });
}
