feat: 实现命令面板、颜色取色、JSON格式化和系统信息功能
- 重构项目架构,采用四层架构模式 (Command → Service → Platform → Utils) - 实现命令面板功能,支持快捷搜索和特征分类 - 添加颜色取色功能,支持屏幕像素颜色获取 - 添加JSON格式化功能,支持JSON格式化和压缩 - 添加系统信息功能,显示操作系统和硬件信息 - 移除旧的状态文档和无用配置文件
This commit is contained in:
85
src-tauri/src/models/json_format.rs
Normal file
85
src-tauri/src/models/json_format.rs
Normal file
@@ -0,0 +1,85 @@
|
||||
//! JSON 格式化相关数据模型
|
||||
//!
|
||||
//! 定义 JSON 格式化工具使用的数据结构
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// JSON 格式化配置
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct JsonFormatConfig {
|
||||
/// 缩进空格数(默认 2)
|
||||
#[serde(default = "default_indent")]
|
||||
pub indent: u32,
|
||||
|
||||
/// 是否对 key 进行排序
|
||||
#[serde(default)]
|
||||
pub sort_keys: bool,
|
||||
|
||||
/// 格式化模式
|
||||
#[serde(default)]
|
||||
pub mode: FormatMode,
|
||||
}
|
||||
|
||||
/// 默认缩进空格数
|
||||
fn default_indent() -> u32 {
|
||||
2
|
||||
}
|
||||
|
||||
/// JSON 格式化模式
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
pub enum FormatMode {
|
||||
/// 标准格式化(美化)
|
||||
#[serde(rename = "pretty")]
|
||||
Pretty,
|
||||
/// 压缩格式(去除空格和换行)
|
||||
#[serde(rename = "compact")]
|
||||
Compact,
|
||||
}
|
||||
|
||||
impl Default for FormatMode {
|
||||
fn default() -> Self {
|
||||
Self::Pretty
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for JsonFormatConfig {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
indent: default_indent(),
|
||||
sort_keys: false,
|
||||
mode: FormatMode::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// JSON 格式化结果
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct JsonFormatResult {
|
||||
/// 是否成功
|
||||
pub success: bool,
|
||||
|
||||
/// 格式化后的 JSON 字符串
|
||||
pub result: String,
|
||||
|
||||
/// 错误信息(如果失败)
|
||||
pub error: Option<String>,
|
||||
|
||||
/// 原始 JSON 是否有效
|
||||
pub is_valid: bool,
|
||||
}
|
||||
|
||||
/// JSON 验证结果
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct JsonValidateResult {
|
||||
/// 是否有效的 JSON
|
||||
pub is_valid: bool,
|
||||
|
||||
/// 错误信息(如果无效)
|
||||
pub error_message: Option<String>,
|
||||
|
||||
/// 错误位置(行号,从 1 开始)
|
||||
pub error_line: Option<usize>,
|
||||
|
||||
/// 错误位置(列号,从 1 开始)
|
||||
pub error_column: Option<usize>,
|
||||
}
|
||||
Reference in New Issue
Block a user