D-20260727-03|路由導覽與 UGC 公開入口收斂¶
背景與驅動力¶
一般頁首以 runtime 解鎖狀態切換中間導覽,導致玩家在公開資訊頁仍看到玩家工作區連結, Help 又同時存在於中間與右側。公開 UGC 另一方面只有場地展示廳,part 與 track 詳情仍以 兩條網址預先指定種類;這與公開 UGC 已收斂為兩種類型的資料契約不一致,也讓路由、SEO 與 Provider 重複判斷種類。DMCA 的公開位置則被誤解為必須在每頁 footer 出現。
考慮過的選項¶
- 導覽繼續依解鎖狀態切換:同一路由會因身分顯示不同資訊架構,公開頁定位不穩定——否決。
- 保留
/tracks並由前端平行查 part/track 後合併:跨類型 total、排序與分頁失去權威——否決。 - 保留舊 UGC 網址轉址:專案尚未公開,沒有外部合約,徒增永久相容面——否決。
- 每頁顯示 DMCA footer:法規只要求 agent 資訊置於公眾可存取位置,沉浸與玩家頁無須插入 法律工具——否決。
- 路由決定中間導覽、Provider 提供統一 UGC 聯集、DMCA 在公開 UGC/Help 可發現——採納。
決定¶
- 一般頁首的中間導覽改由 route family 決定;右側 CTA/Identity 才讀身分狀態。UGC
同時是公開與玩家導覽入口,但
/ugc/**固定使用公開 shell。Race/Watch 維持沉浸例外。 - 公開 UGC 正式網址只保留
/ugc與/ugc/:cid;直接移除/tracks、/track/:cid、/part/:cid,不提供 legacy redirect。瀏覽 Provider 對part | track聯集承擔權威排序、 total 與分頁;詳情種類只信任資料回傳的kind。 - 公開頁「進入遊戲」恆顯示,目的地依解鎖狀態為 Login 或 Home;Identity 依身分狀態為 Login 或本人 Creator。餘額退出 App Shell,只在本人 Creator 頁讀取與顯示。
- DMCA 保留公開
/dmca與/dmca/transparency;UGC 頁內與 Help 提供入口,作品詳情可 帶 CID,已下架作品帶 noticeId 進 Counter-Notice。不設 UGC 麵包屑,也不要求每頁 footer;正式公開時/dmca必須刊載 designated agent 的完整聯絡資訊。 - 主動 Watch 入口置於非本機 Race Config,以 alertdialog 收房碼後導向
/watch/:id; 密碼與加入拒因留在 Watch Page。
後果與影響¶
公開資訊架構不再因身分漂移,UGC 的 URL、資料聯集與 SEO canonical 合一;因專案仍在開發 而沒有相容路由負擔。DMCA 保持公開可發現且不侵入遊戲 shell。現況細節見 程式架構.md、SEO 實作、 DMCA 流程與觀戰流程。