添加新功能,完善项目

This commit is contained in:
truewhile
2026-09-22 16:22:29 +08:00
parent 47899284a5
commit b5ce4646cf
85 changed files with 7103 additions and 982 deletions
+24
View File
@@ -76,6 +76,10 @@ type EmbyService struct {
adult *AdultProvider
personImageMu sync.RWMutex
personImages map[string]string
// discovery 提供 NextUp / Similar / Genres 的候选集。它只选候选,
// DTO 形状仍由本服务统一产出,避免同一部剧在不同接口上长得不一样。
discovery *MediaDiscoveryService
}
// NewEmbyService is the constructor.
@@ -91,6 +95,26 @@ func (e *EmbyService) SetEmbyRemote(remote *EmbyRemoteService) *EmbyService {
return e
}
// SetDiscovery 注入发现类查询服务(NextUp / Similar / Genres)。
func (e *EmbyService) SetDiscovery(discovery *MediaDiscoveryService) *EmbyService {
if e != nil {
e.discovery = discovery
}
return e
}
// discoveryService 返回发现服务;未注入时按需构造,保证 Emby 接口在任何
// 组装顺序下都不会因为缺少注入而返回空结果。
func (e *EmbyService) discoveryService() *MediaDiscoveryService {
if e == nil {
return nil
}
if e.discovery == nil {
e.discovery = NewMediaDiscoveryService(e.log, e.repo)
}
return e.discovery
}
// SetTMDbProvider wires the TMDb client used for detail-time cast/crew lookup.
func (e *EmbyService) SetTMDbProvider(tmdb *TMDbProvider) *EmbyService {
if e != nil {