Phase 1: data models and local storage service

- Add Models: Category, ToolItem (IsValid runtime-only, not stored), AppConfig

- Add Services: IDataService + JsonDataService (JSON load/save)

- Path validation on Load(): File.Exists check, logs warning for missing paths

- Startup: auto-calls dataService.Load() to load config
This commit is contained in:
2026-05-09 20:34:36 +08:00
parent 875e331116
commit 752f09a7e4
6 changed files with 222 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
using PersonalToolBox.Models;
namespace PersonalToolBox.Services;
/// <summary>
/// 数据持久化服务接口,负责配置的加载和保存
/// </summary>
public interface IDataService
{
/// <summary>
/// 当前加载的配置数据
/// </summary>
AppConfig Config { get; }
/// <summary>
/// 从 config.json 加载配置,验证工具路径有效性
/// </summary>
void Load();
/// <summary>
/// 保存当前配置到 config.json
/// </summary>
void Save();
}