From f878efe456e8f5c557f2cde9d71f120f3e0b38cd Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Tue, 13 Jan 2026 14:31:37 +0800 Subject: feat: add Minecraft DropOut launcher with version fetching and basic UI - Implemented version manifest fetching from Mojang API. - Created launcher configuration and main launcher logic. - Added SVG and PNG icons for the application. - Developed a simple HTML/CSS interface for the launcher. - Integrated Tauri commands for backend communication. - Added utility functions for file operations and config parsing. --- src-tauri/src/utils/mod.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src-tauri/src/utils/mod.rs (limited to 'src-tauri/src/utils/mod.rs') diff --git a/src-tauri/src/utils/mod.rs b/src-tauri/src/utils/mod.rs new file mode 100644 index 0000000..088da95 --- /dev/null +++ b/src-tauri/src/utils/mod.rs @@ -0,0 +1,34 @@ +// utils/mod.rs +pub mod file_utils; +pub mod config_parser; + +// 文件操作相关的实用工具函数 +pub mod file_utils { + use std::fs; + use std::io::{self, Write}; + + pub fn read_file_to_string(path: &str) -> io::Result { + fs::read_to_string(path) + } + + pub fn write_string_to_file(path: &str, content: &str) -> io::Result<()> { + let mut file = fs::File::create(path)?; + file.write_all(content.as_bytes()) + } +} + +// 配置解析相关的实用工具函数 +pub mod config_parser { + use std::collections::HashMap; + + pub fn parse_config(content: &str) -> HashMap { + let mut config = HashMap::new(); + for line in content.lines() { + let mut parts = line.splitn(2, '='); + if let (Some(key), Some(value)) = (parts.next(), parts.next()) { + config.insert(key.trim().to_string(), value.trim().to_string()); + } + } + config + } +} \ No newline at end of file -- cgit v1.2.3-70-g09d2