使用Github Workflows构建Tauri应用

下面这个例子是,当release分支有commit发生时,自动获取当前应用的版本信息,并使用缓存,分别构建前端和rust,并将构建好的包上传至指定tag的release上。在 platform处定义平台,这里我只选定了Win ...

2023-12-28 · 1 min · 404 words · kutake

[Tauri]Uint8Array与 Vec<u8>的坑

问题 当尝试传递 Uint8Array类型的图片数据给rust后端时,会发生 invalid type: map, expected a sequence 原因在于,tauri将 Uint8Array是作为对象而不是一个 Vec,要接受它,需要使用 HashMap<String, u8>来接收。 ...

2023-12-28 · 1 min · 133 words · kutake

Tokio异步task控制并发数量

使用tokio::sync::Semaphore 信号量可以保证在某一时刻最多运行指定数量的并发任务。 使用信号量时,需在初始化时指定信号灯(tokio中的SemaphorePermit)的数量,每当任务要执行时,将从中取走一个信号灯,当任务完成时(信号灯被drop)会归还信号灯。当某个任务要执行时,如果此时信号灯数量为0,则该任务将等待,直到有信号灯被归还。因此,信号量通常用来提供类似于限量的功能。 ...

2023-12-28 · 2 min · 832 words · kutake