34 lines
1.5 KiB
JavaScript
34 lines
1.5 KiB
JavaScript
const FOOD_ASSET_NAMES = new Set([
|
|
'apple.jpg', 'banana.jpg', 'blackCoffee.jpg', 'broccoli.jpg', 'brownRice.jpg',
|
|
'camel.jpg', 'celery.jpg', 'centuryCongee.jpg', 'chicken.jpg', 'coffee.jpg',
|
|
'congee.jpg', 'corn.jpg', 'cucumber.jpg', 'egg.jpg', 'eightCongee.jpg',
|
|
'grainMantou.jpg', 'greenBean.jpg', 'lettuce.jpg', 'mango.jpg', 'milk.jpg',
|
|
'milkTea.jpg', 'milletCongee.jpg', 'mushroom.jpg', 'noodleSoup.jpg', 'onion.jpg',
|
|
'orangeJuice.jpg', 'pepper.jpg', 'pineapple.jpg', 'potato.jpg', 'riceNoodleSoup.jpg',
|
|
'shrimp.jpg', 'soda.jpg', 'strawberry.jpg', 'taro.jpg', 'tea.jpg', 'tomato.jpg',
|
|
'udon.jpg', 'wonton.jpg'
|
|
])
|
|
|
|
/**
|
|
* 让游戏食品图进入 tongji 分包,避免增加微信小程序主包体积。
|
|
* 迁移到其他 uni-app 项目时,在 vite.config 中复用此函数即可。
|
|
*/
|
|
export function endlessGameAssetFileNames(assetInfo = {}) {
|
|
const candidates = [
|
|
assetInfo.name,
|
|
...(assetInfo.names || []),
|
|
assetInfo.originalFileName,
|
|
...(assetInfo.originalFileNames || [])
|
|
].filter(Boolean)
|
|
|
|
const isEndlessFood = candidates.some((value) => {
|
|
const normalized = String(value).replace(/\\/g, '/')
|
|
const basename = normalized.split('/').pop()
|
|
return normalized.includes('tongji/endless-game/assets/food/') || FOOD_ASSET_NAMES.has(basename)
|
|
})
|
|
|
|
return isEndlessFood
|
|
? 'tongji/endless-game/assets/food/[name].[hash][extname]'
|
|
: 'assets/[name].[hash][extname]'
|
|
}
|