47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
# 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 終端
|
|||
|
|
|
|||
|
|
## 開發
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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 6,TypeScript
|
|||
|
|
- **不可使用 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=`
|
|||
|
|
|
|||
|
|
## 部署
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm run build
|
|||
|
|
# 將 ./build 內容複製到網站目錄,例如 W:\web\MyWeb\Line_Project_Bot
|
|||
|
|
```
|