utils

package
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2025 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Version   = getVersionFromFile()
	BuildTime = time.Now().Format("2006-01-02 15:04:05")
	GitCommit = "unknown"
	GitBranch = "unknown"
)

编译时注入的版本信息

Functions

func Debug

func Debug(format string, args ...interface{})

全局便捷函数

func Error

func Error(format string, args ...interface{})

func Fatal

func Fatal(format string, args ...interface{})

func GetFullVersionInfo

func GetFullVersionInfo() string

GetFullVersionInfo 获取完整版本信息

func GetVersionComponents

func GetVersionComponents(version string) (major, minor, patch int, err error)

GetVersionComponents 获取版本号组件

func GetVersionString

func GetVersionString() string

GetVersionString 获取版本字符串

func Info

func Info(format string, args ...interface{})

func InitLogger

func InitLogger(config *LogConfig) error

InitLogger 初始化全局日志器

func IsVersionNewer

func IsVersionNewer(version1, version2 string) bool

IsVersionNewer 比较版本号

func SaveVersionToFile

func SaveVersionToFile(filename string, info *VersionInfo) error

SaveVersionToFile 保存版本信息到文件

func Warn

func Warn(format string, args ...interface{})

Types

type DoubanCategory

type DoubanCategory struct {
	Category string `json:"category"`
	Selected bool   `json:"selected"`
	Type     string `json:"type"`
	Title    string `json:"title"`
}

DoubanCategory 豆瓣分类

type DoubanItem

type DoubanItem struct {
	ID           string   `json:"id"`
	Title        string   `json:"title"`
	CardSubtitle string   `json:"card_subtitle"`
	EpisodesInfo string   `json:"episodes_info"`
	IsNew        bool     `json:"is_new"`
	Pic          PicInfo  `json:"pic"`
	Rating       Rating   `json:"rating"`
	Type         string   `json:"type"`
	URI          string   `json:"uri"`
	Year         string   `json:"year"`
	Directors    []string `json:"directors"`
	Actors       []string `json:"actors"`
	Region       string   `json:"region"`
	Genres       []string `json:"genres"`
}

DoubanItem 豆瓣项目

type DoubanResponse

type DoubanResponse struct {
	Items      []DoubanItem     `json:"items"`
	Categories []DoubanCategory `json:"categories"`
	Total      int              `json:"total"`
	IsMockData bool             `json:"is_mock_data,omitempty"`
	MockReason string           `json:"mock_reason,omitempty"`
	Notice     string           `json:"notice,omitempty"`
}

DoubanResponse 豆瓣响应

type DoubanResult

type DoubanResult struct {
	Success bool            `json:"success"`
	Data    *DoubanResponse `json:"data,omitempty"`
	Message string          `json:"message,omitempty"`
}

DoubanResult 豆瓣结果

type DoubanService

type DoubanService struct {

	// 电影榜单配置 - 4个大类,每个大类下有5个小类
	MovieCategories map[string]map[string]map[string]string

	// 剧集榜单配置 - 2个大类
	TvCategories map[string]map[string]map[string]string
	// contains filtered or unexported fields
}

DoubanService 豆瓣服务

func NewDoubanService

func NewDoubanService() *DoubanService

NewDoubanService 创建新的豆瓣服务

func (*DoubanService) GetAllTvTypes

func (ds *DoubanService) GetAllTvTypes() []string

GetAllTvTypes 获取所有tv类型(type列表)

func (*DoubanService) GetTvByType

func (ds *DoubanService) GetTvByType(tvType string) ([]map[string]interface{}, error)

GetTvByType 获取指定type的全部剧集数据

func (*DoubanService) GetTypePage

func (ds *DoubanService) GetTypePage(category, rankingType string) (*DoubanResult, error)

GetTypePage 获取指定类型的数据

type GlobalScheduler

type GlobalScheduler struct {
	// contains filtered or unexported fields
}

GlobalScheduler 全局调度器管理器

func GetGlobalScheduler

func GetGlobalScheduler(hotDramaRepo repo.HotDramaRepository, readyResourceRepo repo.ReadyResourceRepository, resourceRepo repo.ResourceRepository, systemConfigRepo repo.SystemConfigRepository, panRepo repo.PanRepository, cksRepo repo.CksRepository) *GlobalScheduler

GetGlobalScheduler 获取全局调度器实例(单例模式)

func (*GlobalScheduler) GetHotDramaNames

func (gs *GlobalScheduler) GetHotDramaNames() ([]string, error)

GetHotDramaNames 手动获取热播剧名字

func (*GlobalScheduler) IsAutoTransferRunning

func (gs *GlobalScheduler) IsAutoTransferRunning() bool

IsAutoTransferRunning 检查自动转存定时任务是否在运行

func (*GlobalScheduler) IsHotDramaSchedulerRunning

func (gs *GlobalScheduler) IsHotDramaSchedulerRunning() bool

IsHotDramaSchedulerRunning 检查热播剧定时任务是否在运行

func (*GlobalScheduler) IsReadyResourceRunning

func (gs *GlobalScheduler) IsReadyResourceRunning() bool

IsReadyResourceRunning 检查待处理资源自动处理任务是否在运行

func (*GlobalScheduler) ProcessAutoTransfer

func (gs *GlobalScheduler) ProcessAutoTransfer()

ProcessAutoTransfer 手动触发自动转存处理

func (*GlobalScheduler) ProcessReadyResources

func (gs *GlobalScheduler) ProcessReadyResources()

ProcessReadyResources 手动触发待处理资源处理

func (*GlobalScheduler) StartAutoTransferScheduler

func (gs *GlobalScheduler) StartAutoTransferScheduler()

StartAutoTransferScheduler 启动自动转存定时任务

func (*GlobalScheduler) StartHotDramaScheduler

func (gs *GlobalScheduler) StartHotDramaScheduler()

StartHotDramaScheduler 启动热播剧定时任务

func (*GlobalScheduler) StartReadyResourceScheduler

func (gs *GlobalScheduler) StartReadyResourceScheduler()

StartReadyResourceScheduler 启动待处理资源自动处理任务

func (*GlobalScheduler) StopAutoTransferScheduler

func (gs *GlobalScheduler) StopAutoTransferScheduler()

StopAutoTransferScheduler 停止自动转存定时任务

func (*GlobalScheduler) StopHotDramaScheduler

func (gs *GlobalScheduler) StopHotDramaScheduler()

StopHotDramaScheduler 停止热播剧定时任务

func (*GlobalScheduler) StopReadyResourceScheduler

func (gs *GlobalScheduler) StopReadyResourceScheduler()

StopReadyResourceScheduler 停止待处理资源自动处理任务

func (*GlobalScheduler) UpdateSchedulerStatus

func (gs *GlobalScheduler) UpdateSchedulerStatus(autoFetchHotDramaEnabled bool, autoProcessReadyResources bool)

UpdateSchedulerStatus 根据系统配置更新调度器状态

func (*GlobalScheduler) UpdateSchedulerStatusWithAutoTransfer

func (gs *GlobalScheduler) UpdateSchedulerStatusWithAutoTransfer(autoFetchHotDramaEnabled bool, autoProcessReadyResources bool, autoTransferEnabled bool)

UpdateSchedulerStatusWithAutoTransfer 根据系统配置更新调度器状态(包含自动转存)

type LogConfig

type LogConfig struct {
	LogDir         string   // 日志目录
	LogLevel       LogLevel // 日志级别
	MaxFileSize    int64    // 单个日志文件最大大小(MB)
	MaxBackups     int      // 最大备份文件数
	MaxAge         int      // 日志文件最大保留天数
	EnableConsole  bool     // 是否启用控制台输出
	EnableFile     bool     // 是否启用文件输出
	EnableRotation bool     // 是否启用日志轮转
}

LogConfig 日志配置

func DefaultConfig

func DefaultConfig() *LogConfig

DefaultConfig 默认配置

type LogEntry

type LogEntry struct {
	Timestamp time.Time
	Level     string
	Message   string
	File      string
	Line      int
}

LogEntry 日志条目

type LogLevel

type LogLevel int

LogLevel 日志级别

const (
	DEBUG LogLevel = iota
	INFO
	WARN
	ERROR
	FATAL
)

func (LogLevel) String

func (l LogLevel) String() string

String 返回日志级别的字符串表示

type LogViewer

type LogViewer struct {
	// contains filtered or unexported fields
}

LogViewer 日志查看器

func NewLogViewer

func NewLogViewer(logDir string) *LogViewer

NewLogViewer 创建新的日志查看器

func (*LogViewer) CleanOldLogs

func (lv *LogViewer) CleanOldLogs(days int) error

CleanOldLogs 清理旧日志文件

func (*LogViewer) GetLogFiles

func (lv *LogViewer) GetLogFiles() ([]string, error)

GetLogFiles 获取所有日志文件

func (*LogViewer) GetLogStats

func (lv *LogViewer) GetLogStats(files []string) (map[string]int, error)

GetLogStats 获取日志统计信息

func (*LogViewer) ReadLogFile

func (lv *LogViewer) ReadLogFile(filename string, lines int) ([]string, error)

ReadLogFile 读取日志文件

func (*LogViewer) SearchLogs

func (lv *LogViewer) SearchLogs(pattern string, files []string) ([]LogEntry, error)

SearchLogs 搜索日志

func (*LogViewer) TailLog

func (lv *LogViewer) TailLog(filename string, callback func(string)) error

TailLog 实时跟踪日志文件

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

Logger 统一日志器

func GetLogger

func GetLogger() *Logger

GetLogger 获取全局日志器

func NewLogger

func NewLogger(config *LogConfig) (*Logger, error)

NewLogger 创建新的日志器

func (*Logger) Close

func (l *Logger) Close() error

Close 关闭日志器

func (*Logger) Debug

func (l *Logger) Debug(format string, args ...interface{})

Debug 调试日志

func (*Logger) Error

func (l *Logger) Error(format string, args ...interface{})

Error 错误日志

func (*Logger) Fatal

func (l *Logger) Fatal(format string, args ...interface{})

Fatal 致命错误日志

func (*Logger) Info

func (l *Logger) Info(format string, args ...interface{})

Info 信息日志

func (*Logger) Warn

func (l *Logger) Warn(format string, args ...interface{})

Warn 警告日志

type PicInfo

type PicInfo struct {
	Large  string `json:"large"`
	Normal string `json:"normal"`
}

PicInfo 图片信息

type Rating

type Rating struct {
	Value     float64 `json:"value"`
	Count     int     `json:"count"`
	Max       int     `json:"max"`
	StarCount float64 `json:"star_count"`
}

Rating 评分

type Scheduler

type Scheduler struct {
	// contains filtered or unexported fields
}

Scheduler 定时任务管理器

func NewScheduler

func NewScheduler(hotDramaRepo repo.HotDramaRepository, readyResourceRepo repo.ReadyResourceRepository, resourceRepo repo.ResourceRepository, systemConfigRepo repo.SystemConfigRepository, panRepo repo.PanRepository, cksRepo repo.CksRepository) *Scheduler

NewScheduler 创建新的定时任务管理器

func (*Scheduler) GetHotDramaNames

func (s *Scheduler) GetHotDramaNames() ([]string, error)

GetHotDramaNames 手动获取热播剧名字(用于测试或手动调用)

func (*Scheduler) IsAutoTransferRunning

func (s *Scheduler) IsAutoTransferRunning() bool

IsAutoTransferRunning 检查自动转存定时任务是否在运行

func (*Scheduler) IsReadyResourceRunning

func (s *Scheduler) IsReadyResourceRunning() bool

IsReadyResourceRunning 检查待处理资源自动处理任务是否在运行

func (*Scheduler) IsRunning

func (s *Scheduler) IsRunning() bool

IsRunning 检查定时任务是否在运行

func (*Scheduler) StartAutoTransferScheduler

func (s *Scheduler) StartAutoTransferScheduler()

StartAutoTransferScheduler 启动自动转存定时任务

func (*Scheduler) StartHotDramaScheduler

func (s *Scheduler) StartHotDramaScheduler()

StartHotDramaScheduler 启动热播剧定时任务

func (*Scheduler) StartReadyResourceScheduler

func (s *Scheduler) StartReadyResourceScheduler()

StartReadyResourceScheduler 启动待处理资源自动处理任务

func (*Scheduler) StopAutoTransferScheduler

func (s *Scheduler) StopAutoTransferScheduler()

StopAutoTransferScheduler 停止自动转存定时任务

func (*Scheduler) StopHotDramaScheduler

func (s *Scheduler) StopHotDramaScheduler()

StopHotDramaScheduler 停止热播剧定时任务

func (*Scheduler) StopReadyResourceScheduler

func (s *Scheduler) StopReadyResourceScheduler()

StopReadyResourceScheduler 停止待处理资源自动处理任务

type VersionInfo

type VersionInfo struct {
	Version     string    `json:"version"`
	BuildTime   time.Time `json:"build_time"`
	GitCommit   string    `json:"git_commit"`
	GitBranch   string    `json:"git_branch"`
	GoVersion   string    `json:"go_version"`
	NodeVersion string    `json:"node_version"`
	Platform    string    `json:"platform"`
	Arch        string    `json:"arch"`
}

VersionInfo 版本信息结构

func GetVersionInfo

func GetVersionInfo() *VersionInfo

GetVersionInfo 获取版本信息

func LoadVersionFromFile

func LoadVersionFromFile(filename string) (*VersionInfo, error)

LoadVersionFromFile 从文件加载版本信息

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL