From 71d90aca59b252c3e4a19c58d34c39c2413960f1 Mon Sep 17 00:00:00 2001 From: ssongliu Date: Fri, 2 Dec 2022 18:52:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=8E=E7=AB=AF=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=9B=BD=E9=99=85=E5=8C=96=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/api/v1/helper/helper.go | 4 + backend/app/service/auth.go | 8 +- backend/app/service/container_compose.go | 15 +- backend/constant/errs.go | 1 + backend/i18n/lang/en.yaml | 3 +- backend/i18n/lang/zh.yaml | 3 +- backend/utils/captcha/captcha.go | 2 +- .../src/components/container-log/index.vue | 2 + .../src/views/container/compose/index.vue | 17 +- .../container/compose/operator/index.vue | 107 +++++----- frontend/src/views/cronjob/index.vue | 3 - .../views/database/mysql/setting/index.vue | 2 +- frontend/src/views/setting/tabs/backup.vue | 192 ++++++++++-------- .../src/views/website/website/nginx/index.vue | 5 +- 14 files changed, 203 insertions(+), 161 deletions(-) diff --git a/backend/app/api/v1/helper/helper.go b/backend/app/api/v1/helper/helper.go index 2d5918723..4257011f0 100644 --- a/backend/app/api/v1/helper/helper.go +++ b/backend/app/api/v1/helper/helper.go @@ -47,6 +47,10 @@ func ErrorWithDetail(ctx *gin.Context, code int, msgKey string, err error) { res.Msg = i18n.GetMsgWithMap("ErrStructTransform", map[string]interface{}{"detail": err}) case errors.Is(constant.ErrCaptchaCode, err): res.Msg = i18n.GetMsgWithMap("ErrCaptchaCode", map[string]interface{}{"detail": err}) + case errors.Is(constant.ErrAuth, err): + res.Msg = i18n.GetMsgWithMap("ErrAuth", map[string]interface{}{"detail": err}) + case errors.Is(constant.ErrInitialPassword, err): + res.Msg = i18n.GetMsgWithMap("ErrInitialPassword", map[string]interface{}{"detail": err}) default: res.Msg = i18n.GetMsgWithMap(msgKey, map[string]interface{}{"detail": err}) } diff --git a/backend/app/service/auth.go b/backend/app/service/auth.go index 3e93237a9..5448220f5 100644 --- a/backend/app/service/auth.go +++ b/backend/app/service/auth.go @@ -58,10 +58,10 @@ func (u *AuthService) Login(c *gin.Context, info dto.Login) (*dto.UserLoginInfo, } pass, err := encrypt.StringDecrypt(passwrodSetting.Value) if err != nil { - return nil, err + return nil, constant.ErrAuth } if info.Password != pass && nameSetting.Value == info.Name { - return nil, errors.New("login failed") + return nil, constant.ErrAuth } mfa, err := settingRepo.Get(settingRepo.WithByKey("MFAStatus")) if err != nil { @@ -89,10 +89,10 @@ func (u *AuthService) MFALogin(c *gin.Context, info dto.MFALogin) (*dto.UserLogi } pass, err := encrypt.StringDecrypt(passwrodSetting.Value) if err != nil { - return nil, err + return nil, constant.ErrAuth } if info.Password != pass && nameSetting.Value == info.Name { - return nil, errors.New("login failed") + return nil, constant.ErrAuth } return u.generateSession(c, info.Name, info.AuthMethod) diff --git a/backend/app/service/container_compose.go b/backend/app/service/container_compose.go index 5d9cb205e..630495c02 100644 --- a/backend/app/service/container_compose.go +++ b/backend/app/service/container_compose.go @@ -124,15 +124,12 @@ func (u *ContainerService) CreateCompose(req dto.ComposeCreate) error { write.Flush() req.Path = path } - go func() { - cmd := exec.Command("docker-compose", "-f", req.Path, "up", "-d") - stdout, err := cmd.CombinedOutput() - if err != nil { - global.LOG.Debugf("docker-compose up %s failed, err: %v", req.Name, err) - return - } - global.LOG.Debugf("docker-compose up %s successful, logs: %v", req.Name, string(stdout)) - }() + cmd := exec.Command("docker-compose", "-f", req.Path, "up", "-d") + stdout, err := cmd.CombinedOutput() + if err != nil { + return err + } + global.LOG.Debugf("docker-compose up %s successful, logs: %v", req.Name, string(stdout)) return nil } diff --git a/backend/constant/errs.go b/backend/constant/errs.go index 56bab0040..b1b772d3e 100644 --- a/backend/constant/errs.go +++ b/backend/constant/errs.go @@ -19,6 +19,7 @@ const ( // internal var ( ErrCaptchaCode = errors.New("ErrCaptchaCode") + ErrAuth = errors.New("ErrAuth") ErrRecordExist = errors.New("ErrRecordExist") ErrRecordNotFound = errors.New("ErrRecordNotFound") ErrStructTransform = errors.New("ErrStructTransform") diff --git a/backend/i18n/lang/en.yaml b/backend/i18n/lang/en.yaml index cb6ff858a..8414e2759 100644 --- a/backend/i18n/lang/en.yaml +++ b/backend/i18n/lang/en.yaml @@ -2,8 +2,9 @@ ErrInvalidParams: "Request parameter error: {{ .detail }}" ErrToken: "Token information is incorrect.: {{ .detail }}" ErrTokenParse: "Token generation error: {{ .detail }}" ErrTokenTimeOut: "Login information is out of date: {{ .detail }}" +ErrAuth: "Login information is incorrect." ErrCaptchaCode: "The verification code information is incorrect" -ErrInitialPassword: "Initial password error: {{ .detail }}" +ErrInitialPassword: "Initial password error" ErrInternalServer: "Service internal error: {{ .detail }}" ErrRecordExist: "Record already exists: {{ .detail }}" ErrRecordNotFound: "Records not found: {{ .detail }}" diff --git a/backend/i18n/lang/zh.yaml b/backend/i18n/lang/zh.yaml index 29be89cf2..8c19dca02 100644 --- a/backend/i18n/lang/zh.yaml +++ b/backend/i18n/lang/zh.yaml @@ -2,8 +2,9 @@ ErrInvalidParams: "请求参数错误: {{ .detail }}" ErrToken: "Token 信息错误: {{ .detail }}" ErrTokenParse: "Token 生成错误: {{ .detail }}" ErrTokenTimeOut: "登陆信息已过期: {{ .detail }}" +ErrAuth: "登录信息错误" ErrCaptchaCode: "错误的验证码信息" -ErrInitialPassword: "初始密码错误: {{ .detail }}" +ErrInitialPassword: "原密码错误" ErrInternalServer: "服务内部错误: {{ .detail }}" ErrRecordExist: "记录已存在: {{ .detail }}" ErrRecordNotFound: "记录未能找到: {{ .detail }}" diff --git a/backend/utils/captcha/captcha.go b/backend/utils/captcha/captcha.go index 84197d72f..28ac10f64 100644 --- a/backend/utils/captcha/captcha.go +++ b/backend/utils/captcha/captcha.go @@ -26,7 +26,7 @@ func VerifyCode(codeID string, code string) error { func CreateCaptcha() (*dto.CaptchaResponse, error) { var driverString base64Captcha.DriverString - driverString.Source = "1234567890QWERTYUPLKJHGFDSAZXCVBNMqwertyuplkjhgfdsazxcvbnm" + driverString.Source = "1234567890QWERTYUPLKJHGFDSAZXCVBNMqwertyupkjhgfdsazxcvbnm" driverString.Width = 120 driverString.Height = 50 driverString.NoiseCount = 0 diff --git a/frontend/src/components/container-log/index.vue b/frontend/src/components/container-log/index.vue index 57abd676c..01a1f0b37 100644 --- a/frontend/src/components/container-log/index.vue +++ b/frontend/src/components/container-log/index.vue @@ -89,6 +89,7 @@ const onDownload = async () => { }; interface DialogProps { + container: string; containerID: string; } @@ -96,6 +97,7 @@ const acceptParams = (props: DialogProps): void => { logSearch.containerID = props.containerID; logSearch.mode = 'all'; logSearch.isWatch = false; + logSearch.container = props.container; searchLogs(); timer = setInterval(() => { if (logSearch.isWatch) { diff --git a/frontend/src/views/container/compose/index.vue b/frontend/src/views/container/compose/index.vue index 9b2cd4862..974039522 100644 --- a/frontend/src/views/container/compose/index.vue +++ b/frontend/src/views/container/compose/index.vue @@ -1,5 +1,5 @@ - - - - - - - {{ $t('container.edit') }} - {{ $t('container.pathSelect') }} - {{ $t('container.composeTemplate') }} - - - - - - - - - - - - - - - - +
+ + + + + + + {{ $t('container.edit') }} + {{ $t('container.pathSelect') }} + {{ $t('container.composeTemplate') }} + + + + + + + + + + + + + + + + +