From a5b5335137bca04f2b57afc83b5d9e2a69bd3ce8 Mon Sep 17 00:00:00 2001 From: Dream Hunter Date: Tue, 14 May 2024 13:25:27 +0800 Subject: [PATCH] feat: add about page (#235) --- frontend/src/api/index.js | 1 + frontend/src/store/index.js | 1 + frontend/src/views/Admin.vue | 6 ++++ frontend/src/views/Index.vue | 6 ++++ frontend/src/views/common/About.vue | 47 +++++++++++++++++++++++++++++ worker/src/commom_api.js | 1 + 6 files changed, 62 insertions(+) create mode 100644 frontend/src/views/common/About.vue diff --git a/frontend/src/api/index.js b/frontend/src/api/index.js index cb961ee5..292972f8 100644 --- a/frontend/src/api/index.js +++ b/frontend/src/api/index.js @@ -66,6 +66,7 @@ const getOpenSettings = async (message) => { enableUserCreateEmail: res["enableUserCreateEmail"] || false, enableUserDeleteEmail: res["enableUserDeleteEmail"] || false, enableAutoReply: res["enableAutoReply"] || false, + enableIndexAbout: res["enableIndexAbout"] || false, copyright: res["copyright"] || openSettings.value.copyright, cfTurnstileSiteKey: res["cfTurnstileSiteKey"] || "", }); diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 2902a5b1..ded2d723 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -13,6 +13,7 @@ export const useGlobalState = createGlobalState( enableUserCreateEmail: false, enableUserDeleteEmail: false, enableAutoReply: false, + enableIndexAbout: false, domains: [], copyright: 'Dream Hunter', cfTurnstileSiteKey: '', diff --git a/frontend/src/views/Admin.vue b/frontend/src/views/Admin.vue index ed038889..0d3db940 100644 --- a/frontend/src/views/Admin.vue +++ b/frontend/src/views/Admin.vue @@ -14,6 +14,7 @@ import UserManagement from './admin/UserManagement.vue'; import UserSettings from './admin/UserSettings.vue'; import Mails from './admin/Mails.vue'; import MailsUnknow from './admin/MailsUnknow.vue'; +import About from './common/About.vue'; import Maintenance from './admin/Maintenance.vue'; import Appearance from './common/Appearance.vue'; @@ -48,6 +49,7 @@ const { t } = useI18n({ statistics: 'Statistics', maintenance: 'Maintenance', appearance: 'Appearance', + about: 'About', ok: 'OK', }, zh: { @@ -65,6 +67,7 @@ const { t } = useI18n({ statistics: '统计', maintenance: '维护', appearance: '外观', + about: '关于', ok: '确定', } } @@ -127,6 +130,9 @@ onMounted(async () => { + + + diff --git a/frontend/src/views/Index.vue b/frontend/src/views/Index.vue index 28560b47..553e13d4 100644 --- a/frontend/src/views/Index.vue +++ b/frontend/src/views/Index.vue @@ -10,6 +10,7 @@ import AutoReply from './index/AutoReply.vue'; import SendBox from './index/SendBox.vue'; import SendMail from './index/SendMail.vue'; import AccountSettings from './index/AccountSettings.vue'; +import About from './common/About.vue'; const { localeCache, settings, openSettings, indexTab, globalTabplacement } = useGlobalState() @@ -22,6 +23,7 @@ const { t } = useI18n({ sendmail: 'Send Mail', auto_reply: 'Auto Reply', accountSettings: 'Account Settings', + about: 'About', }, zh: { mailbox: '收件箱', @@ -29,6 +31,7 @@ const { t } = useI18n({ sendmail: '发送邮件', auto_reply: '自动回复', accountSettings: '账户设置', + about: '关于', } } }); @@ -62,6 +65,9 @@ const deleteMail = async (curMailId) => { + + + diff --git a/frontend/src/views/common/About.vue b/frontend/src/views/common/About.vue new file mode 100644 index 00000000..75801650 --- /dev/null +++ b/frontend/src/views/common/About.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/worker/src/commom_api.js b/worker/src/commom_api.js index a394750a..6712ed9a 100644 --- a/worker/src/commom_api.js +++ b/worker/src/commom_api.js @@ -21,6 +21,7 @@ api.get('/open_api/settings', async (c) => { "enableUserCreateEmail": getBooleanValue(c.env.ENABLE_USER_CREATE_EMAIL), "enableUserDeleteEmail": getBooleanValue(c.env.ENABLE_USER_DELETE_EMAIL), "enableAutoReply": getBooleanValue(c.env.ENABLE_AUTO_REPLY), + "enableIndexAbout": getBooleanValue(c.env.ENABLE_INDEX_ABOUT), "copyright": c.env.COPYRIGHT, "cfTurnstileSiteKey": c.env.CF_TURNSTILE_SITE_KEY, "version": CONSTANTS.VERSION,