現在ドキュメントは制作段階にあるため、多くの情報が不完全なものになっています

報告は Discord までお願いします

ダッシュボード

概要

ブラウザの音声認識やブラウザ操作をし認証情報を管理することができます

ドラッグ&ドロップ

ファイルのドラッグ&ドロップを処理するには、

requestDragDrop()
メソッドを使用します

1
const drag = await omu.dashboard.requestDragDrop();
2

3
// ファイルがドロップされたときの処理
4
drag.onDrop(async (event) => {
5
    console.log(event.drag_id); // ドラッグID
6
    
7
    const file = event.files[0]; // ファイルの配列から最初のファイルを取得
8
    console.log(file.name);     // ファイル名
9
    console.log(file.size);     // ファイルサイズ
10
    console.log(file.type);     // ファイルタイプ
11
    
12
    // ドラッグされた内容を読み込む
13
    const { meta, files } = await drag.read(event.drag_id);
14
    console.log(meta.files);    // event.filesと同様
15
    
16
    // ファイル内容にアクセス
17
    console.log(files['ファイル名'].buffer); // Uint8Arrayのファイル内容
18
    console.log(files['ファイル名'].file === file); // 元のファイルオブジェクトとの比較
19
});
20

21
// ファイルが管理画面上に入ったときの処理
22
drag.onEnter((event) => {
23
    console.log('ファイルが管理画面上に入りました', event);
24
});
25

26
// ファイルが管理画面から離れたときの処理
27
drag.onLeave((event) => {
28
    console.log('ファイルが管理画面から離れました', event);
29
});

WebView

外部Webページを管理画面内で表示して管理するには、requestWebview()メソッドを使用します

1
const webview = await omu.dashboard.requestWebview({
2
    url: 'https://omuapps.com', // 表示するURL
3
    script: 'console.log("Hello, ${location.host}")', // ページ読み込み時に実行されるスクリプト
4
});
5

6
// クッキーを取得
7
const cookies = await webview.getCookies();
8
console.log(cookies[0].name);  // クッキー名
9
console.log(cookies[0].value); // クッキー値
10

11
// WebViewが閉じられるのを待機
12
await webview.join();
13

14
// WebViewを強制的に閉じる
15
await webview.close();

音声認識

音声認識機能を使用するには、requestSpeechRecognition()メソッドを使用します

1
const speechRecognition = await omu.dashboard.requestSpeechRecognition();
2

3
speechRecognition.listen((state) => {
4
    switch (state.type) {
5
        case 'audio_started':
6
            // 音声入力開始
7
            console.log('音声入力開始:', state.timestamp);
8
            break;
9
            
10
        case 'audio_ended':
11
            // 音声入力終了
12
            console.log('音声入力終了:', state.timestamp);
13
            break;
14
            
15
        case 'result':
16
            // 中間認識結果
17
            console.log('中間結果:', state.segments);
18
            break;
19
            
20
        case 'final':
21
            // 最終認識結果
22
            console.log('最終結果:', state.segments);
23
            console.log('認識文字列:', state.segments[0].transcript);
24
            break;
25
    }
26
});
使用するパッケージマネージャー