mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-05-15 12:28:34 +08:00
85 lines
2.7 KiB
TypeScript
85 lines
2.7 KiB
TypeScript
/**
|
|
* 静态资源导入工具函数
|
|
* 用于在生产环境中正确引用静态资源
|
|
*/
|
|
|
|
// 导入所有 logo 图标
|
|
import qbittorrentLogo from '@/assets/images/logos/qbittorrent.png'
|
|
import transmissionLogo from '@/assets/images/logos/transmission.png'
|
|
import embyLogo from '@/assets/images/logos/emby.png'
|
|
import jellyfinLogo from '@/assets/images/logos/jellyfin.png'
|
|
import plexLogo from '@/assets/images/logos/plex.png'
|
|
import trimemediaLogo from '@/assets/images/logos/trimemedia.png'
|
|
import wechatLogo from '@/assets/images/logos/wechat.png'
|
|
import telegramLogo from '@/assets/images/logos/telegram.webp'
|
|
import slackLogo from '@/assets/images/logos/slack.webp'
|
|
import synologychatLogo from '@/assets/images/logos/synologychat.png'
|
|
import vocechatLogo from '@/assets/images/logos/vocechat.png'
|
|
import downloaderLogo from '@/assets/images/logos/downloader.png'
|
|
import mediaserverLogo from '@/assets/images/logos/mediaserver.png'
|
|
import notificationLogo from '@/assets/images/logos/notification.png'
|
|
import chromeLogo from '@/assets/images/logos/chrome.png'
|
|
import doubanLogo from '@/assets/images/logos/douban.png'
|
|
import githubLogo from '@/assets/images/logos/github.png'
|
|
import tmdbLogo from '@/assets/images/logos/tmdb.png'
|
|
import fanartLogo from '@/assets/images/logos/fanart.webp'
|
|
import pythonLogo from '@/assets/images/logos/python.png'
|
|
import pluginLogo from '@/assets/images/logos/plugin.png'
|
|
import siteLogo from '@/assets/images/logos/site.webp'
|
|
import bangumiLogo from '@/assets/images/logos/bangumi.png'
|
|
import doubanBlackLogo from '@/assets/images/logos/douban-black.png'
|
|
|
|
// 图标映射表
|
|
const logoMap: Record<string, string> = {
|
|
qbittorrent: qbittorrentLogo,
|
|
transmission: transmissionLogo,
|
|
emby: embyLogo,
|
|
jellyfin: jellyfinLogo,
|
|
plex: plexLogo,
|
|
trimemedia: trimemediaLogo,
|
|
wechat: wechatLogo,
|
|
telegram: telegramLogo,
|
|
slack: slackLogo,
|
|
synologychat: synologychatLogo,
|
|
vocechat: vocechatLogo,
|
|
downloader: downloaderLogo,
|
|
mediaserver: mediaserverLogo,
|
|
notification: notificationLogo,
|
|
chrome: chromeLogo,
|
|
douban: doubanLogo,
|
|
github: githubLogo,
|
|
tmdb: tmdbLogo,
|
|
fanart: fanartLogo,
|
|
python: pythonLogo,
|
|
plugin: pluginLogo,
|
|
site: siteLogo,
|
|
bangumi: bangumiLogo,
|
|
'douban-black': doubanBlackLogo,
|
|
}
|
|
|
|
/**
|
|
* 获取图标 URL
|
|
* @param logoName 图标名称
|
|
* @returns 图标的 URL
|
|
*/
|
|
export function getLogoUrl(logoName: string): string {
|
|
return logoMap[logoName] || ''
|
|
}
|
|
|
|
/**
|
|
* 获取所有可用的图标名称
|
|
* @returns 图标名称数组
|
|
*/
|
|
export function getAvailableLogos(): string[] {
|
|
return Object.keys(logoMap)
|
|
}
|
|
|
|
/**
|
|
* 检查图标是否存在
|
|
* @param logoName 图标名称
|
|
* @returns 是否存在
|
|
*/
|
|
export function hasLogo(logoName: string): boolean {
|
|
return logoName in logoMap
|
|
}
|