false, 'msg' => '缺少网址'], JSON_UNESCAPED_UNICODE); exit; } $meta = fetch_site_meta($url); $domain = domain_of($meta['final_url'] ?: $url); // 图标文件名按「用户填的那条网址」算,不用 final_url —— 否则站点日后每次抓取 // (或跳转变化)都会算出不同的键,重复下载、留下孤儿文件。 $iconFile = download_best_icon($meta['icons'], icon_key($url)); $name = $meta['name'] !== '' ? $meta['name'] : ($meta['title'] !== '' ? $meta['title'] : $domain); echo json_encode([ 'ok' => true, 'url' => $url, 'final_url' => $meta['final_url'], 'name' => $name, 'short' => $name, 'title' => $meta['title'], 'icon' => $iconFile, 'icon_url' => $iconFile !== '' ? icon_src($iconFile) : '', 'candidates' => count($meta['icons']), ], JSON_UNESCAPED_UNICODE);