feat(group): Added group management functionality

- Added database interaction logic, supported inserting new group data, and integrated the Tauri SQL plugin for local data storage
- Added a floating button on the nodes page to redirect to the addGroup page
- Modified the app icon and title to improve the user experience
- Adjusted the Tauri configuration file, optimized window settings, and app identifiers
This commit is contained in:
2025-10-13 17:29:37 +08:00
parent 2a18061700
commit 7a20655557
17 changed files with 221 additions and 33 deletions

View File

@@ -1,13 +1,29 @@
// Learn more about Tauri commands at https://tauri.app/develop/calling-rust/
use crate::group::add_group;
use crate::spary::spary_switch;
use tauri_plugin_sql::{Migration, MigrationKind};
mod group;
mod spary;
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
let migrations = vec![
Migration {
version: 1,
description: "create_initial_tables",
sql: "CREATE TABLE `group`(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(60) NOT NULL,url TEXT NULL, arguments JSON NOT NULL default '{}', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP)",
kind: MigrationKind::Up,
}
];
tauri::Builder::default()
.plugin(
tauri_plugin_sql::Builder::default()
.add_migrations("sqlite:spary.db", migrations)
.build(),
)
.plugin(tauri_plugin_opener::init())
.invoke_handler(tauri::generate_handler![spary_switch])
.invoke_handler(tauri::generate_handler![spary_switch, add_group])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}