feat(api): 添加成就系统并升级SDK

- 升级 HaveADrink SDK 从 1.0.16 到 1.0.17 版本
- 新增 GetAchievements API 接口及相关数据类型定义
- 添加 17 个成就定义,包括打卡次数、连续打卡、标准杯累计、酒类探索等类别
- 实现成就解锁逻辑计算,支持 category_records 类型成就判断
- 创建成就徽章对接文档,定义接口格式和存储建议
- 在用户资料页面集成成就展示功能,优化图标匹配逻辑
This commit is contained in:
cg
2026-08-17 23:07:23 +08:00
parent 06ec10cf10
commit 18e7b4fd50
12 changed files with 644 additions and 29 deletions
+99 -10
View File
@@ -179,6 +179,7 @@ export const DRINK_QUOTES = [
// 成就定义
export const ACHIEVEMENTS = [
// 打卡次数类
{
id: 'first_checkin',
name: '初来乍到',
@@ -187,11 +188,33 @@ export const ACHIEVEMENTS = [
condition: { type: 'total_records', value: 1 }
},
{
id: 'hundred_cups',
name: '百杯不醉',
desc: '累计饮用100标准杯',
icon: '🏆',
condition: { type: 'total_standard_cups', value: 100 }
id: 'records_10',
name: '小有心得',
desc: '累计打卡10次,记录已成习惯',
icon: '📖',
condition: { type: 'total_records', value: 10 }
},
{
id: 'records_50',
name: '记录老手',
desc: '累计打卡50次,每一杯都有迹可循',
icon: '✒️',
condition: { type: 'total_records', value: 50 }
},
{
id: 'records_100',
name: '酒档宗师',
desc: '累计打卡100次,个人酒档初具规模',
icon: '🏵️',
condition: { type: 'total_records', value: 100 }
},
// 连续打卡类
{
id: 'streak_7',
name: '七日之约',
desc: '连续打卡7天,一周不落',
icon: '📅',
condition: { type: 'streak_days', value: 7 }
},
{
id: 'streak_30',
@@ -201,11 +224,48 @@ export const ACHIEVEMENTS = [
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: 'streak_100',
name: '百日坚持',
desc: '连续打卡100天,毅力惊人',
icon: '💯',
condition: { type: 'streak_days', value: 100 }
},
// 标准杯累计类
{
id: 'cups_10',
name: '微醺初体验',
desc: '累计饮用10标准杯',
icon: '🥂',
condition: { type: 'total_standard_cups', value: 10 }
},
{
id: 'cups_50',
name: '五十杯之路',
desc: '累计饮用50标准杯,微醺是最好的状态',
icon: '🍻',
condition: { type: 'total_standard_cups', value: 50 }
},
{
id: 'hundred_cups',
name: '百杯不醉',
desc: '累计饮用100标准杯',
icon: '🏆',
condition: { type: 'total_standard_cups', value: 100 }
},
{
id: 'cups_300',
name: '海量传说',
desc: '累计饮用300标准杯,记得理性饮酒哦',
icon: '🌊',
condition: { type: 'total_standard_cups', value: 300 }
},
// 酒类探索类
{
id: 'variety_3',
name: '探索起步',
desc: '尝试过3种不同类型的酒',
icon: '🧭',
condition: { type: 'category_variety', value: 3 }
},
{
id: 'tasting_master',
@@ -213,6 +273,35 @@ export const ACHIEVEMENTS = [
desc: '尝试过5种以上不同类型的酒',
icon: '🌈',
condition: { type: 'category_variety', value: 5 }
},
{
id: 'variety_8',
name: '酒类百科',
desc: '尝试过8种以上不同类型的酒,尝遍百味',
icon: '📚',
condition: { type: 'category_variety', value: 8 }
},
// 单一酒类深耕类
{
id: 'baijiu_master',
name: '白酒达人',
desc: '白酒累计打卡20次',
icon: '/static/icons/baijiu.svg',
condition: { type: 'category_records', category: 'baijiu', value: 20 }
},
{
id: 'beer_master',
name: '啤酒之王',
desc: '啤酒累计打卡20次,冰爽永不停',
icon: '🍺',
condition: { type: 'category_records', category: 'beer', value: 20 }
},
{
id: 'wine_master',
name: '红酒绅士',
desc: '红酒累计打卡20次,品味微酸的美好',
icon: '🍷',
condition: { type: 'category_records', category: 'wine', value: 20 }
}
]