feat: festive Chinese red background and prize config unification

- Change all big screen backgrounds to pure Chinese red (#c41230)
- Remove vignette effect for consistent display on different screens
- Unify all prize data to match prizes.json configuration
- Add demo participants fallback when no data imported
- Fix particle visibility reset in startGalaxy()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
empty
2026-01-23 16:33:21 +08:00
parent a442d050e4
commit 22141c9263
10 changed files with 90 additions and 88 deletions

View File

@@ -419,9 +419,9 @@ class AdminService {
this.state.lottery = {
round: 1,
subPhase: 'IDLE',
prizeLevel: firstPrize?.level || '特等奖',
prizeName: firstPrize?.name || '待配置',
winnerCount: firstPrize?.winnerCount || 1,
prizeLevel: firstPrize?.level || '第一轮抽奖',
prizeName: firstPrize?.name || '幸运伴手礼',
winnerCount: firstPrize?.winnerCount || 7,
currentWinners: [],
};
break;
@@ -497,12 +497,15 @@ class AdminService {
}
if (scope === 'all' || scope === 'lottery') {
// 从配置获取第一轮奖项
const prizes = prizeConfigService.getPrizes();
const firstPrize = prizes.find(p => p.round === 1) || prizes[0];
this.state.lottery = {
round: 1,
subPhase: 'IDLE',
prizeLevel: '特等奖',
prizeName: 'iPhone 16 Pro Max',
winnerCount: 1,
prizeLevel: firstPrize?.level || '第一轮抽奖',
prizeName: firstPrize?.name || '幸运伴手礼',
winnerCount: firstPrize?.winnerCount || 7,
currentWinners: [],
};
}

View File

@@ -61,10 +61,10 @@ class PrizeConfigService {
private getDefaults(): PrizeConfigFile {
return {
prizes: [
{ round: 1 as LotteryRound, level: '特等奖', name: 'iPhone 16 Pro Max', winnerCount: 1 },
{ round: 2 as LotteryRound, level: '一等奖', name: 'iPad Pro', winnerCount: 3 },
{ round: 3 as LotteryRound, level: '二等奖', name: 'AirPods Pro', winnerCount: 5 },
{ round: 4 as LotteryRound, level: '三等奖', name: '京东卡 500元', winnerCount: 10, zodiacFilter: 'horse' },
{ round: 1 as LotteryRound, level: '第一轮抽奖', name: '幸运伴手礼', winnerCount: 7 },
{ round: 2 as LotteryRound, level: '第二轮抽奖', name: '幸运伴手礼', winnerCount: 3 },
{ round: 3 as LotteryRound, level: '第三轮抽奖', name: '幸运伴手礼', winnerCount: 4 },
{ round: 4 as LotteryRound, level: '第四轮抽奖', name: '幸运伴手礼', winnerCount: 1, zodiacFilter: 'horse' },
],
settings: {
minStormDuration: 3000,