mirror of
https://github.com/afoim/fuwari.git
synced 2026-01-31 09:03:18 +08:00
feat(Footer): 添加服务器图标显示功能
在Footer组件中新增服务器图标显示逻辑,根据服务器类型显示对应的图标(ESA、EdgeOne、Cloudflare)。同时添加了三个SVG图标文件用于展示不同服务器的标识。当服务器类型匹配时,隐藏文字并显示对应图标,否则显示默认文字“未知”。
This commit is contained in:
1
public/cdn/Hosted-Cloudflare-#F48120.svg
Normal file
1
public/cdn/Hosted-Cloudflare-#F48120.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="131" height="20" role="img" aria-label="Hosted: Cloudflare"><title>Hosted: Cloudflare</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="131" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="66" height="20" fill="#555"/><rect x="66" width="65" height="20" fill="#f48120"/><rect width="131" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" href="data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRjM4MDIwIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+Q2xvdWRmbGFyZTwvdGl0bGU+PHBhdGggZD0iTTE2LjUwODggMTYuODQ0N2MuMTQ3NS0uNTA2OC4wOTA4LS45NzA3LS4xNTUzLTEuMzE1NC0uMjI0Ni0uMzE2NC0uNjA0NS0uNDk5LTEuMDYxNS0uNTIwNWwtOC42NTkyLS4xMTIzYS4xNTU5LjE1NTkgMCAwIDEtLjEzMzMtLjA3MTNjLS4wMjgzLS4wNDItLjAzNTEtLjA5ODYtLjAyMS0uMTU1My4wMjc4LS4wODQuMTEyMy0uMTQ4NC4yMDM2LS4xNTYybDguNzM1OS0uMTEyM2MxLjAzNTEtLjA0ODkgMi4xNjAxLS44ODY4IDIuNTUzNy0xLjkxMzZsLjQ5OS0xLjMwMTNjLjAyMTUtLjA1NjEuMDI5My0uMTEyOC4wMTQ3LS4xNjgtLjU2MjUtMi41NDYzLTIuODM1LTQuNDQ1My01LjU0OTktNC40NDUzLTIuNTAzOSAwLTQuNjI4NCAxLjYxNzctNS4zODc2IDMuODYxNC0uNDkyNy0uMzY1OC0xLjExODctLjU2MjUtMS43OTQtLjQ5OS0xLjIwMjYuMTE5LTIuMTY2NSAxLjA4My0yLjI4NjEgMi4yODU2LS4wMjgzLjMxLS4wMDY5LjYxMjguMDYzNS44OTRDMS41NjgzIDEzLjE3MSAwIDE0Ljc3NTQgMCAxNi43NTJjMCAuMTc0OC4wMTQyLjM1MTUuMDM1Mi41MjczLjAxNDEuMDgzLjA4NDQuMTQ3NS4xNjg5LjE0NzVoMTUuOTgxNGMuMDkwOSAwIC4xNzU4LS4wNjQ1LjIwMzItLjE1NTNsLjEyLS40MjY4em0yLjc1NjgtNS41NjM0Yy0uMDc3MSAwLS4xNjExIDAtLjIzODMuMDExMi0uMDU2NiAwLS4xMDU0LjA0MTUtLjEyNy4wOTc2bC0uMzM3OCAxLjE3NDRjLS4xNDc1LjUwNjgtLjA5MTguOTcwNy4xNTQzIDEuMzE2NC4yMjU2LjMxNjQuNjA1NS40OTggMS4wNjI1LjUxOTVsMS44NDM3LjExMzNjLjA1NTcgMCAuMTA1NS4wMjYzLjEzMjkuMDcwMy4wMjgzLjA0My4wMzUxLjEwNzQuMDIxNC4xNTYyLS4wMjgzLjA4NC0uMTEzMi4xNDg1LS4yMDQuMTU1M2wtMS45MjEuMTEyM2MtMS4wNDEuMDQ4OC0yLjE1ODIuODg2Ny0yLjU1MjcgMS45MTRsLS4xNDA2LjM1ODVjLS4wMjgzLjA3MTMuMDIxNS4xNDE2LjA5ODYuMTQxNmg2LjU5NzdjLjA3NzEgMCAuMTQ3NC0uMDQ4OS4xNjktLjEyNi4xMTIyLS40MDgyLjE3NTctLjgzNy4xNzU3LTEuMjgwMyAwLTIuNjAyNS0yLjEyNS00LjcyNy00LjczNDQtNC43MjciLz48L3N2Zz4="/><text aria-hidden="true" x="425" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="390">Hosted</text><text x="425" y="140" transform="scale(.1)" fill="#fff" textLength="390">Hosted</text><text aria-hidden="true" x="975" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="550">Cloudflare</text><text x="975" y="140" transform="scale(.1)" fill="#fff" textLength="550">Cloudflare</text></g></svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
1
public/cdn/Hosted-ESA-#FF6A00.svg
Normal file
1
public/cdn/Hosted-ESA-#FF6A00.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="99" height="20" role="img" aria-label="Hosted: ESA"><title>Hosted: ESA</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="99" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="66" height="20" fill="#555"/><rect x="66" width="33" height="20" fill="#ff6a00"/><rect width="99" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" href="data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMWVtIiBzdHlsZT0iZmxleDpub25lO2xpbmUtaGVpZ2h0OjEiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjFlbSI+PHRpdGxlPkFsaWJhYmFDbG91ZDwvdGl0bGU+PHBhdGggZD0iTTE0Ljc1MiA0LjY0aDUuMjc0QzIyLjI0MiA0LjY0IDI0IDYuNDc1IDI0IDguNjkxVjE1LjhhMy45NDcgMy45NDcgMCAwMS0zLjk3NCAzLjk3NWgtNS4yNzRsMS4yOTktMS44MzUgMy44MjItMS4yMjJjLjY4OC0uMjMgMS4xNDYtLjkxOCAxLjE0Ni0xLjYwNXYtNS44MWMwLS42ODctLjQ1OC0xLjM3NS0xLjE0Ni0xLjYwNUwxNi4wNSA2LjQ3NWwtMS4zLTEuODM1ek0yLjk4IDE1LjExMWMwIC42ODguNDYgMS4zNzYgMS4xNDcgMS42MDZsMy44MjIgMS4xNDYgMS4zIDEuODM1SDMuOTc0QTMuOTQ3IDMuOTQ3IDAgMDEwIDE1LjcyM1Y4LjY5YzAtMi4yMTYgMS43NTgtNC4wNSAzLjk3NS00LjA1aDUuMjczTDcuOTUgNi40NzQgNC4xMjcgNy42OTdjLS42ODguMjMtMS4xNDYuOTE4LTEuMTQ2IDEuNjA2djUuODA4eiIgZmlsbD0iI0ZGNkEwMCIvPjxwYXRoIGQ9Ik0xNi4wNTEgMTEuMjEzSDguMDI1djEuODM1aDguMDI2di0xLjgzNXoiIGZpbGw9IiNGRjZBMDAiLz48L3N2Zz4="/><text aria-hidden="true" x="425" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="390">Hosted</text><text x="425" y="140" transform="scale(.1)" fill="#fff" textLength="390">Hosted</text><text aria-hidden="true" x="815" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="230">ESA</text><text x="815" y="140" transform="scale(.1)" fill="#fff" textLength="230">ESA</text></g></svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
1
public/cdn/Hosted-EdgeOne-#00a3ff.svg
Normal file
1
public/cdn/Hosted-EdgeOne-#00a3ff.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="125" height="20" role="img" aria-label="Hosted: EdgeOne"><title>Hosted: EdgeOne</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="125" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="66" height="20" fill="#555"/><rect x="66" width="59" height="20" fill="#00a3ff"/><rect width="125" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAHdElNRQfoCQMDHATKOtnNAAAJh0lEQVRo3q2aW4xdZRXHf2vvPXNmptBp0xrKpRBAWy7qGHBKSzSCGqP1AQlRI2iI2DQh4UVefLCBVgLRRxN5kEaLhooBEgmJNCYmYKL0BsSWSzudpi1tBXq/0Jkz5/Ktvw/73PY+lznT8iU7c/a3v/Pt/7r911rfGWMuY1JQAiIwBAJgFHEzzgqcccQyc12FsxAxhANOEemMOR/i7MPZibMDscdKOo+R7hWBZITVSd+QrO+VEw4GFkCRRRa0HLEa8W2cLyAW48TmAq8B8tolYd56TxXnFK53zNmCs0VxNGEzwS2kqCr3Dn5KAkwKuyA0YrAI7KTGEA/h3IO4rgfI2ufavPLPWtaLD3D+hmuTLYh3cyIQuRPimOp9AxcpgASTtRWpVq4waS1iDc61FwGy+cyFdViLc9icZxAbqeg4ZiCoTAzAepujAHsFBlEx4MPxV0zagHM3wi4RZAdhW+YdIV7HecyK+rcSA4fKg4NzEGBvGp1ERIgHTHoSZ2kfvt3DIhmQmbWI3D4C5wjOOlXizZGFgIvyQ0OzCCDBRG02YoDAwyatRyzMg+wzWGcVqN0izX3NOYezIZL/zoNV5EZlwSD8oAk7yggwUfsbExH0sElP4S3gPQc+cwkLmbnjOH/Hdcw6rK0Dt97zo7iecLdHqsFiEIOnyxnIDQGiiQAGSdmxqh4wsQFnXhvIbuCb90cRzwDfU+CnFtjTDfzs86KG4fEE3R95tc3pGxnDT0TYQhEG7Ks4TyIW9BWsqducQexGbEG8qmDvmxSioGXAjb3jIOMy3VxsFPEUnuw309Y2Aew9J6UMrkBsQLWAbWcU4ZQRZ3COIb1vzk7EVsn2RJGfU7A04ZUF8CXEklmCtYJzxEQZrzOcWmKtIWhALKll/xYB3hMgVDBsRmsRd7VoOSBtMbEDZwpxEvFxeulDnLMyqlbbtFpNSJIqTBtWraB4YCXSQEOTOZolffXziPU4MyitUJDVnyHVrCwFg9PtLlQFYrCixoA1DS2krnEY8XOM/Y16JcdhcUjfVLkr5ekqkLxSRlEyimtFu9YzblMy8SJwsCMv9lHoJBhIFhl6CNUybJP2dkl2xEz4eNxxA8/dF16aIaSTNyCWZbWeiwNxFHgXoPxgYXa0nQSoVZXLEfdkgjV98bYo8pKHqO8NYwLBI4DbTSyig9u0BPFupI+w/mvKdguk2lqNuC6TiMQFxHYFg7j/DSsMgFtsaBUiamOULINtAyuZwiUIAKNI3+lQjB3C09Smlf1bAMDQIsRtHRmlGQefILaDUHQJFrCgm4HPt/M7/y2crn5UnpcQ/zOAvAnCQMEI3801Hi8IQgWM5YgbGsmpE/s4BxB7Acprhi/BAmJFrRnJJ60ry5fH38Ap0eQDx5gEjnfabMGFk0wNzwdjHDG/V52Ds3fZwQvHJq+eR+G3xc7JLZPg2msvUxoD44i4Q0H2dZxVSKHhAmkp/SjGxsicvOfWwA/irMwFawZUzSJjk9dc9gsTMw0FGTXir32uU7fl7tPnQdi2BGdZpmpsSmiIkVwNP404gsCSbFJINlfAHWAJYqyL27Rm1psQv1Zdy/X1UpuWszTcYhX5awnOVTlu7kV7h1HK2/kkoyEjmgbgVsQ1XcrjNoGyILNuYrO5lLgxwbWwvXNqxEE+sHdJfgwzyt/KJZ6ptMyW2R2Ike4d2BxBdvD7lvmFiTlDc+ictppZJa5W2/w/9oDMhlP/76D1znHQo7npJFB2Lc5wguPNIO5Ae83NzprYiUFpKEt7hU0zyAVwLXBLz+Jt7iCzWs9aTwlOETHQteFuxsEBg30SsDobAGEaogJgjNXL5x5tYg+Q3Vws10Q1XawY4Zztq0sSbxl+2uo01zKiAoxtLoCzCmcgE6yecw/PadNb/b3bPN3mz0S4jhI6tXIZoQLOVg+RD0fFNgEIsOtHpVFzxjMgA93Bh75B5vZRq5U+TMzZj3Nn3ty5ODiJ8zYGZbWfz1jKzTegek7pSnvglGpdXXemybtN55OQKuL1BGc7zv2IpMfB0wSygwiK941kwA88Xaw3BbchFvdkFPEW4leI09bovlreVU9o9WTWcln9M425kpyJhMCbaauoJRlTZ1+8UwWdZ7q9aowkjBBJ8Z2NU7tuwSr+gvFKuwm56JHg2oPYhVjS5VSgbGKrFYEBz377BcHxGaR4cbN8zjFK05LnTOzAwEcjZh4ZmgvOriOKqvrEnH9kD6UyB0wf145MoJpV1dCh6XqALce5fhamOWDSBA7RWZ8byl4CSAbOqzgHM+DrAol3cY7iUP5JtnwIg1YHPG7OaCfwFhqx8LZCcgo3iutG5gizhwBUwSLbh/Nyl3yw3VCxPN2BfSzGIxuwlP978b4T9AZUPQqfnvZTC2BoxoXrjwQO5fLBNK5tCu3lM4BVhVW5EueLnZNQwxonEW/jMHX1p6d9gCS2gBzCtsK78YryRsQTOFEtAA8j3sdAa7N9ceE3U1ha/9+CWNrO47Sy2KRgf1QWI5NT8OiF7hWncofHLXpzT3A3Zp5r1mJJ6YdDDD5XIh4vg9iIczeub9bLZxPHOtKcDEtPzlYihrONu3J5hNEo8DVkZ7DmboKUskwtQK3RfGXX8THyA2bZ47UEoPzjAsMvTRPORycQj+N8zpzrENsElZh2vzUDFyMmVs5awzu3Ir2ICI2tBNYou60tcak1caW9+xaLwgMGxTYBAKrnEsyFVfwNYvslzsOIf1n6Y0f7cDBYirilS9JqFcgQw7OXCjnrNcc54OXlQ/OLEzPnMg8a0Co/G0xze2wQ+CviXsl24VBcmw28kSem0pcFxsy5sneFycXNN8cUsD6Yb54onW87ns3otrSmkH7ZCMAJDFenYz+DUDRMrMKbNVQGTJgLeGVdL6v5dXKejmRBwPT1o5kF2ZMpM0rMMr4v5EXiQS3ANZ4L1kurMLPgDwPrQuSbI8xNMPWn0TY4/f+mX3efW6eQG8D1zfKZWVq/doEydJkFL+A14DEI/4kUIxNTz452xDNnAVStHfaK29PyuXub2JHTG8J29PcPgD8Avzd03C3BgKlNl3fFM2cBGr/cwzyE9Wi4e/WyeX8/BLwMbFp0+MTuU9d+hoJXmIqGKD57WU84cxYgMECsMmDPmxDOapwxnMU4Se84aFBkFXESeAfYUrsmAJ1auhgEJ/+8uG99zmnEj1cZrKbHmWaCEpcDN+F8GecOcz6LaynOIlr+3cZcZxD/w9mHeBPYIbM9kXReOSCfPDu/bzz/By9xfbR7Ygd5AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI0LTA5LTAzVDAzOjI4OjAwKzAwOjAwUcdJJgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0wOS0wM1QwMzoyODowMCswMDowMCCa8ZoAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjQtMDktMDNUMDM6Mjg6MDQrMDA6MDCDwPRWAAAAAElFTkSuQmCC"/><text aria-hidden="true" x="425" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="390">Hosted</text><text x="425" y="140" transform="scale(.1)" fill="#fff" textLength="390">Hosted</text><text aria-hidden="true" x="945" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="490">EdgeOne</text><text x="945" y="140" transform="scale(.1)" fill="#fff" textLength="490">EdgeOne</text></g></svg>
|
||||
|
After Width: | Height: | Size: 4.7 KiB |
@@ -79,11 +79,43 @@ try {
|
||||
valueSpan.innerText = '检测中...';
|
||||
div.appendChild(valueSpan);
|
||||
|
||||
return { div, valueSpan };
|
||||
const iconImg = document.createElement('img');
|
||||
iconImg.className = 'server-icon h-5 ml-1 hidden';
|
||||
iconImg.alt = 'Server Icon';
|
||||
div.appendChild(iconImg);
|
||||
|
||||
return { div, valueSpan, iconImg };
|
||||
}
|
||||
|
||||
function updateEntryDisplay(elements, server) {
|
||||
elements.valueSpan.innerText = server || "未知";
|
||||
const { valueSpan, iconImg } = elements;
|
||||
|
||||
if (server) {
|
||||
const serverLower = server.toLowerCase();
|
||||
let iconSrc = null;
|
||||
|
||||
if (serverLower.includes('esa')) {
|
||||
iconSrc = '/cdn/Hosted-ESA-#FF6A00.svg';
|
||||
} else if (serverLower.includes('edgeone')) {
|
||||
iconSrc = '/cdn/Hosted-EdgeOne-#00a3ff.svg';
|
||||
} else if (serverLower.includes('cloudflare')) {
|
||||
iconSrc = '/cdn/Hosted-Cloudflare-#F48120.svg';
|
||||
}
|
||||
|
||||
if (iconSrc) {
|
||||
iconImg.src = iconSrc;
|
||||
iconImg.classList.remove('hidden');
|
||||
valueSpan.classList.add('hidden');
|
||||
} else {
|
||||
valueSpan.innerText = server;
|
||||
iconImg.classList.add('hidden');
|
||||
valueSpan.classList.remove('hidden');
|
||||
}
|
||||
} else {
|
||||
valueSpan.innerText = "未知";
|
||||
iconImg.classList.add('hidden');
|
||||
valueSpan.classList.remove('hidden');
|
||||
}
|
||||
}
|
||||
|
||||
async function checkServer(url) {
|
||||
|
||||
Reference in New Issue
Block a user