🐛 Fixed bug

This commit is contained in:
2025-06-21 15:03:35 +08:00
parent 145b868a44
commit 1153c0a652
22 changed files with 646 additions and 309 deletions

View File

@@ -0,0 +1,53 @@
package services
import (
"github.com/wailsapp/wails/v3/pkg/services/log"
)
// StartupService 开机启动服务
type StartupService struct {
configService *ConfigService
logger *log.LoggerService
impl StartupImplementation
initError error
}
// StartupImplementation 开机启动实现接口
type StartupImplementation interface {
SetEnabled(enabled bool) error
Initialize() error
}
// NewStartupService 创建开机启动服务实例
func NewStartupService(configService *ConfigService, logger *log.LoggerService) *StartupService {
service := &StartupService{
configService: configService,
logger: logger,
impl: newStartupImplementation(logger),
}
// 初始化平台特定实现
service.initError = service.impl.Initialize()
return service
}
// SetEnabled 设置开机启动状态
func (s *StartupService) SetEnabled(enabled bool) error {
// 检查初始化是否成功
if s.initError != nil {
return s.initError
}
// 设置系统开机启动
if err := s.impl.SetEnabled(enabled); err != nil {
return err
}
// 更新配置文件
if s.configService != nil {
s.configService.Set("general.startAtLogin", enabled)
}
return nil
}