Tauri 限制对 API 的访问Command
允许列表对象有一个字段,用于定义可以使用的 CLI 数组。
每个CLI都是一个配置对象。shell
scope
{ name: string, cmd: string, sidecar?: bool, args?: boolean | Arg[] }
name
:命令的唯一标识符,传递给 Command 构造函数。 如果是 sidecar,则此值必须是 上定义的值。tauri.conf.json > tauri > bundle > externalBin
cmd
:在此配置上执行的程序。如果是 sidecar,则忽略此值。sidecar
:对象是配置挎斗程序还是系统程序。args
:可以传递给程序的参数。默认情况下,不允许使用任何参数。true
表示允许任何参数列表。false
表示不允许任何参数。- 否则,可以配置阵列。每个项目都是一个表示固定参数值的字符串
或定义验证参数值的正则表达式。
{ validator: string }
示例范围配置
命令行界面:git commit -m "the commit message"
配置:
{
"scope": [
{
"name": "run-git-commit",
"cmd": "git",
"args": ["commit", "-m", { "validator": "\\S+" }]
}
]
}
用法:
import { Command } from '@tauri-apps/api/shell'
new Command('run-git-commit', ['commit', '-m', 'the commit message'])
尝试使用未在作用域上配置的程序执行任何 API,会导致由于拒绝访问而拒绝承诺。