feat: 实现命令面板、颜色取色、JSON格式化和系统信息功能

- 重构项目架构,采用四层架构模式 (Command → Service → Platform → Utils)
  - 实现命令面板功能,支持快捷搜索和特征分类
  - 添加颜色取色功能,支持屏幕像素颜色获取
  - 添加JSON格式化功能,支持JSON格式化和压缩
  - 添加系统信息功能,显示操作系统和硬件信息
  - 移除旧的状态文档和无用配置文件
This commit is contained in:
2026-02-10 18:46:11 +08:00
parent db4978e349
commit 927eaa1e03
62 changed files with 7536 additions and 1958 deletions

View 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>,
}