96 lines
2.2 KiB
Markdown
96 lines
2.2 KiB
Markdown
# GaoBinYou 前端 POC
|
||
|
||
這是一個簡單的前端應用,用於測試 GaoBinYou 聊天系統的完整功能。
|
||
|
||
## 功能
|
||
|
||
- ✅ 匿名登入
|
||
- ✅ Token 刷新
|
||
- ✅ 隨機配對
|
||
- ✅ 即時訊息(WebSocket)
|
||
- ✅ 歷史訊息載入
|
||
- ✅ 自動狀態輪詢
|
||
- ✅ CORS 支持(後端已配置)
|
||
|
||
## 使用方式
|
||
|
||
### 方法 1:使用啟動腳本(推薦)
|
||
|
||
```bash
|
||
cd frontend
|
||
./start.sh 3000
|
||
```
|
||
|
||
然後在瀏覽器打開 `http://localhost:3000`
|
||
|
||
### 方法 2:手動啟動 HTTP 服務器
|
||
|
||
```bash
|
||
# 在 frontend 目錄下啟動一個簡單的 HTTP 服務器
|
||
cd frontend
|
||
|
||
# 使用 Python
|
||
python3 -m http.server 3000
|
||
|
||
# 或使用 Node.js
|
||
npx http-server -p 3000
|
||
```
|
||
|
||
然後在瀏覽器打開 `http://localhost:3000`
|
||
|
||
### 方法 3:使用 Live Server(VS Code 擴展)
|
||
|
||
1. 安裝 Live Server 擴展
|
||
2. 右鍵點擊 `index.html`
|
||
3. 選擇 "Open with Live Server"
|
||
|
||
## 配置
|
||
|
||
在 `app.js` 中修改以下配置:
|
||
|
||
```javascript
|
||
const API_BASE_URL = 'http://localhost:8888/api/v1'; // 後端 API 地址
|
||
const CENTRIFUGO_WS_URL = 'ws://localhost:8001/connection/websocket'; // Centrifugo WebSocket 地址
|
||
```
|
||
|
||
## 使用流程
|
||
|
||
1. **登入**:輸入暱稱(可選),點擊「開始聊天」
|
||
2. **配對**:點擊「加入配對」,等待系統匹配
|
||
3. **聊天**:配對成功後自動進入聊天室,可以發送和接收訊息
|
||
4. **刷新 Token**:如果 Token 即將過期,點擊「刷新 Token」按鈕
|
||
|
||
## 注意事項
|
||
|
||
1. 確保後端服務正在運行(`http://localhost:8888`)
|
||
2. 確保 Centrifugo 服務正在運行(`ws://localhost:8001`)
|
||
3. 後端已配置 CORS,允許所有來源(開發環境)
|
||
4. 生產環境建議限制 CORS 來源
|
||
|
||
## 瀏覽器兼容性
|
||
|
||
- Chrome/Edge (推薦)
|
||
- Firefox
|
||
- Safari
|
||
|
||
## 專案結構
|
||
|
||
```
|
||
frontend/
|
||
├── index.html # 主頁面
|
||
├── styles.css # 樣式表
|
||
├── app.js # 應用邏輯
|
||
├── start.sh # 啟動腳本
|
||
├── README.md # 說明文檔
|
||
└── .gitignore # Git 忽略文件
|
||
```
|
||
|
||
## 未來改進
|
||
|
||
- [ ] 自動重連機制(已部分實現)
|
||
- [ ] 訊息已讀狀態
|
||
- [ ] 打字指示器
|
||
- [ ] 表情符號支持
|
||
- [ ] 圖片/文件上傳
|
||
- [ ] 使用 Centrifugo 官方 JavaScript SDK
|