4 Commits

Author SHA1 Message Date
127c57dc3a refactor: rename timeout ctx 2025-07-15 11:43:15 +08:00
d6b0b8ea36 fix: api opt setting 2025-07-15 11:18:54 +08:00
23d7841ccf feat: 添加提示语 2025-07-15 10:45:05 +08:00
247490c35d fix: resp 多参数问题 2025-07-14 11:16:34 +08:00
6 changed files with 61 additions and 29 deletions

View File

@ -23,7 +23,7 @@ type option struct {
func WithName(name string) Option {
return func(o *option) {
if name == "" {
if name != "" {
o.name = name
}
}
@ -31,7 +31,7 @@ func WithName(name string) Option {
func WithVersion(version string) Option {
return func(o *option) {
if version == "" {
if version != "" {
o.version = version
}
}
@ -39,7 +39,7 @@ func WithVersion(version string) Option {
func WithAddress(address string) Option {
return func(o *option) {
if address == "" {
if address != "" {
o.address = address
}
}

View File

@ -45,7 +45,7 @@ func New(opts ...OptionFn) (Cache, error) {
Password: password,
})
if err = client.Ping(tool.CtxTimeout(cfg.ctx, 5)).Err(); err != nil {
if err = client.Ping(tool.TimeoutCtx(cfg.ctx, 5)).Err(); err != nil {
return nil, err
}

View File

@ -1,15 +1,16 @@
package resp
const (
Msg200 = "操作成功"
Msg400 = "参数错误"
Msg401 = "该账号登录已失效, 请重新登录"
Msg401NoMulti = "用户已在其他地方登录"
Msg403 = "权限不足"
Msg404 = "资源不存在"
Msg500 = "服务器开小差了"
Msg501 = "服务不可用"
Msg503 = "服务不可用或正在升级, 请联系管理员"
Msg200 = "操作成功"
Msg400 = "参数错误"
Msg401 = "该账号登录已失效, 请重新登录"
Msg401NoMulti = "用户已在其他地方登录"
Msg401Inactive = "当前用户尚未生效, 请稍后再试"
Msg403 = "权限不足"
Msg404 = "资源不存在"
Msg500 = "服务器开小差了"
Msg501 = "服务不可用"
Msg503 = "服务不可用或正在升级, 请联系管理员"
)
func Msg(status int) string {

View File

@ -43,23 +43,45 @@ func RE(c *gin.Context, err error) {
func _r(c *gin.Context, r *res, args ...any) {
length := len(args)
switch length {
case 0:
break
case 1:
if msg, ok := args[0].(string); ok {
r.Msg = msg
}
case 2:
r.Data = args[1]
case 3:
r.Err = args[2]
case 4:
if code, err := cast.ToIntE(args[3]); err == nil {
r.Code = code
}
if length == 0 {
goto END
}
if length >= 4 {
goto H4
}
if length >= 3 {
goto H3
}
if length >= 2 {
goto H2
}
if length >= 1 {
goto H1
}
H4:
if code, err := cast.ToIntE(args[3]); err == nil {
r.Code = code
}
H3:
if es, ok := args[2].(error); ok {
r.Err = es.Error()
} else {
r.Err = args[2]
}
H2:
r.Data = args[1]
H1:
if msg, ok := args[0].(string); ok {
r.Msg = msg
}
END:
if r.Msg == "" {
r.Msg = Msg(r.Status)
}

9
resp/resp_test.go Normal file
View File

@ -0,0 +1,9 @@
package resp
import (
"testing"
)
func TestResp(t *testing.T) {
}

View File

@ -23,7 +23,7 @@ func Timeout(seconds ...int) (ctx context.Context) {
return
}
func CtxTimeout(ctx context.Context, seconds ...int) context.Context {
func TimeoutCtx(ctx context.Context, seconds ...int) context.Context {
var (
duration time.Duration
)