JianMiauandClaude Fable 5 d391726dd1 改用一般 Router 並支援 LINE 無綁定自動建帳號
根本原因:
1. Hash router 網址帶 /#/ 不美觀且與一般網站行為不一致。
2. register.line_login 收到 status 12(LINE 帳號無綁定)時直接中止,
   新 token 無法登入。

影響:
網址改為一般路徑(自動偵測部署子路徑,不需放網站根目錄);靜態主機在
/lobby 重新整理由殘根導回入口頁。無綁定帳號時自動 account.create 取得
[id, pw] 後直接 account.login,登入面板顯示建立進度。

修法:
- index.tsx:createHashRouter 改 createBrowserRouter,getBasename() 依
  location.pathname 推導子路徑並去除已知路由字尾
- build-templates/lobby/index.html:靜態主機 SPA 殘根,重整時導回 ../
- Login.tsx:status 12 時走 createAccountAndLogin()(account.create 回傳
  格式為 [id, pw] 陣列)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-03 11:30:24 +08:00
2026-08-03 11:15:03 +08:00

Line Project Bot

LINE 平台遊戲測試 Bot 控制台(LP_Bot 重構版)。選擇平台與環境後以 Line Token 登入,可進入機台自動 Spin 測試。

功能

  • 登入頁:選擇平台(LP1、LC1...)與環境(Dev / B2B / Out)+ Line Token
    • 平台清單與連線設定即時讀取 Google 試算表「專案_架構 Reference Guide」
    • 「開遊戲」按鈕:直接開啟該平台「跳過維護阻擋(ver2.0 use)」網址
    • 平台/環境/Token 皆記憶於 localStorage
    • 下拉選單支援滑鼠滾輪切換選項
  • 大廳:玩家資訊(aId / 暱稱 / 金幣)+ 機台清單(SD 機台有徽章標示)
    • SD 機台 → 開啟自製 Spin 面板;其他機台 → 新視窗開啟 server 網址
  • SD Spin 面板:押注、延遲、倍率停、轉數停設定 + Spin/Stop Log 終端

開發

npm install
npm run dev      # http://localhost:8000
npm run build    # 輸出至 ./build

首次使用需將 Google service account 憑證放到 config/credentials.json (格式參考 config/credentials.example.json,需有試算表唯讀權限)。

技術備註

  • Vite + React 19 + antd 6TypeScript
  • 不可使用 React.StrictMode:開發模式雙重掛載會使 NetManagerSD 等靜態單例的 socket 連線互相覆蓋,請求全部失敗(status:-1)
  • Google Sheets 讀取為純前端:service account 簽 JWT 換 token 非安全來源(區網 IP http)無 WebCrypto 時自動 fallback 至 jsrsasign
  • SD socket 協定:依 gameUrl 本身的協定決定 ws/wss(bot 頁面協定不可靠)
  • Spin 需帶 mode:0 的機台:1310、1311、1801、1803、1804、1805 (特例類別在 src/define/Game/SlotXXXX.ts,依 SD3 客戶端原始碼)
    • 新增特例:建立類別檔覆寫 SpinMode,並在 src/define/Game/Base/Slot.ts 匯出
  • 遊戲表 build-templates/shared/jsons/ 來源:SD2-Dev/_Debug/shared/jsons
  • 連線參數可用網址參數強制覆寫:?host=?port=?patch=?downloadurl=?liffid=

部署

npm run build
# 將 ./build 內容複製到網站目錄,例如 W:\web\MyWeb\Line_Project_Bot
S
Description
No description provided
https://jianmiau.tk/Line_Project_Bot/
Readme
1.3 MiB
Languages
TypeScript 98.6%
CSS 0.8%
JavaScript 0.4%
HTML 0.1%
Batchfile 0.1%