bricks/dist/docs/ja/websocket.md
yumoqing 1291f7fee3 fix: UiCode build_options uses valueField/textField fallback to 'value'/'text'
When valueField/textField are not explicitly set in opts, the auto-select
logic (line 1140) and nullable empty-option creation (lines 1144-1145) used
data[0][undefined] which returned undefined, causing:
- Single-option selects to show blank (auto-select failed)
- nullable empty options to have undefined keys

Now extracts vf/tf local variables with ||'value'/||'text' fallback at the
top of build_options(), used consistently throughout.
2026-05-29 23:03:52 +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`をイベントハンドラの引数として渡します。