26 lines
648 B
JavaScript
26 lines
648 B
JavaScript
// src/utils/imagePreloader.js
|
|
import { imageCacheManager } from '@/utils/imageCacheManager'
|
|
|
|
export const preloadImages = (sources, options) => {
|
|
let urls = []
|
|
|
|
// 支持数组和对象形式的图片源
|
|
if (Array.isArray(sources)) {
|
|
urls = sources
|
|
} else if (typeof sources === 'object') {
|
|
urls = Object.values(sources)
|
|
}
|
|
|
|
// 使用 SmartImage 缓存系统
|
|
urls.forEach((url) => {
|
|
if (imageCacheManager.isBuildAsset(url)) {
|
|
imageCacheManager.loadImage(url) // 触发缓存加载
|
|
} else {
|
|
const img = new Image()
|
|
img.src = url
|
|
}
|
|
})
|
|
|
|
console.log(`开始预加载 ${urls.length} 张图片`)
|
|
}
|