Open4
Tauri覚書
ResponseType:Binaryの型
普通にArrayで帰ってくる
import { getClient, Body, ResponseType } from '@tauri-apps/api/http'
const client = await getClient();
const synthesis = await client.post(`${apiUrl}/synthesis?speaker=${speakerId}`,
Body.json(audioQuery.data), {
responseType: ResponseType.Binary //arrayだよ
});
new Audio(window.URL.createObjectURL(new Blob([Uint8Array.from(synthesis.data as Array<number>)]))).play();
allowList.http.scopeの設定
参考
globパターン用にhttps://**
とかいる
"http":{
"all": true,
"request": true,
"scope": ["https://**", "http://**"]
}
Shell:tauri.config.json
事前にscopeで使うコマンドを設定する必要がある
"shell": {
"all": true,
"scope": [
{
"name": "tamiyasu",
"cmd": "vrx",
"args": true
}
]
},
多分現状ファイルパス指定してexe実行とかは出来ない?
(たぶん)直下のファイルを読む
allowList.fs.scope
に$RESOURCE/*
を入れておく
import { resourceDir } from '@tauri-apps/api/path'
import { readTextFile, writeTextFile, exists, BaseDirectory } from '@tauri-apps/api/fs';
export const loadConfig = async (): Promise<Config> => {
let config = initialConfig;
if (await exists('config.json', { dir: BaseDirectory.Resource }) as unknown) { // boolean?
config = JSON.parse(await readTextFile('config.json', { dir: BaseDirectory.Resource })) as Config;
console.info(`コンフィグファイルを${await resourceDir()}から読み込みました`);
} else {
//コンフィグファイルを生成する
await writeTextFile('config.json', JSON.stringify(config), { dir: BaseDirectory.Resource });
console.info(`コンフィグファイルを${await resourceDir()}に生成しました`);
}
return config;
}
exists()
の返り値がPromise<void>
になっているがこれは間違いなんだろうか…うーん