add QCXG7K2N

This commit is contained in:
2026-07-05 00:48:37 +08:00
parent c08f40d212
commit 192ed5d009
9 changed files with 264 additions and 112 deletions

View File

@@ -1,13 +1,11 @@
package haiyuapi
import (
"time"
"tyapi-server/internal/config"
"tyapi-server/internal/shared/external_logger"
)
// NewHaiyuapiServiceWithConfig 使用配置创建海宇API服务
// NewHaiyuapiServiceWithConfig 使用配置创建海宇 API 服务
func NewHaiyuapiServiceWithConfig(cfg *config.Config) (*HaiyuapiService, error) {
loggingConfig := external_logger.ExternalServiceLoggingConfig{
Enabled: cfg.Haiyuapi.Logging.Enabled,
@@ -17,48 +15,35 @@ func NewHaiyuapiServiceWithConfig(cfg *config.Config) (*HaiyuapiService, error)
EnableLevelSeparation: cfg.Haiyuapi.Logging.EnableLevelSeparation,
LevelConfigs: make(map[string]external_logger.ExternalServiceLevelFileConfig),
}
for level, levelCfg := range cfg.Haiyuapi.Logging.LevelConfigs {
loggingConfig.LevelConfigs[level] = external_logger.ExternalServiceLevelFileConfig{
MaxSize: levelCfg.MaxSize,
MaxBackups: levelCfg.MaxBackups,
MaxAge: levelCfg.MaxAge,
Compress: levelCfg.Compress,
for k, v := range cfg.Haiyuapi.Logging.LevelConfigs {
loggingConfig.LevelConfigs[k] = external_logger.ExternalServiceLevelFileConfig{
MaxSize: v.MaxSize,
MaxBackups: v.MaxBackups,
MaxAge: v.MaxAge,
Compress: v.Compress,
}
}
logger, err := external_logger.NewExternalServiceLogger(loggingConfig)
if err != nil {
return nil, err
var logger *external_logger.ExternalServiceLogger
var err error
if loggingConfig.Enabled {
logger, err = external_logger.NewExternalServiceLogger(loggingConfig)
if err != nil {
return nil, err
}
}
timeout := cfg.Haiyuapi.Timeout
if timeout <= 0 {
timeout = defaultRequestTimeout
timeout := defaultRequestTimeout
if cfg.Haiyuapi.Timeout > 0 {
timeout = cfg.Haiyuapi.Timeout
}
return NewHaiyuapiService(
cfg.Haiyuapi.BaseURL,
cfg.Haiyuapi.AccessID,
cfg.Haiyuapi.SecretKey,
timeout,
logger,
), nil
}
// NewHaiyuapiServiceWithLogging 使用自定义日志配置创建海宇API服务
func NewHaiyuapiServiceWithLogging(baseURL, accessID, secretKey string, timeout time.Duration, loggingConfig external_logger.ExternalServiceLoggingConfig) (*HaiyuapiService, error) {
loggingConfig.ServiceName = "haiyuapi"
logger, err := external_logger.NewExternalServiceLogger(loggingConfig)
if err != nil {
return nil, err
serviceCfg := HaiyuapiConfig{
BaseURL: cfg.Haiyuapi.BaseURL,
AccessID: cfg.Haiyuapi.AccessID,
SecretKey: cfg.Haiyuapi.SecretKey,
Timeout: timeout,
}
return NewHaiyuapiService(baseURL, accessID, secretKey, timeout, logger), nil
}
// NewHaiyuapiServiceSimple 创建无日志的海宇API服务
func NewHaiyuapiServiceSimple(baseURL, accessID, secretKey string, timeout time.Duration) *HaiyuapiService {
return NewHaiyuapiService(baseURL, accessID, secretKey, timeout, nil)
return NewHaiyuapiService(serviceCfg, logger), nil
}