Add multi-window document functionality

This commit is contained in:
2025-07-10 18:36:13 +08:00
parent 4d62da912a
commit b5510d605c
22 changed files with 688 additions and 203 deletions

View File

@@ -14,6 +14,7 @@ type ServiceManager struct {
databaseService *DatabaseService
sqliteService *sqlite.Service
documentService *DocumentService
windowService *WindowService
migrationService *MigrationService
systemService *SystemService
hotkeyService *HotkeyService
@@ -47,6 +48,9 @@ func NewServiceManager() *ServiceManager {
// 初始化文档服务
documentService := NewDocumentService(databaseService, logger)
// 初始化窗口服务
windowService := NewWindowService(logger, documentService)
// 初始化系统服务
systemService := NewSystemService(logger)
@@ -98,6 +102,7 @@ func NewServiceManager() *ServiceManager {
databaseService: databaseService,
sqliteService: sqliteService,
documentService: documentService,
windowService: windowService,
migrationService: migrationService,
systemService: systemService,
hotkeyService: hotkeyService,
@@ -113,13 +118,13 @@ func NewServiceManager() *ServiceManager {
}
// GetServices 获取所有wails服务列表
// 注意服务启动顺序很重要DatabaseService 必须在依赖数据库的服务之前启动
func (sm *ServiceManager) GetServices() []application.Service {
services := []application.Service{
application.NewService(sm.configService),
application.NewService(sm.sqliteService), // SQLite服务必须在数据库服务之前初始化
application.NewService(sm.databaseService), // 数据库服务必须在依赖它的服务之前初始化
application.NewService(sm.sqliteService),
application.NewService(sm.databaseService),
application.NewService(sm.documentService),
application.NewService(sm.windowService),
application.NewService(sm.keyBindingService),
application.NewService(sm.extensionService),
application.NewService(sm.migrationService),
@@ -193,3 +198,13 @@ func (sm *ServiceManager) GetDatabaseService() *DatabaseService {
func (sm *ServiceManager) GetSQLiteService() *sqlite.Service {
return sm.sqliteService
}
// GetWindowService 获取窗口服务实例
func (sm *ServiceManager) GetWindowService() *WindowService {
return sm.windowService
}
// GetDocumentService 获取文档服务实例
func (sm *ServiceManager) GetDocumentService() *DocumentService {
return sm.documentService
}