存储模块管理 Game Macro 系统的数据持久化、配置文件管理和导出功能。
| English Version | 中文版本 |
存储模块提供:
存储系统组织为专门的组件:
主存储管理和协调系统。
数据导出和外部格式转换。
数据模型定义和结构。
配置文件管理和文件系统操作。
管理游戏配置文件,包括加载、保存和验证。
Profile := {
Id: "profile-001",
Name: "战士旋转",
Version: "1.0.0",
Game: "World of Warcraft",
Class: "Warrior",
Created: "2024-01-01T00:00:00Z",
Modified: "2024-01-02T12:00:00Z",
Data: {
Skills: [...],
Buffs: [...],
Rules: [...],
Rotation: {...},
Points: [...],
General: {...}
}
}
提供原子文件操作和路径管理。
FileSystem := {
ProfilesDir: "profiles",
ExportDir: "exports",
BackupDir: "backups",
TempDir: "temp"
}
管理数据导出到外部格式。
ExportConfig := {
Format: "JSON",
IncludeSensitiveData: false,
Compress: true,
Timestamp: true
}
定义数据结构和验证模式。
Model := {
Name: "Skill",
Fields: {
Id: {Type: "Integer", Required: true},
Name: {Type: "String", Required: true},
Key: {Type: "String", Required: true},
CooldownMs: {Type: "Integer", Default: 0}
},
Validation: Func("ValidateSkill")
}
初始化存储系统。
参数:无
返回:布尔值指示成功
按 ID 加载配置文件。
参数:
profileId(字符串):配置文件标识符返回:加载的配置文件数据
保存配置文件数据。
参数:
profileData(Map):要保存的配置文件数据返回:布尔值指示成功
删除配置文件。
参数:
profileId(字符串):配置文件标识符返回:布尔值指示成功
列出所有可用配置文件。
参数:无
返回:配置文件信息数组
创建新配置文件。
参数:
profileConfig(Map):配置文件配置返回:创建的配置文件 ID
复制现有配置文件。
参数:
sourceId(字符串):源配置文件 IDnewName(字符串):新配置文件名称返回:新配置文件 ID
验证配置文件数据。
参数:
profileData(Map):要验证的配置文件数据返回:验证结果
导出配置文件。
参数:
profileId(字符串):配置文件标识符exportConfig(Map):导出配置返回:布尔值指示成功
导出所有配置文件。
参数:
exportConfig(Map):导出配置返回:布尔值指示成功
获取支持的导出格式。
参数:无
返回:支持的格式数组
创建配置文件备份。
参数:
profileId(字符串):配置文件标识符返回:布尔值指示成功
从备份恢复配置文件。
参数:
backupId(字符串):备份标识符返回:布尔值指示成功
列出配置文件的备份。
参数:
profileId(字符串):配置文件标识符返回:备份信息数组
; 初始化存储系统
if (Storage_Init()) {
; 列出所有配置文件
profiles := Storage_ListProfiles()
; 加载配置文件
profileData := Storage_LoadProfile("profile-001")
; 修改配置文件数据
profileData["Name"] := "修改后的配置"
; 保存配置文件
if (Storage_SaveProfile(profileData)) {
Logger_Info("Storage", "配置文件已保存")
}
}
; 创建新配置文件
newProfile := {
Name: "新配置文件",
Game: "World of Warcraft",
Class: "Mage",
Data: {
Skills: [],
Buffs: [],
Rules: []
}
}
profileId := Storage_CreateProfile(newProfile)
; 复制配置文件
newProfileId := Storage_DuplicateProfile("profile-001", "副本配置")
; 导出配置文件
exportConfig := {
Format: "JSON",
IncludeSensitiveData: false,
Compress: true
}
if (Storage_ExportProfile("profile-001", exportConfig)) {
Logger_Info("Storage", "配置文件已导出")
}
; 导出所有配置文件
if (Storage_ExportAllProfiles(exportConfig)) {
Logger_Info("Storage", "所有配置文件已导出")
}
; 创建备份
if (Storage_BackupProfile("profile-001")) {
Logger_Info("Storage", "备份已创建")
}
; 列出备份
backups := Storage_ListBackups("profile-001")
; 从备份恢复
if (Storage_RestoreBackup("backup-001")) {
Logger_Info("Storage", "配置文件已从备份恢复")
}
存储设置存储在配置文件数据中:
profile := App["ProfileData"]
profile["StorageConfig"] := {
AutoBackup: true,
BackupCount: 3,
ExportPath: "exports",
Compression: true
}
存储路径可以动态配置:
; 设置自定义存储路径
Storage_SetBasePath("D:/GameMacro/Profiles")
存储模块包含全面的错误处理:
模块提供实时监控的调试接口:
; 启用存储调试
Storage_EnableDebug()
; 获取调试信息
debugInfo := Storage_GetDebugInfo()
详细的文件操作信息用于调试:
; 获取文件操作统计
fileStats := Storage_GetFileStats()
Logger_Debug("Storage", "文件统计", fileStats)