ソースを参照

fix: golangci-lint run fix

runningwater 6 ヶ月 前
コミット
a789959009

+ 1 - 1
app/cmd/make/make_model.go

@@ -20,7 +20,7 @@ func runMakeModel(cmd *cobra.Command, args []string) {
 
 	// 目录, 例如: `app/models/user/`
 	dir := fmt.Sprintf("app/models/%s/", model.PackageName)
-	os.MkdirAll(dir, os.ModePerm)
+	_ = os.MkdirAll(dir, os.ModePerm)
 
 	// 替换变量
 	createFileFromTpl(dir+model.PackageName+"_model.go", "model/model", model)

+ 12 - 9
app/http/middlewares/recovery.go

@@ -1,6 +1,7 @@
 package middlewares
 
 import (
+	"errors"
 	"net"
 	"net/http/httputil"
 	"os"
@@ -8,9 +9,10 @@ import (
 	"time"
 
 	"github.com/gin-gonic/gin"
+	"go.uber.org/zap"
+
 	"github.com/runningwater/gohub/pkg/logger"
 	"github.com/runningwater/gohub/pkg/response"
-	"go.uber.org/zap"
 )
 
 // Recovery 使用 zap.Error() 来记录 panic 和 call stack
@@ -21,12 +23,13 @@ func Recovery() gin.HandlerFunc {
 			if err := recover(); err != nil {
 
 				// 获取用户的请求信息
-				httpRquest, _ := httputil.DumpRequest(c.Request, true)
+				request, _ := httputil.DumpRequest(c.Request, true)
 
 				// 链接中断,客户端中断连接为正常行为,不需要记录堆栈信息
 				var brokenPipe bool
 				if ne, ok := err.(*net.OpError); ok {
-					if se, ok := ne.Err.(*os.SyscallError); ok {
+					var se *os.SyscallError
+					if errors.As(ne.Err, &se) {
 						errStr := strings.ToLower(se.Error())
 						if strings.Contains(errStr, "broken pipe") || strings.Contains(errStr, "connection reset by peer") {
 							brokenPipe = true
@@ -38,19 +41,19 @@ func Recovery() gin.HandlerFunc {
 					logger.Error(c.Request.URL.Path,
 						zap.Time("time", time.Now()),
 						zap.Any("error", err),
-						zap.String("request", string(httpRquest)),
+						zap.String("request", string(request)),
 					)
-					c.Error(err.(error))
+					_ = c.Error(err.(error)) //nolint:errcheck
 					c.Abort()
 					// 链接已断开,无法写状态
 					return
 				}
 				// 如果不是链接中断的情况,记录堆栈信息
 				logger.Error("[Recovery from panic]",
-					zap.Time("time", time.Now()),              // 记录当前时间
-					zap.Any("error", err),                     // 记录错误信息
-					zap.String("request", string(httpRquest)), // 记录请求信息
-					zap.Stack("stack"),                        // 记录堆栈信息
+					zap.Time("time", time.Now()),           // 记录当前时间
+					zap.Any("error", err),                  // 记录错误信息
+					zap.String("request", string(request)), // 记录请求信息
+					zap.Stack("stack"),                     // 记录堆栈信息
 				)
 				// c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{
 				// 	"message": "服务器内部错误,请稍后再试",

+ 8 - 7
app/requests/verify_code_request.go

@@ -2,15 +2,16 @@ package requests
 
 import (
 	"github.com/gin-gonic/gin"
-	"github.com/runningwater/gohub/pkg/captcha"
 	"github.com/thedevsaddam/govalidator"
+
+	"github.com/runningwater/gohub/pkg/captcha"
 )
 
 type VerifyCodeRequest struct {
-	Phone string `json:"phone,omitempy" valid:"phone"`
+	Phone string `json:"phone,omitempty" valid:"phone"`
 
-	CaptchaID     string `json:"captcha_id,omitempy" valid:"captcha_id"`
-	CaptchaAnswer string `json:"captcha_answer,omitempy" valid:"captcha_answer"`
+	CaptchaID     string `json:"captcha_id,omitempty" valid:"captcha_id"`
+	CaptchaAnswer string `json:"captcha_answer,omitempty" valid:"captcha_answer"`
 }
 
 func VerifyCodePhone(data any, c *gin.Context) map[string][]string {
@@ -48,10 +49,10 @@ func VerifyCodePhone(data any, c *gin.Context) map[string][]string {
 }
 
 type VerifyCodeEmailRequest struct {
-	Email string `json:"email,omitempy" valid:"email"`
+	Email string `json:"email,omitempty" valid:"email"`
 
-	CaptchaID     string `json:"captcha_id,omitempy" valid:"captcha_id"`
-	CaptchaAnswer string `json:"captcha_answer,omitempy" valid:"captcha_answer"`
+	CaptchaID     string `json:"captcha_id,omitempty" valid:"captcha_id"`
+	CaptchaAnswer string `json:"captcha_answer,omitempty" valid:"captcha_answer"`
 }
 
 func VerifyCodeEmail(data any, c *gin.Context) map[string][]string {

+ 3 - 2
database/migrations/2025_06_03_101326_add_users_table.go

@@ -2,6 +2,7 @@ package migrations
 
 import (
 	"database/sql"
+
 	"gorm.io/gorm"
 
 	"github.com/runningwater/gohub/app/models"
@@ -22,11 +23,11 @@ func init() {
 	}
 
 	up := func(migrator gorm.Migrator, DB *sql.DB) {
-		migrator.AutoMigrate(&User{})
+		_ = migrator.AutoMigrate(&User{})
 	}
 
 	down := func(migrator gorm.Migrator, DB *sql.DB) {
-		migrator.DropTable(&User{})
+		_ = migrator.DropTable(&User{})
 	}
 
 	migrate.Add(up, down, "2025_06_03_101326_add_users_table")

+ 2 - 4
pkg/file/file.go

@@ -25,10 +25,8 @@ func Put(data []byte, to string) error {
 // 如果文件不存在,则返回 false
 func Exists(path string) bool {
 	_, err := os.Stat(path)
-	if os.IsNotExist(err) {
-		return false
-	}
-	return true
+
+	return !os.IsNotExist(err)
 }
 
 func NameWithoutExtension(fileName string) string {

+ 15 - 12
pkg/sms/driver_aliyun.go

@@ -2,6 +2,7 @@ package sms
 
 import (
 	"encoding/json"
+	"errors"
 	"strings"
 
 	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
@@ -52,24 +53,26 @@ func (a *AliyunDriver) Send(phone string, message Message, config map[string]str
 	response, _e := sendSms(client, request, &util.RuntimeOptions{})
 	if _e != nil {
 		logger.ErrorString(moduleName, "发送失败", _e.Error())
-		var error = &tea.SDKError{}
-		if _t, ok := _e.(*tea.SDKError); ok {
-			error = _t
-		} else {
-			error.Message = tea.String(_e.Error())
+		var e = &tea.SDKError{}
+		var _t *tea.SDKError
+		if errors.As(_e, &_t) {
+			e = _t
 		}
 
 		// 错误消息
-		if error.Message != nil {
-			logger.DebugJSON(moduleName, "错误消息", tea.StringValue(error.Message))
+		if e.Message != nil {
+			logger.DebugJSON(moduleName, "错误消息", tea.StringValue(e.Message))
 		}
 
 		// 诊断地址
 		var data any
-		d := json.NewDecoder(strings.NewReader(tea.StringValue(error.Data)))
-		d.Decode(&data)
+		d := json.NewDecoder(strings.NewReader(tea.StringValue(e.Data)))
+		err := d.Decode(&data)
+		if err != nil {
+			return false
+		}
 		if m, ok := data.(map[string]any); ok {
-			recommend, _ := m["Recommend"]
+			recommend := m["Recommend"]
 			logger.DebugJSON(moduleName, "诊断地址", recommend)
 		}
 
@@ -89,14 +92,14 @@ func createClient() (*dysmsapi20170525.Client, error) {
 		return nil, err
 	}
 
-	config := &openapi.Config{
+	conf := &openapi.Config{
 		Credential:      credentials,
 		Endpoint:        tea.String("dysmsapi.aliyuncs.com"),
 		AccessKeyId:     tea.String(config.GetString("sms.aliyun.access_key_id")),
 		AccessKeySecret: tea.String(config.GetString("sms.aliyun.access_key_secret")),
 	}
 
-	return dysmsapi20170525.NewClient(config)
+	return dysmsapi20170525.NewClient(conf)
 }
 
 func sendSms(client *dysmsapi20170525.Client,