跳到正文
灵动桌面框架
Esc
本栏目菜单

Commands 列表

灵动桌面框架内置的所有 IPC 命令参考(以 src-tauri/src/lib.rs 的 generate_handler! 为准,共 6 个)。前端已在 src/lib/api/ 封装为 systemApi、configApi,推荐通过封装调用。

命令失败时 invoke 以 CommandError({ code, message })拒绝,错误码见 错误码速查。

系统模块

greet

问候测试命令(保留为示例)。

属性值
命令名greet
参数name: string
返回值string
前端封装systemApi.greet(name)
错误name 为空 → INVALID_INPUT(“名称不能为空”)
const message = await invoke<string>('greet', { name: '灵动' })
// → "Hello, 灵动! 来自 Rust 的问候!"

get_system_info

获取系统信息:操作系统、CPU 架构、应用版本、应用数据目录(取不到时为 "unknown")。

属性值
命令名get_system_info
参数无
返回值SystemInfo
前端封装systemApi.getSystemInfo()
const info = await invoke<SystemInfo>('get_system_info')
// 后端实际返回:{ os: "windows", arch: "x86_64", app_version: "0.1.0", data_dir: "C:\\Users\\..." }

WARNING

后端返回的字段名是 app_version / data_dir(snake_case),与 src/types/system.ts 中的 appVersion / dataDir 不一致,详见 TypeScript 类型。

配置模块

配置存储在 SQLite 表 app_config 中。首次建库时写入默认配置:theme = light、language = zh-CN、sidebar_collapsed = false。

get_all_config

查询所有配置项,按 key 排序,不含已软删除的项。

属性值
命令名get_all_config
参数无
返回值AppConfig[]
前端封装configApi.getAll()

get_config

查询单个配置项的值。

属性值
命令名get_config
参数key: string
返回值string
前端封装configApi.get(key)
错误配置项不存在或已软删除 → NOT_FOUND

set_config

设置配置项(不存在则新增,存在则更新值和 updated_at;对已软删除的键只更新值,不会恢复)。

属性值
命令名set_config
参数key: string, value: string
返回值无
前端封装configApi.set(key, value)
错误key 为空 → INVALID_INPUT

delete_config

软删除配置项(写入 deleted_at,不物理删除)。

属性值
命令名delete_config
参数key: string
返回值无
前端封装configApi.delete(key)
错误配置项不存在或已删除 → NOT_FOUND

TIP

数据库层还提供 hard_delete_config(物理删除)与 restore_config(恢复软删除),当前未注册为 Command,需要时按 Command 开发 的步骤自行暴露。

插件命令

更新检查、打开外部链接、本地存储、日志、进程重启等能力来自官方插件(updater、opener、store、log、process),通过各插件的 JS API 调用(如 src/lib/api/updater.ts),不在上表之列;其权限在 src-tauri/capabilities/default.json 中声明。