mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-05-24 17:59:40 +08:00
统一图标导入方式
This commit is contained in:
84
src/utils/imageUtils.ts
Normal file
84
src/utils/imageUtils.ts
Normal file
@@ -0,0 +1,84 @@
|
||||
/**
|
||||
* 静态资源导入工具函数
|
||||
* 用于在生产环境中正确引用静态资源
|
||||
*/
|
||||
|
||||
// 导入所有 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
|
||||
}
|
||||
Reference in New Issue
Block a user