♻️ Refactor context menu

This commit is contained in:
2025-11-21 22:30:47 +08:00
parent 4e82e2f6f7
commit 2d3200ad97
13 changed files with 495 additions and 894 deletions

View File

@@ -1,4 +1,4 @@
package services
package helper
import (
"strconv"

View File

@@ -3,12 +3,13 @@ package services
import (
"github.com/wailsapp/wails/v3/pkg/application"
"github.com/wailsapp/wails/v3/pkg/services/log"
"voidraft/internal/common/helper"
)
// DialogService 对话框服务,处理文件选择等对话框操作
type DialogService struct {
logger *log.LogService
windowHelper *WindowHelper
windowHelper *helper.WindowHelper
}
// NewDialogService 创建新的对话框服务实例
@@ -19,7 +20,7 @@ func NewDialogService(logger *log.LogService) *DialogService {
return &DialogService{
logger: logger,
windowHelper: NewWindowHelper(),
windowHelper: helper.NewWindowHelper(),
}
}

View File

@@ -7,6 +7,7 @@ import (
"sync"
"sync/atomic"
"time"
"voidraft/internal/common/helper"
"voidraft/internal/common/hotkey"
"voidraft/internal/models"
@@ -18,7 +19,7 @@ import (
type HotkeyService struct {
logger *log.LogService
configService *ConfigService
windowHelper *WindowHelper
windowHelper *helper.WindowHelper
mu sync.RWMutex
currentHotkey *models.HotkeyCombo
@@ -45,7 +46,7 @@ func NewHotkeyService(configService *ConfigService, logger *log.LogService) *Hot
return &HotkeyService{
logger: logger,
configService: configService,
windowHelper: NewWindowHelper(),
windowHelper: helper.NewWindowHelper(),
ctx: ctx,
cancel: cancel,
}

View File

@@ -3,13 +3,14 @@ package services
import (
"github.com/wailsapp/wails/v3/pkg/application"
"github.com/wailsapp/wails/v3/pkg/services/log"
"voidraft/internal/common/helper"
)
// TrayService 系统托盘服务
type TrayService struct {
logger *log.LogService
configService *ConfigService
windowHelper *WindowHelper
windowHelper *helper.WindowHelper
}
// NewTrayService 创建新的系统托盘服务实例
@@ -17,7 +18,7 @@ func NewTrayService(logger *log.LogService, configService *ConfigService) *TrayS
return &TrayService{
logger: logger,
configService: configService,
windowHelper: NewWindowHelper(),
windowHelper: helper.NewWindowHelper(),
}
}

View File

@@ -4,6 +4,7 @@ import (
"math"
"sync"
"time"
"voidraft/internal/common/helper"
"voidraft/internal/models"
"github.com/wailsapp/wails/v3/pkg/application"
@@ -25,7 +26,7 @@ const (
type WindowSnapService struct {
logger *log.LogService
configService *ConfigService
windowHelper *WindowHelper
windowHelper *helper.WindowHelper
mu sync.RWMutex
// 吸附配置
@@ -75,7 +76,7 @@ func NewWindowSnapService(logger *log.LogService, configService *ConfigService)
wss := &WindowSnapService{
logger: logger,
configService: configService,
windowHelper: NewWindowHelper(),
windowHelper: helper.NewWindowHelper(),
snapEnabled: snapEnabled,
baseThresholdRatio: 0.025, // 2.5%的主窗口宽度作为基础阈值
minThreshold: 8, // 最小8像素小屏幕保底

View File

@@ -4,6 +4,7 @@ import (
"sync"
"testing"
"time"
"voidraft/internal/common/helper"
"voidraft/internal/models"
"github.com/wailsapp/wails/v3/pkg/application"
@@ -42,7 +43,7 @@ func createTestService() *WindowSnapService {
service := &WindowSnapService{
logger: logger,
configService: nil, // 测试中不需要实际的配置服务
windowHelper: NewWindowHelper(),
windowHelper: helper.NewWindowHelper(),
snapEnabled: true,
baseThresholdRatio: 0.025,
minThreshold: 8,