chore(lint): unify formatting on golangci-lint fmt (gofumpt), uncap issue reporting, fix gofumpt drift

- make format 现在与 code-check 使用同一格式化器(golangci-lint fmt),消除 goimports -local 与 gofumpt 的格式拉锯
- .golangci.yml 关闭默认 50/3 截断,完整上报所有问题(只增强不弱化)
- 全库 gofumpt 规范化(203 files, 纯格式无行为变更)
This commit is contained in:
ryan
2026-08-28 16:31:53 +08:00
parent 078ad9b2f3
commit 528240026d
204 changed files with 572 additions and 718 deletions
+1 -1
View File
@@ -242,7 +242,7 @@ func (w *Writer[T]) run() {
}
}
func (w *Writer[T]) shouldFlushOnInterval(batchLen int, batchStartedAt time.Time, now time.Time) bool {
func (w *Writer[T]) shouldFlushOnInterval(batchLen int, batchStartedAt, now time.Time) bool {
if batchLen == 0 {
return false
}
+2 -2
View File
@@ -26,7 +26,7 @@ const (
headerSize = 8 // 8 bytes metadata prefix for expiration UnixNano timestamp
defaultMaxSizeMB = 100
defaultTTLMinutes = 60
cacheDirPerm = 0750
cacheDirPerm = 0o750
// DefaultExpiration applies the cache-wide default TTL.
DefaultExpiration time.Duration = 0
@@ -284,7 +284,7 @@ func (c *Cache) Status() Status {
}
// UpdatePolicy dynamically updates policies.
func (c *Cache) UpdatePolicy(maxSizeMB int64, ttlMinutes int64, lruEnabled bool) {
func (c *Cache) UpdatePolicy(maxSizeMB, ttlMinutes int64, lruEnabled bool) {
c.mu.Lock()
defer c.mu.Unlock()
+5 -5
View File
@@ -31,7 +31,7 @@ type CacheItem struct {
// Loader is an interface that the cache client must implement to handle database retrieval.
type Loader interface {
LoadAll(ctx context.Context, configType string) ([]CacheItem, error)
LoadOne(ctx context.Context, configType string, key string) (CacheItem, error)
LoadOne(ctx context.Context, configType, key string) (CacheItem, error)
}
type cacheEntry struct {
@@ -59,7 +59,7 @@ func getWriteLock(configType string) *sync.Mutex {
// Get retrieves a cache item from the local cache store, checking for expiration.
// Reads are completely lock-free because maps stored in Otter are immutable.
func Get(configType string, key string) (CacheItem, bool) {
func Get(configType, key string) (CacheItem, bool) {
m, ok := managerCache.GetIfPresent(configType)
if !ok {
return CacheItem{}, false
@@ -80,7 +80,7 @@ func Get(configType string, key string) (CacheItem, bool) {
return entry.item, true
}
func deleteKeyIfExpired(configType string, key string, expireAt time.Time) {
func deleteKeyIfExpired(configType, key string, expireAt time.Time) {
lock := getWriteLock(configType)
lock.Lock()
defer lock.Unlock()
@@ -138,7 +138,7 @@ func Set(item CacheItem) {
// Delete removes a single item from the local cache store.
// Writes are protected by a fine-grained lock per configType.
func Delete(configType string, key string) {
func Delete(configType, key string) {
lock := getWriteLock(configType)
lock.Lock()
defer lock.Unlock()
@@ -196,7 +196,7 @@ func GetTypeItems(configType string) []CacheItem {
}
// Refresh reloads configuration cache from database via the Loader.
func Refresh(ctx context.Context, configType string, key string, loader Loader) error {
func Refresh(ctx context.Context, configType, key string, loader Loader) error {
if configType == "" {
return errors.New("type is required")
}
+1 -2
View File
@@ -118,8 +118,7 @@ type logConfig struct {
}
// schedulerConfig 定时任务配置
type schedulerConfig struct {
}
type schedulerConfig struct{}
// workerConfig 工作配置
type workerConfig struct {
+1 -1
View File
@@ -52,7 +52,7 @@ func TestNewTransportUsesConfiguredDirectDialer(t *testing.T) {
dialer := &net.Dialer{}
transport := NewTransport(TransportOptions{
Proxy: nil,
DialContext: func(ctx context.Context, network string, address string) (net.Conn, error) {
DialContext: func(ctx context.Context, network, address string) (net.Conn, error) {
dialedAddress = address
return dialer.DialContext(ctx, network, server.Listener.Addr().String())
},
+1 -2
View File
@@ -5,12 +5,11 @@
package idgen
import (
"Wavelet/pkg/config"
"fmt"
"log"
"github.com/bwmarrin/snowflake"
"Wavelet/pkg/config"
)
// 2025-12-01 00:00:00 UTC 的毫秒时间戳
+1 -1
View File
@@ -99,7 +99,7 @@ func (r *LogRingBuffer) appendLine(line string) {
// cursor=0 表示查询最新日志,cursor>0 表示查询 index < cursor 的更早日志
// limit 为返回条数上限
// 返回日志条目(按 index 升序)和是否有更早的日志
func (r *LogRingBuffer) Query(cursor int, limit int) ([]LogEntry, bool) {
func (r *LogRingBuffer) Query(cursor, limit int) ([]LogEntry, bool) {
r.mu.RLock()
defer r.mu.RUnlock()
+1 -1
View File
@@ -17,7 +17,7 @@ import (
)
// logDirPerm 日志目录权限
const logDirPerm = 0750
const logDirPerm = 0o750
func getLogWriterForConfig(cfg Config) (zapcore.WriteSyncer, error) {
if cfg.Output == "file" {
+4 -4
View File
@@ -38,12 +38,12 @@ func sanitizeHeaderValue(v string) string {
}
// SendMail sends an HTML email using the provided config and message details
func SendMail(ctx context.Context, cfg Config, to string, subject, body string) error {
func SendMail(ctx context.Context, cfg Config, to, subject, body string) error {
return SendMailHTML(ctx, cfg, to, subject, body)
}
// SendMailHTML sends an HTML format email
func SendMailHTML(ctx context.Context, cfg Config, to string, subject, body string) error {
func SendMailHTML(ctx context.Context, cfg Config, to, subject, body string) error {
addr := net.JoinHostPort(cfg.Host, strconv.Itoa(cfg.Port))
// Header & MIME settings for HTML email
@@ -124,9 +124,9 @@ func sendMailViaSSL(ctx context.Context, addr string, auth smtp.Auth, cfg Config
}
// SendMailWithLog sends a test email and records a detailed SMTP connection log
func SendMailWithLog(ctx context.Context, cfg Config, to string, subject, body string) (string, error) {
func SendMailWithLog(ctx context.Context, cfg Config, to, subject, body string) (string, error) {
var logBuf bytes.Buffer
logLine := func(dir string, format string, args ...interface{}) {
logLine := func(dir, format string, args ...interface{}) {
fmt.Fprintf(&logBuf, "[%s] %s\n", dir, fmt.Sprintf(format, args...))
}
+2 -2
View File
@@ -4,9 +4,9 @@
package testhelper
import (
"github.com/gin-gonic/gin"
"Wavelet/pkg/response"
"github.com/gin-gonic/gin"
)
// NewTestGinEngine 创建带 ErrorHandlerMiddleware 的 Gin 引擎,与生产环境错误响应行为一致。
+4 -2
View File
@@ -12,8 +12,10 @@ import (
)
// Tracer 全局 OpenTelemetry Tracer 实例
var Tracer trace.Tracer
var shutdownFuncs []func(context.Context) error
var (
Tracer trace.Tracer
shutdownFuncs []func(context.Context) error
)
func init() {
// 初始化 Propagator
+3 -3
View File
@@ -33,7 +33,7 @@ const (
// signKey: 64 字符 hex 编码的密钥(对应 32 字节,用于 AES-256)
// plaintext: 要加密的明文字符串
// return: base64 编码的密文
func Encrypt(signKey string, plaintext string) (string, error) {
func Encrypt(signKey, plaintext string) (string, error) {
return encryptBytes(signKey, []byte(plaintext))
}
@@ -41,7 +41,7 @@ func Encrypt(signKey string, plaintext string) (string, error) {
// signKey: 64 字符 hex 编码的密钥(对应 32 字节,用于 AES-256)
// ciphertext: base64 编码的密文
// return: 解密后的明文字符串
func Decrypt(signKey string, ciphertext string) (string, error) {
func Decrypt(signKey, ciphertext string) (string, error) {
plaintext, err := decryptBytes(signKey, ciphertext)
if err != nil {
return "", err
@@ -86,7 +86,7 @@ func encryptBytes(signKey string, plaintext []byte) (string, error) {
}
// decryptBytes 解密函数,处理字节数据
func decryptBytes(signKey string, ciphertext string) ([]byte, error) {
func decryptBytes(signKey, ciphertext string) ([]byte, error) {
// 将 hex 编码的密钥转换为字节
key, err := hex.DecodeString(signKey)
if err != nil {
+1 -2
View File
@@ -4,14 +4,13 @@
package util
import (
"Wavelet/pkg/httppool"
"context"
"fmt"
"io"
"net/http"
"net/url"
"time"
"Wavelet/pkg/httppool"
)
// IsLocalhost 检查 URL 是否为 localhost
+4 -2
View File
@@ -18,8 +18,10 @@ func HashPassword(password string) (string, error) {
return string(hash), nil
}
var dummyPasswordHashOnce sync.Once
var dummyPasswordHash string
var (
dummyPasswordHashOnce sync.Once
dummyPasswordHash string
)
func dummyHash() string {
dummyPasswordHashOnce.Do(func() {