🎨 Optimize code
This commit is contained in:
62
internal/services/path_manager.go
Normal file
62
internal/services/path_manager.go
Normal file
@@ -0,0 +1,62 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
// PathManager 路径管理器
|
||||
type PathManager struct {
|
||||
configDir string // 配置目录
|
||||
settingsPath string // 设置文件路径
|
||||
keybindsPath string // 快捷键配置文件路径
|
||||
}
|
||||
|
||||
// NewPathManager 创建新的路径管理器
|
||||
func NewPathManager() *PathManager {
|
||||
// 获取用户配置目录
|
||||
userConfigDir, err := os.UserConfigDir()
|
||||
if err != nil {
|
||||
// 如果获取失败,使用当前目录
|
||||
userConfigDir, _ = os.Getwd()
|
||||
}
|
||||
|
||||
// 设置voidraft配置目录
|
||||
configDir := filepath.Join(userConfigDir, ".voidraft", "config")
|
||||
|
||||
return &PathManager{
|
||||
configDir: configDir,
|
||||
settingsPath: filepath.Join(configDir, "settings.json"),
|
||||
keybindsPath: filepath.Join(configDir, "keybindings.json"),
|
||||
}
|
||||
}
|
||||
|
||||
// GetConfigDir 获取配置目录路径
|
||||
func (pm *PathManager) GetConfigDir() string {
|
||||
return pm.configDir
|
||||
}
|
||||
|
||||
// GetSettingsPath 获取设置文件路径
|
||||
func (pm *PathManager) GetSettingsPath() string {
|
||||
return pm.settingsPath
|
||||
}
|
||||
|
||||
// GetKeybindsPath 获取快捷键配置文件路径
|
||||
func (pm *PathManager) GetKeybindsPath() string {
|
||||
return pm.keybindsPath
|
||||
}
|
||||
|
||||
// EnsureConfigDir 确保配置目录存在
|
||||
func (pm *PathManager) EnsureConfigDir() error {
|
||||
return os.MkdirAll(pm.configDir, 0755)
|
||||
}
|
||||
|
||||
// GetConfigName 获取配置文件
|
||||
func (pm *PathManager) GetConfigName() string {
|
||||
return "settings"
|
||||
}
|
||||
|
||||
// GetKeybindsName 获取快捷键配置文件名
|
||||
func (pm *PathManager) GetKeybindsName() string {
|
||||
return "keybindings"
|
||||
}
|
Reference in New Issue
Block a user