bricks/dist/docs/ja/websocket.md
yumoqing 2e22085122 feat: 401后登录成功自动重试原始请求
- withLoginInfo 改为接收完整 opts(含 method/headers/params)
- 等待 login_window 的 destroy 事件(=登录成功信号)
- 登录成功后重试原始请求
- 重试仍401则返回null(避免死循环)
- 用户手动关闭登录窗口时也触发重试,401则返回null
2026-05-27 15:39:34 +08:00

45 lines
2.3 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.

# WebSocket
コンポーネント機能バックエンドとのWebSocket接続を確立し、テキストおよびBase64エンコードされた音声・動画データの送受信をサポート。さまざまなイベントコールバックを提供します。
タイプ:通常コンポーネント
親コンポーネントbricks.VBox
## 初期化パラメータ
| パラメータ名 | 型 | 説明 |
|----------------|--------|------|
| ws_url | string | WebSocketサーバーの接続アドレス`ws://example.com/socket` |
| with_session | boolean | 現在のセッション情報を付与するかどうか。`true`の場合、`bricks.app.get_session()`からセッションを取得し、WebSocketコンストラクタに渡すソースコード中の綴り誤り`sessopn`は正しくは`session`である) |
> 例:
> ```js
> new bricks.WebSocket({
> ws_url: "ws://localhost:8080/ws",
> with_session: true
> });
> ```
## 主なイベント
| イベント名 | 発生タイミング |
|----------------------|--------------|
| onopen | WebSocket接続が正常に確立されたときに発生 |
| onmessage | サーバーからメッセージを受信したときに発生(元のメッセージ) |
| onerror | WebSocketでエラーが発生したときに発生 |
| onclose | WebSocket接続が閉じられたときに発生 |
| ontext | `text`型のメッセージを受信したときに発生(`on_message`で解析後に発行) |
| onbase64audio | `base64audio`型のメッセージを受信したときに発生 |
| onbase64video | `base64video`型のメッセージを受信したときに発生 |
> その他のカスタムタイプは、`ontypedata`方式で動的に発行可能。フォーマットは`on + type`。
### イベントデータの説明
- `onmessage`により解析され発行されるすべてのイベントデータは、JSON形式の`e.data`から得られます。構造は以下の通りです:
```json
{
"type": "text",
"data": "Hello"
}
```
コンポーネントは`type`フィールドに基づいて対応するイベント(例:`ontext`)を自動的に発行し、`data`をイベントハンドラの引数として渡します。