r12/app.js · 约 865 字符
1// 抽奖概率配置(演示用测试模拟数据,生产请放后端校验)
2const PRIZES = [
3 { name: '一等奖 · iPhone', prob: 0.02, emo: '📱' },
4 { name: '二等奖 · 无线耳机', prob: 0.06, emo: '🎧' },
5 { name: '八八折券', prob: 0.17, emo: '🎟️' },
6 { name: '谢谢参与', prob: 0.40, emo: '🍃' },
7 { name: '积分 ×10', prob: 0.20, emo: '⭐' },
8 { name: '实物盲盒', prob: 0.15, emo: '🎁' },
9];
10// 按概率抽取一个奖项下标(防连点由调用方控制)
11function drawIndex() {
12 const r = Math.random(); let acc = 0;
13 for (let i = 0; i < PRIZES.length; i++) { acc += PRIZES[i].prob; if (r < acc) return i; }
14 return PRIZES.length - 1;
15}
16// 简易埋点钩子(演示)
17function track(event, data) { console.log('[track]', event, data); }
18