1.0.0招募看板
目前版本五個看板,各自有貼文、篩選器與每帖聊天串,背後是與全站其他功能相同的本地資料庫。
- 組隊、好友與俱樂部招募看板,加上綜合討論與主題看板。
- 每則貼文都附有聊天串;發送訊息會把貼文頂回看板最上方。
- 招募貼文可填寫模式、獎盃門檻、最低排位段位與語言;每個看板都能依模式、獎盃門檻、語言與狀態篩選。
- 發文表單上的段位門檻欄位,選項來自本站台實際觀測過的排位段位名稱,因此不會列出已經不存在的段位。
- 發文需要帳號;作者可以在結束後關閉貼文,或直接刪除。
- 刪除帳號後看板貼文仍會保留,資料列上記錄著作者名稱——詳見隱私權政策。
0.4.0真實的排位、威望與聲望欄位
官方 API 其實有提供幾個本站過去自行推估的欄位。那些推估值已直接刪除,而不是留作備援。
- 每位玩家會儲存排位段位索引、段位名稱、elo 與賽季 id,以及賽季與歷來最高紀錄。
- 總威望等級、聲望與聲望階級以實測值儲存並顯示。
- 各英雄的威望等級、目前連勝與最長連勝,以及裝備中的造型都會被索引。
- 排位段位名稱表改由觀測到的玩家檔案學習而來,不再寫死;Supercell 改名後不會留下過時的標籤。
- 裝備造型會依玩家與英雄分別記錄,造型使用率排行統計的正是這份資料。
- 既有安裝會透過明確的 ALTER 步驟套用新欄位,升級不必捨棄資料庫。
- 「排位分數是推估值」的公告已改為「排位分數、威望等級與聲望改為直接讀取 API」;在該修正之前就完成種子資料的安裝也會就地更新。
0.3.0英雄名冊改由官方 API 同步
內建英雄清單不再手動維護。同步腳本會抓取線上名冊,寫出一份由應用程式匯入的生成檔。
- npm run sync 會從官方 API 抓取名冊並重新產生內建資料檔。
- 每位英雄都帶著真實的星徽能力、小工具、超級充能與裝備,id 與名稱皆為真實資料。
- 稀有度與定位是 API 唯一沒提供的欄位;它們由另一張表依名稱查出,查不到就維持未知,而不是用猜的。
- 比那張表更新的英雄會以中性灰顯示、排除在稀有度統計之外,另有檢查腳本列出尚待分類的項目。
- 英雄、玩家頭像、俱樂部徽章與地圖圖片由開放的 Brawlify CDN 提供,資源缺漏時會退回字母色塊。
0.2.0串接即時 API 與更新佇列
本站從讀取展示資料,變成持續輪詢官方 API,並為看過的內容維護自己的索引。
- 單一 API 模組包裝官方端點;頁面只和服務層溝通,服務層會回報數值來自 API、本地快取還是展示資料產生器。
- 玩家與俱樂部檔案會在 SQLite 短暫快取,API 失敗時改由快取供應,被限流也不會讓頁面開天窗。
- 優先更新佇列會積極輪詢書籤與最近瀏覽過的帳號,其餘帳號放慢速度;共用的令牌桶讓整個程序不超過 API 速率限制。
- 每次抓取都會封存對戰紀錄——API 永遠只回傳最近 25 場——並彙整成角色強度榜讀取的每日統計。
- 帶著金鑰第一次啟動時,會走訪八個國家的官方排行榜,讓名稱搜尋立刻有資料可查。
- 背景同步在長駐伺服器上於程序內執行;無法維持排程的平台則由外部排程器透過 cron 端點觸發。
- 手動更新附有每個標籤的冷卻時間;健康端點回報索引大小、佇列深度與最近一次 API 錯誤,並對綁定 IP 的金鑰失敗給出明確提示。
- 在設定金鑰之前種下的展示資料,會在真金鑰出現的那一刻全數清除。
0.1.0初始版本
本站的基本骨架:路由、翻譯、元件語彙與本地資料庫。
- 帶語系前綴的 App Router 頁面,支援繁體中文、簡體中文、英文與日文;語系由 middleware 先看 cookie、再看 Accept-Language 協商。
- 一小組共用 UI 元件與五種手寫 SVG 圖表——沒有元件庫,也沒有圖表庫。
- 深色與淺色主題完全由 CSS 變數驅動,選擇記在瀏覽器裡,並在首次繪製前套用。
- 玩家與俱樂部頁面、標籤與名稱搜尋、角色強度榜、排行榜、各種計算機與地圖輪替。
- 使用 Node 內建繫結的 SQLite,存放帳號、書籤、瀏覽紀錄與玩家、俱樂部目錄。
- 不需要電子郵件的帳號:使用者名稱、以 scrypt 雜湊的密碼與工作階段 cookie。
- 具確定性的展示模式,在 API 金鑰存在之前就能完整瀏覽整個網站。