fix(lint): 修复 golangci-lint 检查问题
- 格式化代码 (gofmt) - 修复 rows.Close() 返回值未检查 (errcheck) - 删除未使用的 usage_clamp.go 文件 (unused) - 删除临时测试目录
This commit is contained in:
@@ -34,26 +34,26 @@ func (h *SettingHandler) GetSettings(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
response.Success(c, dto.SystemSettings{
|
response.Success(c, dto.SystemSettings{
|
||||||
RegistrationEnabled: settings.RegistrationEnabled,
|
RegistrationEnabled: settings.RegistrationEnabled,
|
||||||
EmailVerifyEnabled: settings.EmailVerifyEnabled,
|
EmailVerifyEnabled: settings.EmailVerifyEnabled,
|
||||||
SmtpHost: settings.SmtpHost,
|
SmtpHost: settings.SmtpHost,
|
||||||
SmtpPort: settings.SmtpPort,
|
SmtpPort: settings.SmtpPort,
|
||||||
SmtpUsername: settings.SmtpUsername,
|
SmtpUsername: settings.SmtpUsername,
|
||||||
SmtpPassword: settings.SmtpPassword,
|
SmtpPassword: settings.SmtpPassword,
|
||||||
SmtpFrom: settings.SmtpFrom,
|
SmtpFrom: settings.SmtpFrom,
|
||||||
SmtpFromName: settings.SmtpFromName,
|
SmtpFromName: settings.SmtpFromName,
|
||||||
SmtpUseTLS: settings.SmtpUseTLS,
|
SmtpUseTLS: settings.SmtpUseTLS,
|
||||||
TurnstileEnabled: settings.TurnstileEnabled,
|
TurnstileEnabled: settings.TurnstileEnabled,
|
||||||
TurnstileSiteKey: settings.TurnstileSiteKey,
|
TurnstileSiteKey: settings.TurnstileSiteKey,
|
||||||
TurnstileSecretKey: settings.TurnstileSecretKey,
|
TurnstileSecretKey: settings.TurnstileSecretKey,
|
||||||
SiteName: settings.SiteName,
|
SiteName: settings.SiteName,
|
||||||
SiteLogo: settings.SiteLogo,
|
SiteLogo: settings.SiteLogo,
|
||||||
SiteSubtitle: settings.SiteSubtitle,
|
SiteSubtitle: settings.SiteSubtitle,
|
||||||
ApiBaseUrl: settings.ApiBaseUrl,
|
ApiBaseUrl: settings.ApiBaseUrl,
|
||||||
ContactInfo: settings.ContactInfo,
|
ContactInfo: settings.ContactInfo,
|
||||||
DocUrl: settings.DocUrl,
|
DocUrl: settings.DocUrl,
|
||||||
DefaultConcurrency: settings.DefaultConcurrency,
|
DefaultConcurrency: settings.DefaultConcurrency,
|
||||||
DefaultBalance: settings.DefaultBalance,
|
DefaultBalance: settings.DefaultBalance,
|
||||||
EnableModelFallback: settings.EnableModelFallback,
|
EnableModelFallback: settings.EnableModelFallback,
|
||||||
FallbackModelAnthropic: settings.FallbackModelAnthropic,
|
FallbackModelAnthropic: settings.FallbackModelAnthropic,
|
||||||
FallbackModelOpenAI: settings.FallbackModelOpenAI,
|
FallbackModelOpenAI: settings.FallbackModelOpenAI,
|
||||||
@@ -153,26 +153,26 @@ func (h *SettingHandler) UpdateSettings(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
settings := &service.SystemSettings{
|
settings := &service.SystemSettings{
|
||||||
RegistrationEnabled: req.RegistrationEnabled,
|
RegistrationEnabled: req.RegistrationEnabled,
|
||||||
EmailVerifyEnabled: req.EmailVerifyEnabled,
|
EmailVerifyEnabled: req.EmailVerifyEnabled,
|
||||||
SmtpHost: req.SmtpHost,
|
SmtpHost: req.SmtpHost,
|
||||||
SmtpPort: req.SmtpPort,
|
SmtpPort: req.SmtpPort,
|
||||||
SmtpUsername: req.SmtpUsername,
|
SmtpUsername: req.SmtpUsername,
|
||||||
SmtpPassword: req.SmtpPassword,
|
SmtpPassword: req.SmtpPassword,
|
||||||
SmtpFrom: req.SmtpFrom,
|
SmtpFrom: req.SmtpFrom,
|
||||||
SmtpFromName: req.SmtpFromName,
|
SmtpFromName: req.SmtpFromName,
|
||||||
SmtpUseTLS: req.SmtpUseTLS,
|
SmtpUseTLS: req.SmtpUseTLS,
|
||||||
TurnstileEnabled: req.TurnstileEnabled,
|
TurnstileEnabled: req.TurnstileEnabled,
|
||||||
TurnstileSiteKey: req.TurnstileSiteKey,
|
TurnstileSiteKey: req.TurnstileSiteKey,
|
||||||
TurnstileSecretKey: req.TurnstileSecretKey,
|
TurnstileSecretKey: req.TurnstileSecretKey,
|
||||||
SiteName: req.SiteName,
|
SiteName: req.SiteName,
|
||||||
SiteLogo: req.SiteLogo,
|
SiteLogo: req.SiteLogo,
|
||||||
SiteSubtitle: req.SiteSubtitle,
|
SiteSubtitle: req.SiteSubtitle,
|
||||||
ApiBaseUrl: req.ApiBaseUrl,
|
ApiBaseUrl: req.ApiBaseUrl,
|
||||||
ContactInfo: req.ContactInfo,
|
ContactInfo: req.ContactInfo,
|
||||||
DocUrl: req.DocUrl,
|
DocUrl: req.DocUrl,
|
||||||
DefaultConcurrency: req.DefaultConcurrency,
|
DefaultConcurrency: req.DefaultConcurrency,
|
||||||
DefaultBalance: req.DefaultBalance,
|
DefaultBalance: req.DefaultBalance,
|
||||||
EnableModelFallback: req.EnableModelFallback,
|
EnableModelFallback: req.EnableModelFallback,
|
||||||
FallbackModelAnthropic: req.FallbackModelAnthropic,
|
FallbackModelAnthropic: req.FallbackModelAnthropic,
|
||||||
FallbackModelOpenAI: req.FallbackModelOpenAI,
|
FallbackModelOpenAI: req.FallbackModelOpenAI,
|
||||||
@@ -193,26 +193,26 @@ func (h *SettingHandler) UpdateSettings(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
response.Success(c, dto.SystemSettings{
|
response.Success(c, dto.SystemSettings{
|
||||||
RegistrationEnabled: updatedSettings.RegistrationEnabled,
|
RegistrationEnabled: updatedSettings.RegistrationEnabled,
|
||||||
EmailVerifyEnabled: updatedSettings.EmailVerifyEnabled,
|
EmailVerifyEnabled: updatedSettings.EmailVerifyEnabled,
|
||||||
SmtpHost: updatedSettings.SmtpHost,
|
SmtpHost: updatedSettings.SmtpHost,
|
||||||
SmtpPort: updatedSettings.SmtpPort,
|
SmtpPort: updatedSettings.SmtpPort,
|
||||||
SmtpUsername: updatedSettings.SmtpUsername,
|
SmtpUsername: updatedSettings.SmtpUsername,
|
||||||
SmtpPassword: updatedSettings.SmtpPassword,
|
SmtpPassword: updatedSettings.SmtpPassword,
|
||||||
SmtpFrom: updatedSettings.SmtpFrom,
|
SmtpFrom: updatedSettings.SmtpFrom,
|
||||||
SmtpFromName: updatedSettings.SmtpFromName,
|
SmtpFromName: updatedSettings.SmtpFromName,
|
||||||
SmtpUseTLS: updatedSettings.SmtpUseTLS,
|
SmtpUseTLS: updatedSettings.SmtpUseTLS,
|
||||||
TurnstileEnabled: updatedSettings.TurnstileEnabled,
|
TurnstileEnabled: updatedSettings.TurnstileEnabled,
|
||||||
TurnstileSiteKey: updatedSettings.TurnstileSiteKey,
|
TurnstileSiteKey: updatedSettings.TurnstileSiteKey,
|
||||||
TurnstileSecretKey: updatedSettings.TurnstileSecretKey,
|
TurnstileSecretKey: updatedSettings.TurnstileSecretKey,
|
||||||
SiteName: updatedSettings.SiteName,
|
SiteName: updatedSettings.SiteName,
|
||||||
SiteLogo: updatedSettings.SiteLogo,
|
SiteLogo: updatedSettings.SiteLogo,
|
||||||
SiteSubtitle: updatedSettings.SiteSubtitle,
|
SiteSubtitle: updatedSettings.SiteSubtitle,
|
||||||
ApiBaseUrl: updatedSettings.ApiBaseUrl,
|
ApiBaseUrl: updatedSettings.ApiBaseUrl,
|
||||||
ContactInfo: updatedSettings.ContactInfo,
|
ContactInfo: updatedSettings.ContactInfo,
|
||||||
DocUrl: updatedSettings.DocUrl,
|
DocUrl: updatedSettings.DocUrl,
|
||||||
DefaultConcurrency: updatedSettings.DefaultConcurrency,
|
DefaultConcurrency: updatedSettings.DefaultConcurrency,
|
||||||
DefaultBalance: updatedSettings.DefaultBalance,
|
DefaultBalance: updatedSettings.DefaultBalance,
|
||||||
EnableModelFallback: updatedSettings.EnableModelFallback,
|
EnableModelFallback: updatedSettings.EnableModelFallback,
|
||||||
FallbackModelAnthropic: updatedSettings.FallbackModelAnthropic,
|
FallbackModelAnthropic: updatedSettings.FallbackModelAnthropic,
|
||||||
FallbackModelOpenAI: updatedSettings.FallbackModelOpenAI,
|
FallbackModelOpenAI: updatedSettings.FallbackModelOpenAI,
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ import (
|
|||||||
// TestBuildParts_ThinkingBlockWithoutSignature 测试thinking block无signature时的处理
|
// TestBuildParts_ThinkingBlockWithoutSignature 测试thinking block无signature时的处理
|
||||||
func TestBuildParts_ThinkingBlockWithoutSignature(t *testing.T) {
|
func TestBuildParts_ThinkingBlockWithoutSignature(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
content string
|
content string
|
||||||
allowDummyThought bool
|
allowDummyThought bool
|
||||||
expectedParts int
|
expectedParts int
|
||||||
description string
|
description string
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "Claude model - drop thinking without signature",
|
name: "Claude model - drop thinking without signature",
|
||||||
|
|||||||
@@ -975,7 +975,7 @@ func (r *accountRepository) loadTempUnschedStates(ctx context.Context, accountID
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer func() { _ = rows.Close() }()
|
||||||
|
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var id int64
|
var id int64
|
||||||
|
|||||||
@@ -301,7 +301,7 @@ func (r *userRepository) filterUsersByAttributes(ctx context.Context, attrs map[
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer func() { _ = rows.Close() }()
|
||||||
|
|
||||||
result := make([]int64, 0)
|
result := make([]int64, 0)
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
|
|||||||
@@ -1076,13 +1076,13 @@ func (s *GatewayService) Forward(ctx context.Context, c *gin.Context, account *A
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 处理错误响应(不可重试的错误)
|
// 处理错误响应(不可重试的错误)
|
||||||
if resp.StatusCode >= 400 {
|
if resp.StatusCode >= 400 {
|
||||||
// 可选:对部分 400 触发 failover(默认关闭以保持语义)
|
// 可选:对部分 400 触发 failover(默认关闭以保持语义)
|
||||||
if resp.StatusCode == 400 && s.cfg != nil && s.cfg.Gateway.FailoverOn400 {
|
if resp.StatusCode == 400 && s.cfg != nil && s.cfg.Gateway.FailoverOn400 {
|
||||||
respBody, readErr := io.ReadAll(io.LimitReader(resp.Body, 2<<20))
|
respBody, readErr := io.ReadAll(io.LimitReader(resp.Body, 2<<20))
|
||||||
if readErr != nil {
|
if readErr != nil {
|
||||||
// ReadAll failed, fall back to normal error handling without consuming the stream
|
// ReadAll failed, fall back to normal error handling without consuming the stream
|
||||||
return s.handleErrorResponse(ctx, resp, c, account)
|
return s.handleErrorResponse(ctx, resp, c, account)
|
||||||
}
|
}
|
||||||
_ = resp.Body.Close()
|
_ = resp.Body.Close()
|
||||||
resp.Body = io.NopCloser(bytes.NewReader(respBody))
|
resp.Body = io.NopCloser(bytes.NewReader(respBody))
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import "time"
|
|
||||||
|
|
||||||
// clampInt 将整数限制在指定范围内
|
|
||||||
func clampInt(value, min, max int) int {
|
|
||||||
if value < min {
|
|
||||||
return min
|
|
||||||
}
|
|
||||||
if value > max {
|
|
||||||
return max
|
|
||||||
}
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
|
|
||||||
// clampFloat64 将浮点数限制在指定范围内
|
|
||||||
func clampFloat64(value, min, max float64) float64 {
|
|
||||||
if value < min {
|
|
||||||
return min
|
|
||||||
}
|
|
||||||
if value > max {
|
|
||||||
return max
|
|
||||||
}
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
|
|
||||||
// remainingSecondsUntil 计算到指定时间的剩余秒数,保证非负
|
|
||||||
func remainingSecondsUntil(t time.Time) int {
|
|
||||||
seconds := int(time.Until(t).Seconds())
|
|
||||||
if seconds < 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
return seconds
|
|
||||||
}
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user