feat: enhance lottery system with participant import and prize config

- Fix ES module import issue in admin.service.ts (require -> import)
- Fix lottery reveal ghosting by hiding name particles on complete
- Add participant import from Excel with tag calculation
- Add prize configuration service with JSON persistence
- Constrain winners overlay to scroll area dimensions
- Fix macOS lsof syntax in stop script
- Add HorseRace view and renderer (WIP)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
empty
2026-01-23 12:20:45 +08:00
parent 35d77cbb22
commit a442d050e4
23 changed files with 2523 additions and 325 deletions

View File

@@ -0,0 +1,42 @@
{
"prizes": [
{
"round": 1,
"level": "第一轮抽奖",
"name": "幸运伴手礼",
"winnerCount": 7,
"poolTag": "6070",
"description": "60/70年代"
},
{
"round": 2,
"level": "第二轮抽奖",
"name": "幸运伴手礼",
"winnerCount": 3,
"poolTag": "80",
"description": "80年代"
},
{
"round": 3,
"level": "第三轮抽奖",
"name": "幸运伴手礼",
"winnerCount": 4,
"poolTag": "90",
"description": "90年代"
},
{
"round": 4,
"level": "第四轮抽奖",
"name": "幸运伴手礼",
"winnerCount": 1,
"poolTag": "horse",
"zodiacFilter": "horse",
"description": "属马特供"
}
],
"settings": {
"minStormDuration": 3000,
"revealAnimationDuration": 2000,
"allowRepeatWinner": false
}
}