Files
Line_Project_Bot/README.md
T
JianMiauandClaude Fable 5 1637a56908 新增 README 並優化載入效能
根本原因:
專案缺少說明文件;bundle 為單一 910KB 主檔改版快取效率差,且每次開頁
與連續操作都會重複呼叫 Google Sheets API。

影響:
主 chunk 降至 216KB(react/antd 拆出可長期快取,jsrsasign 僅非安全來源
才動態載入);平台清單 sessionStorage 快取 5 分鐘、平台分頁記憶體快取
60 秒;機台圖片懶載入;InputNumber 改用 suffix 消除棄用警告。

修法:
- vite.config.ts 加入 manualChunks 拆分 react / antd+dayjs
- GoogleSheetService 加入兩層快取
- Image 元件預設 loading="lazy"
- SDGame 三個 InputNumber 的 addonAfter 改為 suffix
- 新增 README.md(功能、開發、技術備註、部署)

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

47 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 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=`
## 部署
```bash
npm run build
# 將 ./build 內容複製到網站目錄,例如 W:\web\MyWeb\Line_Project_Bot
```