Files
hejiu/common/constants.js
T
cg 49ef6eedb8 feat(game): 新增酒桌小游戏功能并优化图标显示
- 添加了完整的酒桌小游戏页面,包含数字炸弹、猜拳大战、骰子大话和命运转盘四个游戏
- 实现了成就徽章组件的图标路径判断逻辑,支持图片和文字图标的动态切换
- 更新了饮酒分类常量中的白酒图标为酒杯样式,并修改成就图标为SVG路径
- 重构了动态卡片组件中的分类表情符号显示方式,支持SVG图标渲染
- 添加了游戏页面的路由配置和完整的交互功能实现
2026-07-20 23:25:55 +08:00

203 lines
7.7 KiB
JavaScript

/* 干杯日记 - 常量定义 */
// 酒类分类
export const DRINK_CATEGORIES = [
{ id: 'baijiu', name: '白酒', emoji: '🥃', icon: '/static/icons/baijiu.svg', defaultDegree: 52 },
{ id: 'beer', name: '啤酒', emoji: '🍺', defaultDegree: 5 },
{ id: 'wine', name: '红酒', emoji: '🍷', defaultDegree: 13 },
{ id: 'whisky', name: '洋酒', emoji: '🥂', defaultDegree: 40 },
{ id: 'huangjiu', name: '黄酒', emoji: '🫖', defaultDegree: 15 },
{ id: 'sake', name: '清酒', emoji: '🍶', defaultDegree: 15 },
{ id: 'fruit', name: '果酒', emoji: '🍹', defaultDegree: 8 },
{ id: 'cocktail', name: '调酒', emoji: '🍸', defaultDegree: 15 },
{ id: 'other', name: '其他', emoji: '🫗', defaultDegree: 10 }
]
// 饮用量单位
export const DRINK_UNITS = [
{ id: 'ml', name: 'ml', toMl: 1 },
{ id: 'liang', name: '两', toMl: 50 },
{ id: 'bottle', name: '瓶', toMl: 500 },
{ id: 'cup', name: '杯', toMl: 150 },
{ id: 'can', name: '听', toMl: 330 },
{ id: 'shot', name: 'shot', toMl: 30 }
]
// 预设品牌库 (各酒类常见品牌)
export const BRANDS = {
baijiu: [
{ name: '茅台', product: '飞天茅台53度', degree: 53 },
{ name: '五粮液', product: '普五52度', degree: 52 },
{ name: '泸州老窖', product: '国窖1573', degree: 52 },
{ name: '洋河', product: '梦之蓝M6', degree: 52 },
{ name: '汾酒', product: '青花汾酒20', degree: 53 },
{ name: '郎酒', product: '红花郎', degree: 53 },
{ name: '剑南春', product: '水晶剑南春', degree: 52 },
{ name: '牛栏山', product: '陈酿42度', degree: 42 },
{ name: '红星', product: '二锅头56度', degree: 56 },
{ name: '江小白', product: '表达瓶', degree: 40 }
],
beer: [
{ name: '青岛啤酒', product: '经典', degree: 4.3 },
{ name: '雪花', product: '勇闯天涯', degree: 3.3 },
{ name: '百威', product: '经典', degree: 5.0 },
{ name: '喜力', product: '星银', degree: 5.0 },
{ name: '科罗娜', product: 'Extra', degree: 4.5 },
{ name: '嘉士伯', product: '特醇', degree: 5.0 },
{ name: '燕京', product: 'U8', degree: 2.5 },
{ name: '哈尔滨', product: '冰纯', degree: 4.5 },
{ name: '精酿', product: '自选', degree: 6.0 },
{ name: '朝日', product: '超爽', degree: 5.0 }
],
wine: [
{ name: '拉菲', product: '传奇', degree: 13 },
{ name: '奔富', product: 'Bin 389', degree: 14.5 },
{ name: '长城', product: '五星赤霞珠', degree: 13 },
{ name: '张裕', product: '解百纳', degree: 12.5 },
{ name: '杰卡斯', product: '西拉', degree: 14 },
{ name: '黄尾袋鼠', product: '西拉', degree: 13.5 },
{ name: '蒙特斯', product: '紫天使', degree: 14.5 },
{ name: '云雾之湾', product: '长相思', degree: 13 }
],
whisky: [
{ name: '麦卡伦', product: '12年雪莉桶', degree: 40 },
{ name: '格兰菲迪', product: '12年', degree: 40 },
{ name: '杰克丹尼', product: 'No.7', degree: 40 },
{ name: '芝华士', product: '12年', degree: 40 },
{ name: '尊尼获加', product: '黑牌', degree: 40 },
{ name: '山崎', product: '12年', degree: 43 },
{ name: '百龄坛', product: '12年', degree: 40 },
{ name: '人头马', product: 'XO', degree: 40 }
],
huangjiu: [
{ name: '古越龙山', product: '花雕五年', degree: 15 },
{ name: '会稽山', product: '纯正五年', degree: 15 },
{ name: '塔牌', product: '手工冬酿', degree: 14 },
{ name: '女儿红', product: '三年陈', degree: 15 }
],
sake: [
{ name: '獺祭', product: '纯米大吟酿45', degree: 15 },
{ name: '久保田', product: '纯米吟酿', degree: 15 },
{ name: '松竹梅', product: '上撰', degree: 15 }
],
fruit: [
{ name: '梅乃宿', product: '柚子酒', degree: 8 },
{ name: 'RIO', product: '微醺', degree: 3 },
{ name: '冰锐', product: '朗姆预调', degree: 4.5 },
{ name: '梅见', product: '青梅酒', degree: 12 }
],
cocktail: [
{ name: '自制', product: 'Mojito', degree: 15 },
{ name: '自制', product: 'Gin Tonic', degree: 12 },
{ name: '自制', product: 'Old Fashioned', degree: 30 }
],
other: []
}
// 配餐分类
export const FOOD_CATEGORIES = [
{ id: 'hotpot', name: '火锅', emoji: '🍲' },
{ id: 'bbq', name: '烧烤', emoji: '🍢' },
{ id: 'stirfry', name: '炒菜', emoji: '🥘' },
{ id: 'seafood', name: '海鲜', emoji: '🦐' },
{ id: 'japanese', name: '日料', emoji: '🍣' },
{ id: 'western', name: '西餐', emoji: '🥩' },
{ id: 'snack', name: '小吃卤味', emoji: '🥜' },
{ id: 'junk', name: '零食', emoji: '🍿' },
{ id: 'none', name: '无配餐', emoji: '🚫' }
]
// 饮用感受
export const FEELINGS = [
{ id: 'tipsy', name: '微醺', emoji: '😊', desc: '刚刚好的快乐' },
{ id: 'buzzed', name: '到位', emoji: '😌', desc: '今夜刚刚好' },
{ id: 'drunk', name: '醉了', emoji: '😵', desc: '有点上头了' },
{ id: 'blackout', name: '断片', emoji: '🫠', desc: '什么都不记得了' }
]
// 酒言酒语
export const DRINK_QUOTES = [
'人生得意须尽欢,莫使金樽空对月',
'微醺是最好的状态',
'今朝有酒今朝醉,明日愁来明日愁',
'对酒当歌,人生几何',
'举杯邀明月,对影成三人',
'酒逢知己千杯少',
'晚来天欲雪,能饮一杯无',
'醉后不知天在水,满船清梦压星河',
'白日放歌须纵酒,青春作伴好还乡',
'且将新火试新茶,诗酒趁年华',
'一壶浊酒喜相逢,古今多少事,都付笑谈中',
'何以解忧?唯有杜康',
'把酒祝东风,且共从容',
'明月几时有,把酒问青天',
'劝君更尽一杯酒,西出阳关无故人',
'葡萄美酒夜光杯,欲饮琵琶马上催',
'借问酒家何处有,牧童遥指杏花村',
'花间一壶酒,独酌无相亲',
'金樽清酒斗十千,玉盘珍羞直万钱',
'东篱把酒黄昏后,有暗香盈袖',
'今夜不设防,快乐至上',
'干了这杯,烦恼全忘',
'好友配好酒,人间值得',
'生活有点苦,需要加点酒',
'酒杯太浅,敬不到来日方长',
'世间万物,唯有美食与酒不可辜负',
'把酒言欢,不醉不归',
'夜色温柔,酒也温柔',
'小酌怡情,大饮伤身,今日刚好',
'酒是粮食精,越喝越年轻'
]
// 成就定义
export const ACHIEVEMENTS = [
{
id: 'first_checkin',
name: '初来乍到',
desc: '完成第一次打卡,开启你的饮酒记录之旅',
icon: '🏅',
condition: { type: 'total_records', value: 1 }
},
{
id: 'hundred_cups',
name: '百杯不醉',
desc: '累计饮用100标准杯',
icon: '🏆',
condition: { type: 'total_standard_cups', value: 100 }
},
{
id: 'streak_30',
name: '签到王者',
desc: '连续打卡30天,自律的记录者',
icon: '👑',
condition: { type: 'streak_days', value: 30 }
},
{
id: 'baijiu_master',
name: '白酒达人',
desc: '白酒累计打卡20次',
icon: '/static/icons/baijiu.svg',
condition: { type: 'category_records', category: 'baijiu', value: 20 }
},
{
id: 'tasting_master',
name: '品鉴师',
desc: '尝试过5种以上不同类型的酒',
icon: '🌈',
condition: { type: 'category_variety', value: 5 }
}
]
// 可见范围选项
export const VISIBILITY_OPTIONS = [
{ id: 'public', name: '公开', desc: '所有人都能看到' },
{ id: 'friends', name: '仅好友', desc: '只有好友可见' },
{ id: 'private', name: '仅自己', desc: '只有自己能看' }
]
// 打卡模式
export const CHECKIN_MODES = [
{ id: 'drank', name: '今日喝了', color: '$amber' },
{ id: 'abstain', name: '今日未喝', color: '$mint' }
]