Documentation
¶
Index ¶
- type MeilisearchDocument
- type MeilisearchManager
- func (m *MeilisearchManager) ClearIndex() error
- func (m *MeilisearchManager) DebugGetAllDocuments() error
- func (m *MeilisearchManager) GetAllResources(page, pageSize int) ([]entity.Resource, int64, error)
- func (m *MeilisearchManager) GetService() *MeilisearchService
- func (m *MeilisearchManager) GetStatus() (MeilisearchStatus, error)
- func (m *MeilisearchManager) GetStatusWithHealthCheck() (MeilisearchStatus, error)
- func (m *MeilisearchManager) GetSyncProgress() SyncProgress
- func (m *MeilisearchManager) GetSyncedResources(page, pageSize int) ([]entity.Resource, int64, error)
- func (m *MeilisearchManager) GetUnsyncedCount() (int64, error)
- func (m *MeilisearchManager) GetUnsyncedResources(page, pageSize int) ([]entity.Resource, int64, error)
- func (m *MeilisearchManager) Initialize() error
- func (m *MeilisearchManager) IsEnabled() bool
- func (m *MeilisearchManager) ReloadConfig() error
- func (m *MeilisearchManager) Stop()
- func (m *MeilisearchManager) StopSync()
- func (m *MeilisearchManager) SyncAllResources() (int, error)
- func (m *MeilisearchManager) SyncResourceToMeilisearch(resource *entity.Resource) error
- type MeilisearchService
- func (m *MeilisearchService) BatchAddDocuments(docs []MeilisearchDocument) error
- func (m *MeilisearchService) ClearIndex() error
- func (m *MeilisearchService) CreateIndex() error
- func (m *MeilisearchService) GetAllDocuments() ([]MeilisearchDocument, error)
- func (m *MeilisearchService) GetIndexStats() (map[string]interface{}, error)
- func (m *MeilisearchService) HealthCheck() error
- func (m *MeilisearchService) IsEnabled() bool
- func (m *MeilisearchService) Search(query string, filters map[string]interface{}, page, pageSize int) ([]MeilisearchDocument, int64, error)
- func (m *MeilisearchService) UpdateIndexSettings() error
- type MeilisearchStatus
- type SyncProgress
- type TelegramBotConfig
- type TelegramBotService
- type TelegramBotServiceImpl
- func (s *TelegramBotServiceImpl) CleanupDuplicateChannels() error
- func (s *TelegramBotServiceImpl) DeleteMessage(chatID int64, messageID int) error
- func (s *TelegramBotServiceImpl) GetBotUsername() string
- func (s *TelegramBotServiceImpl) GetImgUrl(fid string) string
- func (s *TelegramBotServiceImpl) GetRuntimeStatus() map[string]interface{}
- func (s *TelegramBotServiceImpl) HandleWebhookUpdate(c interface{})
- func (s *TelegramBotServiceImpl) IsChannelRegistered(chatID int64) bool
- func (s *TelegramBotServiceImpl) IsRunning() bool
- func (s *TelegramBotServiceImpl) RegisterChannel(chatID int64, chatName, chatType string) error
- func (s *TelegramBotServiceImpl) ReloadConfig() error
- func (s *TelegramBotServiceImpl) SendMessage(chatID int64, text string, img string) error
- func (s *TelegramBotServiceImpl) Start() error
- func (s *TelegramBotServiceImpl) Stop() error
- func (s *TelegramBotServiceImpl) ValidateApiKey(apiKey string) (bool, map[string]interface{}, error)
- func (s *TelegramBotServiceImpl) ValidateApiKeyWithProxy(apiKey string, proxyEnabled bool, proxyType, proxyHost string, proxyPort int, ...) (bool, map[string]interface{}, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MeilisearchDocument ¶
type MeilisearchDocument struct {
ID uint `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
URL string `json:"url"`
SaveURL string `json:"save_url"`
FileSize string `json:"file_size"`
Key string `json:"key"`
Category string `json:"category"`
Tags []string `json:"tags"`
PanName string `json:"pan_name"`
PanID *uint `json:"pan_id"`
Author string `json:"author"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
// 高亮字段
TitleHighlight string `json:"_title_highlight,omitempty"`
DescriptionHighlight string `json:"_description_highlight,omitempty"`
CategoryHighlight string `json:"_category_highlight,omitempty"`
TagsHighlight []string `json:"_tags_highlight,omitempty"`
}
MeilisearchDocument 搜索文档结构
type MeilisearchManager ¶
type MeilisearchManager struct {
// contains filtered or unexported fields
}
MeilisearchManager Meilisearch管理器
func NewMeilisearchManager ¶
func NewMeilisearchManager(repoMgr *repo.RepositoryManager) *MeilisearchManager
NewMeilisearchManager 创建Meilisearch管理器
func (*MeilisearchManager) ClearIndex ¶
func (m *MeilisearchManager) ClearIndex() error
ClearIndex 清空索引
func (*MeilisearchManager) DebugGetAllDocuments ¶
func (m *MeilisearchManager) DebugGetAllDocuments() error
DebugGetAllDocuments 调试:获取所有文档
func (*MeilisearchManager) GetAllResources ¶
GetAllResources 获取所有资源
func (*MeilisearchManager) GetService ¶
func (m *MeilisearchManager) GetService() *MeilisearchService
GetService 获取Meilisearch服务
func (*MeilisearchManager) GetStatus ¶
func (m *MeilisearchManager) GetStatus() (MeilisearchStatus, error)
GetStatus 获取状态
func (*MeilisearchManager) GetStatusWithHealthCheck ¶
func (m *MeilisearchManager) GetStatusWithHealthCheck() (MeilisearchStatus, error)
GetStatusWithHealthCheck 获取状态并同时进行健康检查
func (*MeilisearchManager) GetSyncProgress ¶
func (m *MeilisearchManager) GetSyncProgress() SyncProgress
GetSyncProgress 获取同步进度
func (*MeilisearchManager) GetSyncedResources ¶
func (m *MeilisearchManager) GetSyncedResources(page, pageSize int) ([]entity.Resource, int64, error)
GetSyncedResources 获取已同步的资源
func (*MeilisearchManager) GetUnsyncedCount ¶
func (m *MeilisearchManager) GetUnsyncedCount() (int64, error)
GetUnsyncedCount 获取未同步资源数量
func (*MeilisearchManager) GetUnsyncedResources ¶
func (m *MeilisearchManager) GetUnsyncedResources(page, pageSize int) ([]entity.Resource, int64, error)
GetUnsyncedResources 获取未同步的资源
func (*MeilisearchManager) Initialize ¶
func (m *MeilisearchManager) Initialize() error
Initialize 初始化Meilisearch服务
func (*MeilisearchManager) IsEnabled ¶
func (m *MeilisearchManager) IsEnabled() bool
IsEnabled 检查是否启用
func (*MeilisearchManager) ReloadConfig ¶
func (m *MeilisearchManager) ReloadConfig() error
ReloadConfig 重新加载配置
func (*MeilisearchManager) SyncAllResources ¶
func (m *MeilisearchManager) SyncAllResources() (int, error)
SyncAllResources 同步所有资源
func (*MeilisearchManager) SyncResourceToMeilisearch ¶
func (m *MeilisearchManager) SyncResourceToMeilisearch(resource *entity.Resource) error
SyncResourceToMeilisearch 同步资源到Meilisearch
type MeilisearchService ¶
type MeilisearchService struct {
// contains filtered or unexported fields
}
MeilisearchService Meilisearch服务
func NewMeilisearchService ¶
func NewMeilisearchService(host, port, masterKey, indexName string, enabled bool) *MeilisearchService
NewMeilisearchService 创建Meilisearch服务
func (*MeilisearchService) BatchAddDocuments ¶
func (m *MeilisearchService) BatchAddDocuments(docs []MeilisearchDocument) error
BatchAddDocuments 批量添加文档
func (*MeilisearchService) ClearIndex ¶
func (m *MeilisearchService) ClearIndex() error
ClearIndex 清空索引
func (*MeilisearchService) CreateIndex ¶
func (m *MeilisearchService) CreateIndex() error
CreateIndex 创建索引
func (*MeilisearchService) GetAllDocuments ¶
func (m *MeilisearchService) GetAllDocuments() ([]MeilisearchDocument, error)
GetAllDocuments 获取所有文档(用于调试)
func (*MeilisearchService) GetIndexStats ¶
func (m *MeilisearchService) GetIndexStats() (map[string]interface{}, error)
GetIndexStats 获取索引统计信息
func (*MeilisearchService) HealthCheck ¶
func (m *MeilisearchService) HealthCheck() error
HealthCheck 健康检查
func (*MeilisearchService) IsEnabled ¶
func (m *MeilisearchService) IsEnabled() bool
IsEnabled 检查是否启用
func (*MeilisearchService) Search ¶
func (m *MeilisearchService) Search(query string, filters map[string]interface{}, page, pageSize int) ([]MeilisearchDocument, int64, error)
Search 搜索文档
func (*MeilisearchService) UpdateIndexSettings ¶
func (m *MeilisearchService) UpdateIndexSettings() error
UpdateIndexSettings 更新索引设置
type MeilisearchStatus ¶
type MeilisearchStatus struct {
Enabled bool `json:"enabled"`
Healthy bool `json:"healthy"`
LastCheck time.Time `json:"last_check"`
ErrorCount int `json:"error_count"`
LastError string `json:"last_error"`
DocumentCount int64 `json:"document_count"`
}
MeilisearchStatus Meilisearch状态
type SyncProgress ¶
type SyncProgress struct {
IsRunning bool `json:"is_running"`
TotalCount int64 `json:"total_count"`
ProcessedCount int64 `json:"processed_count"`
SyncedCount int64 `json:"synced_count"`
FailedCount int64 `json:"failed_count"`
StartTime time.Time `json:"start_time"`
EstimatedTime string `json:"estimated_time"`
CurrentBatch int `json:"current_batch"`
TotalBatches int `json:"total_batches"`
ErrorMessage string `json:"error_message"`
}
SyncProgress 同步进度
type TelegramBotConfig ¶ added in v1.3.0
type TelegramBotService ¶ added in v1.3.0
type TelegramBotService interface {
Start() error
Stop() error
IsRunning() bool
ReloadConfig() error
GetRuntimeStatus() map[string]interface{}
ValidateApiKey(apiKey string) (bool, map[string]interface{}, error)
ValidateApiKeyWithProxy(apiKey string, proxyEnabled bool, proxyType, proxyHost string, proxyPort int, proxyUsername, proxyPassword string) (bool, map[string]interface{}, error)
GetBotUsername() string
SendMessage(chatID int64, text string, img string) error
DeleteMessage(chatID int64, messageID int) error
RegisterChannel(chatID int64, chatName, chatType string) error
IsChannelRegistered(chatID int64) bool
HandleWebhookUpdate(c interface{})
CleanupDuplicateChannels() error
}
func NewTelegramBotService ¶ added in v1.3.0
func NewTelegramBotService( systemConfigRepo repo.SystemConfigRepository, channelRepo repo.TelegramChannelRepository, resourceRepo repo.ResourceRepository, readyResourceRepo repo.ReadyResourceRepository, ) TelegramBotService
type TelegramBotServiceImpl ¶ added in v1.3.0
type TelegramBotServiceImpl struct {
// contains filtered or unexported fields
}
func (*TelegramBotServiceImpl) CleanupDuplicateChannels ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) CleanupDuplicateChannels() error
CleanupDuplicateChannels 清理数据库中的重复频道记录
func (*TelegramBotServiceImpl) DeleteMessage ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) DeleteMessage(chatID int64, messageID int) error
DeleteMessage 删除消息
func (*TelegramBotServiceImpl) GetBotUsername ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) GetBotUsername() string
GetBotUsername 获取机器人用户名
func (*TelegramBotServiceImpl) GetImgUrl ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) GetImgUrl(fid string) string
func (*TelegramBotServiceImpl) GetRuntimeStatus ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) GetRuntimeStatus() map[string]interface{}
GetRuntimeStatus 获取机器人运行时状态
func (*TelegramBotServiceImpl) HandleWebhookUpdate ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) HandleWebhookUpdate(c interface{})
HandleWebhookUpdate 处理 Webhook 更新(预留接口,目前使用长轮询)
func (*TelegramBotServiceImpl) IsChannelRegistered ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) IsChannelRegistered(chatID int64) bool
IsChannelRegistered 检查频道是否已注册
func (*TelegramBotServiceImpl) IsRunning ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) IsRunning() bool
IsRunning 检查机器人服务是否正在运行
func (*TelegramBotServiceImpl) RegisterChannel ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) RegisterChannel(chatID int64, chatName, chatType string) error
RegisterChannel 注册频道
func (*TelegramBotServiceImpl) ReloadConfig ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) ReloadConfig() error
ReloadConfig 重新加载机器人配置
func (*TelegramBotServiceImpl) SendMessage ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) SendMessage(chatID int64, text string, img string) error
SendMessage 发送消息(默认使用 HTML 格式)
func (*TelegramBotServiceImpl) Start ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) Start() error
Start 启动机器人服务
func (*TelegramBotServiceImpl) Stop ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) Stop() error
Stop 停止机器人服务
func (*TelegramBotServiceImpl) ValidateApiKey ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) ValidateApiKey(apiKey string) (bool, map[string]interface{}, error)
ValidateApiKey 验证 API Key
func (*TelegramBotServiceImpl) ValidateApiKeyWithProxy ¶ added in v1.3.0
func (s *TelegramBotServiceImpl) ValidateApiKeyWithProxy(apiKey string, proxyEnabled bool, proxyType, proxyHost string, proxyPort int, proxyUsername, proxyPassword string) (bool, map[string]interface{}, error)
ValidateApiKeyWithProxy 使用代理配置验证 API Key