勳章系統
勳章(Badges)是特定條件觸發時發放的榮譽獎章,顯示在會員的 LIFF profile「勳章牆」。勳章有稀有度、額外加分、可炫耀展示(showcase)等機制。
進入路徑
後台左側 社群 & 遊戲化 → 勳章管理。
預設勳章(20 個 seed)
模組首次啟用系統自動 seed 20 個常見勳章:
| Key | 名稱 | 觸發條件 | 額外加分 |
|---|---|---|---|
first_post | 初次發聲 | 發第 1 篇貼文 | +5 |
first_comment | 樂於分享 | 第 1 則留言 | +2 |
streak_7 | 一週堅持 | 連續打卡 7 天 | +10 |
streak_30 | 月度毅力 | 連續打卡 30 天 | +50 |
streak_100 | 百日修行 | 連續打卡 100 天 | +200 |
like_100 | 人氣王 | 累積收到 100 讚 | +30 |
post_50 | 高產作者 | 發滿 50 篇 | +30 |
comment_100 | 熱心參與 | 留 100 則 | +20 |
mgm_5 | MGM 高手 | 推薦 5 位好友 | +50 |
| ... | (共 20 個) | ... | ... |
完整清單見「勳章管理」列表頁的 seed 標籤。
欄位說明
Key 勳章唯一識別(英數 + 底線),一旦儲存不能改。用於程式端呼叫。
名稱 顯示於 LIFF 勳章卡片,例如「一週堅持」「百日修行」。
Icon lucide 圖示名(如 star / trophy / flame / crown),或上傳自訂 png。
顏色 勳章邊框與 badge 主色。
稀有度(rarity) common / uncommon / rare / epic / legendary 5 級,影響 LIFF 展示效果(金框、發光動畫)。
條件類型(condition_kind) manual(手動發)/ event_count(某事件累積達 N 次)/ streak(連續 N 天)/ points(累積達 N 分)。
條件參數(condition_config) 依 kind 對應:{ event_key: 'post_created', target: 50 } 或 { target: 30 }。
額外加分(points_reward) 拿到勳章時額外加多少分(獨立於 badge_earned 事件本身的 0 分)。
啟用(is_active) 關閉 = 不再發放,但已拿到的會員保留。
操作
新增勳章
+ 新增勳章→ 填欄位 → 儲存- 若
condition_kind='manual',只能靠後台在「單筆會員」按發勳章給予 - 其他 kind 由系統依會員行為自動觸發
手動發放
- 列表某勳章右側
發放按鈕 → 選會員(可多選)→ 給予 - 用於「員工手動獎勵」「線下活動兌換」
Showcase(會員自選炫耀)
- 會員在 LIFF 勳章牆可自選最多 3 個勳章「展示於 profile 頭卡」
- 後台不管,是會員自由選擇
勳章設計原則
入門 3 個要好拿(first_post / first_comment / first_checkin):讓新會員 5 分鐘內就有 badge 感受成就。
中階 5 個要有目標感(post_50 / like_100 / comment_100 / streak_30 / mgm_5):一個月內努力可達,維持中期黏著。
高階 3-5 個要稀有(streak_100 / post_500 / legendary 稀有度):半年以上才拿得到,讓老鐵有炫耀資本。
避免發太多 整個系統 20-30 個勳章剛好。超過 50 個會員反而失去珍惜感。
常見情境
季節性活動勳章 新增 christmas_2026 勳章,設 is_active=true 一個月,活動結束改回 false。發過的會員仍保留。
VIP 手動發 辦一場實體活動,簽到的會員回後台批次發 vip_event_2026 勳章 + 100 分。
移除舊勳章 直接刪除勳章 → 已發放的會員仍看得到(gc_member_badges 紀錄不動),但列表不再新發。
常見問題
Q1 勳章的額外加分 points_reward 和「勳章事件本身」有什麼差
badge_earned 事件本身 points=0(設計為容器),實際加分走 points_reward 欄位。這樣不同勳章可設不同分數(first_post +5 / streak_100 +200)而不用改事件表。
Q2 同一勳章可以拿多次嗎
不能。gc_member_badges 表對 (member_id, badge_id) 有 UNIQUE 約束。若你想做「季節性可重複拿」,應該用不同的 badge_key(如 christmas_2025 / christmas_2026)。
Q3 會員如何知道自己拿到新勳章
Phase 1:LIFF 打開勳章牆時看到(新拿的置頂 + 未讀角標)。Phase 2 會加 LINE push 通知(需先解決 問題)。
Q4 條件是「連續打卡 7 天」的勳章,會員第 8 天沒打卡然後第 9 天又打,會取消嗎
不會。勳章一旦發放永久保留(earned_at 打時間戳)。斷 streak 只影響 daily_streak 表和後續新勳章判定,已拿的不撤回。這是遊戲化的「勝利不可逆」原則。