From e45f43da9a3a003186b61500333b7a15006fe4e5 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Mon, 3 Jun 2024 15:41:35 +0800 Subject: [PATCH] =?UTF-8?q?pref:=20=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E9=A1=B5=E7=A1=AE=E8=AE=A4=E6=A1=86=E6=A0=B7=E5=BC=8F=20(#5259?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/service/ftp.go | 10 +++++ frontend/src/lang/modules/en.ts | 6 +++ frontend/src/lang/modules/tw.ts | 6 +++ frontend/src/lang/modules/zh.ts | 6 +++ .../src/views/login/components/login-form.vue | 40 ++++++++++++++++--- frontend/src/views/setting/panel/index.vue | 2 +- 6 files changed, 63 insertions(+), 7 deletions(-) diff --git a/backend/app/service/ftp.go b/backend/app/service/ftp.go index c41f1065f..6a02dc504 100644 --- a/backend/app/service/ftp.go +++ b/backend/app/service/ftp.go @@ -178,6 +178,16 @@ func (f *FtpService) Delete(req dto.BatchDeleteReq) error { } func (f *FtpService) Update(req dto.FtpUpdate) error { + if _, err := os.Stat(req.Path); err != nil { + if os.IsNotExist(err) { + if err := os.MkdirAll(req.Path, os.ModePerm); err != nil { + return err + } + } else { + return err + } + } + pass, err := encrypt.StringEncrypt(req.Password) if err != nil { return err diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index d92a170a4..53034ba67 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -60,6 +60,8 @@ const message = { update: 'Edit', showAll: 'Show All', hideSome: 'Hide Some', + agree: 'Agree', + notAgree: 'Not Agree', }, search: { timeStart: 'Time start', @@ -159,6 +161,9 @@ const message = { 'Agree « Community License Agreement »', errorAgree: 'Please click to agree to the Community Software License Agreement', logout: 'Logout', + agreeTitle: 'Agreement', + agreeContent: + 'In order to better protect your legitimate rights and interests, please read and agree to the following agreement « fly to cloud community software license agreement »', }, rule: { username: 'Please enter a username', @@ -1262,6 +1267,7 @@ const message = { theme: 'Theme', menuTabs: 'Menu tabs', dark: 'Dark', + darkGold: 'Dark Gold', light: 'Light', auto: 'Follow System', language: 'Language', diff --git a/frontend/src/lang/modules/tw.ts b/frontend/src/lang/modules/tw.ts index 75b67587d..7cdd3f84f 100644 --- a/frontend/src/lang/modules/tw.ts +++ b/frontend/src/lang/modules/tw.ts @@ -60,6 +60,8 @@ const message = { update: '編輯', showAll: '顯示所有', hideSome: '隱藏部分', + agree: '同意', + notAgree: '不同意', }, search: { timeStart: '開始時間', @@ -159,6 +161,9 @@ const message = { licenseHelper: '同意 « 飛致雲社區軟件許可協議 »', errorAgree: '請點擊同意社區軟件許可協議', + agreeTitle: '服務協議及隱私保護', + agreeContent: + '為了更好的保障您的合法權益,請您閱讀並同意以下協議 « 飛致雲社區軟件許可協議 »', logout: '退出登錄', }, rule: { @@ -1197,6 +1202,7 @@ const message = { menuTabs: '菜單標簽頁', componentSize: '組件大小', dark: '暗色', + darkGold: '黑金', light: '亮色', auto: '跟隨系統', language: '系統語言', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 6b7754778..722614e78 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -60,6 +60,8 @@ const message = { update: '编辑', showAll: '显示所有', hideSome: '隐藏部分', + agree: '同意', + notAgree: '不同意', }, search: { timeStart: '开始时间', @@ -159,6 +161,9 @@ const message = { licenseHelper: '同意 « 飞致云社区软件许可协议 »', errorAgree: '请点击同意社区软件许可协议', + agreeTitle: '服务协议及隐私保护', + agreeContent: + '为了更好的保障您的合法权益,请您阅读并同意以下协议 « 飞致云社区软件许可协议 »', logout: '退出登录', }, rule: { @@ -1198,6 +1203,7 @@ const message = { menuTabs: '菜单标签页', componentSize: '组件大小', dark: '暗色', + darkGold: '黑金', light: '亮色', auto: '跟随系统', language: '系统语言', diff --git a/frontend/src/views/login/components/login-form.vue b/frontend/src/views/login/components/login-form.vue index 3860294f2..30651a7f2 100644 --- a/frontend/src/views/login/components/login-form.vue +++ b/frontend/src/views/login/components/login-form.vue @@ -127,7 +127,7 @@ @@ -142,6 +142,26 @@ + + + + {{ $t('commons.login.agreeTitle') }} + + +
+ +
+ +
@@ -166,7 +186,7 @@ const errAuthInfo = ref(false); const errCaptcha = ref(false); const errMfaInfo = ref(false); const isDemo = ref(false); -const errAgree = ref(false); +const agreeVisible = ref(false); type FormInstance = InstanceType; @@ -222,10 +242,22 @@ function handleCommand(command: string) { } } +const agreeWithLogin = () => { + agreeVisible.value = false; + loginForm.agreeLicense = true; + login(loginFormRef.value); +}; + const login = (formEl: FormInstance | undefined) => { if (!formEl || isLoggingIn) return; formEl.validate(async (valid) => { if (!valid) return; + if (!loginForm.agreeLicense) { + if (globalStore.isMobile()) { + agreeVisible.value = true; + } + return; + } let requestLoginForm = { name: loginForm.name, password: loginForm.password, @@ -239,10 +271,6 @@ const login = (formEl: FormInstance | undefined) => { errCaptcha.value = true; return; } - if (loginForm.agreeLicense == false) { - errAgree.value = true; - return; - } try { isLoggingIn = true; loading.value = true; diff --git a/frontend/src/views/setting/panel/index.vue b/frontend/src/views/setting/panel/index.vue index 3849e312a..4dca3ee1d 100644 --- a/frontend/src/views/setting/panel/index.vue +++ b/frontend/src/views/setting/panel/index.vue @@ -29,7 +29,7 @@ - {{ $t('xpack.setting.darkGold') }} + {{ $t('setting.darkGold') }} {{ $t('setting.light') }}