fix 验证码配置,代码生成文件名修复

This commit is contained in:
yxh 2024-02-19 10:10:51 +08:00
parent 23b1391e7d
commit e75c7a55ff
6 changed files with 38 additions and 25 deletions

View File

@ -26,9 +26,10 @@ type CheckCaptchaV2Req struct {
} }
type CaptchaRes struct { type CaptchaRes struct {
g.Meta `mime:"application/json"` g.Meta `mime:"application/json"`
Key string `json:"key"` Key string `json:"key"`
Img string `json:"img"` Img string `json:"img"`
VerifyStatus int `json:"verifyStatus"`
} }
type CaptchaV2Res struct { type CaptchaV2Res struct {

View File

@ -17,7 +17,7 @@ type UserLoginReq struct {
g.Meta `path:"/login" tags:"登录" method:"post" summary:"用户登录"` g.Meta `path:"/login" tags:"登录" method:"post" summary:"用户登录"`
Username string `p:"username" v:"required#用户名不能为空"` Username string `p:"username" v:"required#用户名不能为空"`
Password string `p:"password" v:"required#密码不能为空"` Password string `p:"password" v:"required#密码不能为空"`
VerifyCode string `p:"verifyCode" v:"required#验证码不能为空"` VerifyCode string `p:"verifyCode"`
VerifyKey string `p:"verifyKey"` VerifyKey string `p:"verifyKey"`
} }

1
go.sum
View File

@ -14,6 +14,7 @@ github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible h1:6JF1bjhT0WN2srEmijfOF
github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8=
github.com/apache/rocketmq-client-go/v2 v2.1.1 h1:WY/LkOYSQaVyV+HOqdiIgF4LE3beZ/jwdSLKZlzpabw= github.com/apache/rocketmq-client-go/v2 v2.1.1 h1:WY/LkOYSQaVyV+HOqdiIgF4LE3beZ/jwdSLKZlzpabw=
github.com/apache/rocketmq-client-go/v2 v2.1.1/go.mod h1:GZzExtXY9zpI6FfiVJYAhw2IXQtgnHUuWpULo7nr5lw= github.com/apache/rocketmq-client-go/v2 v2.1.1/go.mod h1:GZzExtXY9zpI6FfiVJYAhw2IXQtgnHUuWpULo7nr5lw=
github.com/asaskevich/EventBus v0.0.0-20200907212545-49d423059eef h1:2JGTg6JapxP9/R33ZaagQtAM4EkkSYnIAlOG5EI8gkM=
github.com/asaskevich/EventBus v0.0.0-20200907212545-49d423059eef/go.mod h1:JS7hed4L1fj0hXcyEejnW57/7LCetXggd+vwrRnYeII= github.com/asaskevich/EventBus v0.0.0-20200907212545-49d423059eef/go.mod h1:JS7hed4L1fj0hXcyEejnW57/7LCetXggd+vwrRnYeII=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=

View File

@ -10,6 +10,7 @@ package controller
import ( import (
"context" "context"
"errors" "errors"
"github.com/gogf/gf/v2/frame/g"
"github.com/tiger1103/gfast/v3/api/v1/common" "github.com/tiger1103/gfast/v3/api/v1/common"
"github.com/tiger1103/gfast/v3/internal/app/common/service" "github.com/tiger1103/gfast/v3/internal/app/common/service"
"time" "time"
@ -24,8 +25,9 @@ type captchaController struct {
func (c *captchaController) Get(ctx context.Context, req *common.CaptchaReq) (res *common.CaptchaRes, err error) { func (c *captchaController) Get(ctx context.Context, req *common.CaptchaReq) (res *common.CaptchaRes, err error) {
idKeyC, base64stringC, err := service.Captcha().GetVerifyImgString(ctx) idKeyC, base64stringC, err := service.Captcha().GetVerifyImgString(ctx)
res = &common.CaptchaRes{ res = &common.CaptchaRes{
Key: idKeyC, Key: idKeyC,
Img: base64stringC, Img: base64stringC,
VerifyStatus: g.Cfg().MustGet(ctx, "system.verifyStatus").Int(),
} }
return return
} }

View File

@ -13,8 +13,8 @@ import (
"github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gctx" "github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/text/gstr"
"github.com/gogf/gf/v2/util/gconv" "github.com/gogf/gf/v2/util/gconv"
"github.com/gogf/gf/v2/util/gmode"
"github.com/tiger1103/gfast/v3/api/v1/system" "github.com/tiger1103/gfast/v3/api/v1/system"
commonService "github.com/tiger1103/gfast/v3/internal/app/common/service" commonService "github.com/tiger1103/gfast/v3/internal/app/common/service"
"github.com/tiger1103/gfast/v3/internal/app/system/model" "github.com/tiger1103/gfast/v3/internal/app/system/model"
@ -38,20 +38,29 @@ func (c *loginController) Login(ctx context.Context, req *system.UserLoginReq) (
menuList []*model.UserMenus menuList []*model.UserMenus
) )
//判断验证码是否正确 //判断验证码是否正确
debug := gmode.IsDevelop() verifyStatus := g.Cfg().MustGet(ctx, "system.verifyStatus").Int()
if !debug { if verifyStatus == 1 {
// 验证码v1版 // 验证码v1版
//if !commonService.Captcha().VerifyString(req.VerifyKey, req.VerifyCode) { if gstr.Trim(req.VerifyCode) == "" {
// err = gerror.New("验证码输入错误") err = gerror.New("验证码输入错误")
// return return
//} }
if !commonService.Captcha().VerifyString(req.VerifyKey, req.VerifyCode) {
err = gerror.New("验证码输入错误")
return
}
} else if verifyStatus == 2 {
// 验证码v2版 // 验证码v2版
if gstr.Trim(req.VerifyCode) == "" {
err = gerror.New("人机交互验证失败")
return
}
err = commonService.Captcha().CheckCaptchaV2(ctx, req.VerifyKey, req.VerifyCode, true) err = commonService.Captcha().CheckCaptchaV2(ctx, req.VerifyKey, req.VerifyCode, true)
if err != nil { if err != nil {
return return
} }
} }
ip := libUtils.GetClientIp(ctx) ip := libUtils.GetClientIp(ctx)
userAgent := libUtils.GetUserAgent(ctx) userAgent := libUtils.GetUserAgent(ctx)
user, err = service.SysUser().GetAdminUserByUsernamePassword(ctx, req) user, err = service.SysUser().GetAdminUserByUsernamePassword(ctx, req)

View File

@ -1087,35 +1087,35 @@ func (s *sToolsGenTable) GenCode(ctx context.Context, ids []int) (err error) {
for key, code := range genData { for key, code := range genData {
switch key { switch key {
case "api": case "api":
path := strings.Join([]string{curDir, "/", apiName, "/", modulePath, "/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", apiName, "/", modulePath, "/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "controller": case "controller":
path := strings.Join([]string{curDir, "/", packageName, "/controller/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/controller/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "dao": case "dao":
path := strings.Join([]string{curDir, "/", packageName, "/dao/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/dao/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "dao_internal": case "dao_internal":
path := strings.Join([]string{curDir, "/", packageName, "/dao/internal/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/dao/internal/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "logic": case "logic":
path := strings.Join([]string{curDir, "/", packageName, "/logic/", businessName, "/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/logic/", businessName, "/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "model": case "model":
path := strings.Join([]string{curDir, "/", packageName, "/model/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/model/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "model_do": case "model_do":
path := strings.Join([]string{curDir, "/", packageName, "/model/do/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/model/do/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "model_entity": case "model_entity":
path := strings.Join([]string{curDir, "/", packageName, "/model/entity/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/model/entity/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "router": case "router":
@ -1125,15 +1125,15 @@ func (s *sToolsGenTable) GenCode(ctx context.Context, ids []int) (err error) {
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
} }
case "router_func": case "router_func":
path := strings.Join([]string{curDir, "/", packageName, "/router/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/router/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "service": case "service":
path := strings.Join([]string{curDir, "/", packageName, "/service/", extendData.TableName, ".go"}, "") path := strings.Join([]string{curDir, "/", packageName, "/service/", extendData.BusinessName, ".go"}, "")
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)
case "sql": case "sql":
path := strings.Join([]string{curDir, "/resource/data/gen_sql/", modulePath, "/", extendData.TableName, ".sql"}, "") path := strings.Join([]string{curDir, "/resource/data/gen_sql/", modulePath, "/", extendData.BusinessName, ".sql"}, "")
hasSql := gfile.Exists(path) hasSql := gfile.Exists(path)
err = s.createFile(path, code, extendData.Overwrite) err = s.createFile(path, code, extendData.Overwrite)
liberr.ErrIsNil(ctx, err) liberr.ErrIsNil(ctx, err)