export function createId() { if (typeof crypto !== 'undefined' && crypto.randomUUID) { return crypto.randomUUID() } return `${Date.now()}-${Math.random().toString(16).slice(2)}` } export function formatFileSize(size) { const value = Number(size || 0) if (value < 1024) return `${value}B` if (value < 1024 * 1024) return `${(value / 1024).toFixed(1)}KB` return `${(value / 1024 / 1024).toFixed(1)}MB` } export function formatTestError(error, fallback) { const message = String(error?.message || '').trim() if (/not\s*found/i.test(message)) { return '测试接口暂未加载或规则详情已失效,请刷新规则详情后再试。' } return message || fallback } export function formatTime() { return new Intl.DateTimeFormat('zh-CN', { hour: '2-digit', minute: '2-digit' }).format(new Date()) }