diff --git a/mail-vue/src/App.vue b/mail-vue/src/App.vue
index 424d1c6..6909942 100644
--- a/mail-vue/src/App.vue
+++ b/mail-vue/src/App.vue
@@ -9,6 +9,7 @@ import { watch } from "vue";
import {useSettingStore} from "@/store/setting.js";
const settingStore = useSettingStore()
import zhCn from 'element-plus/es/locale/lang/zh-cn';
+import('@/icons/index.js')
const { locale } = useI18n()
locale.value = settingStore.lang
watch(() => settingStore.lang, () => locale.value = settingStore.lang)
diff --git a/mail-vue/src/assets/fonts/HarmonyOS_Sans_SC_Regular.woff2 b/mail-vue/src/assets/fonts/HarmonyOS_Sans_SC_Regular.woff2
deleted file mode 100644
index e8b9bc7..0000000
Binary files a/mail-vue/src/assets/fonts/HarmonyOS_Sans_SC_Regular.woff2 and /dev/null differ
diff --git a/mail-vue/src/axios/index.js b/mail-vue/src/axios/index.js
index eb6b7f9..5c18c3b 100644
--- a/mail-vue/src/axios/index.js
+++ b/mail-vue/src/axios/index.js
@@ -66,9 +66,7 @@ http.interceptors.response.use((res) => {
})
reject(data)
}
- setTimeout(() => {
- resolve(data.data)
- },0)
+ resolve(data.data)
})
},
(error) => {
diff --git a/mail-vue/src/components/email-scroll/index.vue b/mail-vue/src/components/email-scroll/index.vue
index 464d714..acaa455 100644
--- a/mail-vue/src/components/email-scroll/index.vue
+++ b/mail-vue/src/components/email-scroll/index.vue
@@ -720,6 +720,12 @@ function loadData() {
display: grid;
gap: 5px;
grid-template-columns: auto 1fr;
+
+ > span:last-child {
+ display: flex;
+ align-items: center;
+ }
+
@media (min-width: 1366px) {
grid-template-columns: 1fr;
> span:last-child {
diff --git a/mail-vue/src/components/shadow-html/index.vue b/mail-vue/src/components/shadow-html/index.vue
index b7e1030..9a26a65 100644
--- a/mail-vue/src/components/shadow-html/index.vue
+++ b/mail-vue/src/components/shadow-html/index.vue
@@ -18,19 +18,6 @@ const container = ref(null)
const contentBox = ref(null)
let shadowRoot = null
-// 确保字体在 Shadow DOM 中可用
-function loadFontInShadow() {
- const style = document.createElement('style')
- style.textContent = `
- @font-face {
- font-family: 'HarmonyOS';
- src: url('@/assets/fonts/HarmonyOS_Sans_SC_Regular.woff2') format('woff2');
- font-display: swap;
- }
- `
- document.head.appendChild(style)
-}
-
function updateContent() {
if (!shadowRoot) return;
@@ -101,7 +88,6 @@ function autoScale() {
}
onMounted(() => {
- loadFontInShadow() // 预加载字体
shadowRoot = container.value.attachShadow({ mode: 'open' })
updateContent()
autoScale()
@@ -118,12 +104,11 @@ watch(() => props.html, () => {
width: 100%;
height: 100%;
overflow: hidden;
- font-family: 'HarmonyOS', -apple-system, BlinkMacSystemFont,
- 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
+ font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}
.content-html {
width: 100%;
height: 100%;
}
-
\ No newline at end of file
+
diff --git a/mail-vue/src/components/tiny-editor/index.vue b/mail-vue/src/components/tiny-editor/index.vue
index aa06f23..5c384c3 100644
--- a/mail-vue/src/components/tiny-editor/index.vue
+++ b/mail-vue/src/components/tiny-editor/index.vue
@@ -106,9 +106,6 @@ function initEditor() {
plugins: 'link image advlist lists emoticons fullscreen table preview code',
toolbar: 'bold emoticons forecolor backcolor italic fontsize | alignleft aligncenter alignright alignjustify | outdent indent | bullist numlist | link image | table code preview fullscreen',
toolbar_mode: 'scrolling',
- mobile: {
- toolbar: 'fullscreen bold emoticons forecolor backcolor italic fontsize | alignleft aligncenter alignright alignjustify | outdent indent | bullist numlist | link image | table code preview ',
- },
font_size_formats: '8px 10px 12px 14px 16px 18px 24px 36px',
emoticons_search: false,
language: language.value,
diff --git a/mail-vue/src/i18n/en.js b/mail-vue/src/i18n/en.js
index f7c0d12..cb465aa 100644
--- a/mail-vue/src/i18n/en.js
+++ b/mail-vue/src/i18n/en.js
@@ -251,7 +251,7 @@ const en = {
supportDesc: 'Buy me tea',
featDesc: 'Feature Description',
emailInterception: 'Email Interception',
- emailInterceptionDesc: 'Enter a domain or email address to prevent users from receiving emails from certain websites.',
+ emailInterceptionDesc: 'Enter a domain or email address to prevent users from receiving emails from certain websites (Enter * to block all).',
availableDomains: 'Available Domains',
availableDomainsDesc: 'Restrict users to email domains specified. Domains not on the approved list will be blocked from registration, adding email addresses, and sending/receiving emails. If left blank, all domains will be allowed by default.',
backgroundUrlDesc: 'Image URL',
diff --git a/mail-vue/src/i18n/zh.js b/mail-vue/src/i18n/zh.js
index 5781f07..734c7d6 100644
--- a/mail-vue/src/i18n/zh.js
+++ b/mail-vue/src/i18n/zh.js
@@ -251,7 +251,7 @@ const zh = {
supportDesc: '请我喝杯奶茶',
featDesc: '功能说明',
emailInterception: '邮件拦截',
- emailInterceptionDesc: '输入邮箱或域名拦截邮件,可用于禁止用户接收某些网站的邮件',
+ emailInterceptionDesc: '输入邮箱或域名拦截邮件,可用于禁止用户接收某些网站的邮件,输入*拦截所有',
availableDomains: '可用域名',
availableDomainsDesc: '限制用户只能使用指定的域名邮箱,不在配置名单内的域名会被禁止使用注册添加邮箱,接收发送邮件等功能,留空默认允许可用所有域名',
backgroundUrlDesc: '在线图片链接',
diff --git a/mail-vue/src/icons/index.js b/mail-vue/src/icons/index.js
new file mode 100644
index 0000000..04486e9
--- /dev/null
+++ b/mail-vue/src/icons/index.js
@@ -0,0 +1,612 @@
+import {addCollection} from "@iconify/vue";
+addCollection({
+ "prefix": "hugeicons",
+ "lastModified": 1757879391,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "mailbox-01": {
+ "body": ""
+ },
+ "quill-write-01": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "cil",
+ "lastModified": 1721920996,
+ "aliases": {},
+ "width": 512,
+ "height": 512,
+ "icons": {
+ "send": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "ep",
+ "lastModified": 1754542231,
+ "aliases": {},
+ "width": 1024,
+ "height": 1024,
+ "icons": {
+ "document": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "solar",
+ "lastModified": 1754901129,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "star-line-duotone": {
+ "body": ""
+ },
+ "moon-linear": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "fluent",
+ "lastModified": 1758086349,
+ "aliases": {},
+ "width": 20,
+ "height": 20,
+ "icons": {
+ "data-pie-20-regular": {
+ "body": ""
+ },
+ "fingerprint-20-filled": {
+ "body": ""
+ },
+ "lock-closed-16-regular": {
+ "body": "",
+ "width": 16,
+ "height": 16
+ },
+ "mail-list-28-regular": {
+ "body": "",
+ "width": 28,
+ "height": 28
+ },
+ "settings-48-regular": {
+ "body": "",
+ "width": 48,
+ "height": 48
+ },
+ "broom-sparkle-16-regular": {
+ "body": "",
+ "width": 16,
+ "height": 16
+ },
+ "settings-24-filled": {
+ "body": "",
+ "width": 24,
+ "height": 24
+ }
+ }
+})
+addCollection({
+ "prefix": "si",
+ "lastModified": 1758603955,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "user-alt-2-line": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "eos-icons",
+ "lastModified": 1754898926,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "system-ok-outlined": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "mingcute",
+ "lastModified": 1754900188,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "down-small-fill": {
+ "body": ""
+ },
+ "sun-fill": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "streamline-plump",
+ "lastModified": 1748851497,
+ "aliases": {},
+ "width": 48,
+ "height": 48,
+ "icons": {
+ "announcement-megaphone": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "ion",
+ "lastModified": 1754899739,
+ "aliases": {},
+ "width": 512,
+ "height": 512,
+ "icons": {
+ "add-outline": {
+ "body": ""
+ },
+ "reload": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "material-symbols-light",
+ "lastModified": 1758603830,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "close-rounded": {
+ "body": ""
+ },
+ "timer-arrow-down-outline": {
+ "body": ""
+ },
+ "arrow-back-ios-new": {
+ "body": ""
+ },
+ "timer-arrow-up-outline": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "akar-icons",
+ "lastModified": 1754898562,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "dot-grid-fill": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "iconamoon",
+ "lastModified": 1722794093,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "attachment-fill": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "icon-park-outline",
+ "lastModified": 1754899616,
+ "aliases": {},
+ "width": 48,
+ "height": 48,
+ "icons": {
+ "clear-format": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "eva",
+ "lastModified": 1754898939,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "email-fill": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "fluent-color",
+ "lastModified": 1754899131,
+ "aliases": {},
+ "width": 20,
+ "height": 20,
+ "icons": {
+ "clipboard-24": {
+ "body": "",
+ "width": 24,
+ "height": 24
+ },
+ "star-16": {
+ "body": "",
+ "width": 16,
+ "height": 16
+ },
+ "document-32": {
+ "body": "",
+ "width": 32,
+ "height": 32
+ }
+ }
+})
+addCollection({
+ "prefix": "bi",
+ "lastModified": 1754898645,
+ "aliases": {},
+ "icons": {
+ "send-arrow-up-fill": {
+ "body": ""
+ },
+ "send-check-fill": {
+ "body": ""
+ },
+ "send-exclamation-fill": {
+ "body": ""
+ },
+ "send-x-fill": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "lets-icons",
+ "lastModified": 1722794599,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "e-mail": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "iconoir",
+ "lastModified": 1754899722,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "user": {
+ "body": ""
+ },
+ "search": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "uiw",
+ "lastModified": 1754901533,
+ "aliases": {},
+ "width": 20,
+ "height": 20,
+ "icons": {
+ "delete": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "la",
+ "lastModified": 1722794143,
+ "aliases": {},
+ "width": 32,
+ "height": 32,
+ "icons": {
+ "reply": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "mynaui",
+ "lastModified": 1754900207,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "user": {
+ "body": ""
+ },
+ "click-solid": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "mdi-light",
+ "lastModified": 1722795143,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "email": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "mdi",
+ "lastModified": 1737398331,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "email-remove": {
+ "body": ""
+ },
+ "email-outline": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "fe",
+ "lastModified": 1754899017,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "warning": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "lsicon",
+ "lastModified": 1754899856,
+ "aliases": {},
+ "icons": {
+ "edit-outline": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "material-symbols",
+ "lastModified": 1758603930,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "add-rounded": {
+ "body": ""
+ },
+ "delete-outline-rounded": {
+ "body": ""
+ },
+ "edit-outline-sharp": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "ic",
+ "lastModified": 1754899579,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "round-list": {
+ "body": ""
+ },
+ "round-mark-email-read": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "qlementine-icons",
+ "lastModified": 1754900552,
+ "aliases": {},
+ "icons": {
+ "version-control-16": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "codicon",
+ "lastModified": 1757879148,
+ "aliases": {},
+ "icons": {
+ "github-inverted": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "logos",
+ "lastModified": 1754899799,
+ "aliases": {},
+ "width": 256,
+ "height": 256,
+ "icons": {
+ "telegram": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "simple-icons",
+ "lastModified": 1758603977,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "buymeacoffee": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "ph",
+ "lastModified": 1714973607,
+ "aliases": {},
+ "width": 256,
+ "height": 256,
+ "icons": {
+ "image": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "pepicons-pencil",
+ "lastModified": 1754900451,
+ "aliases": {},
+ "width": 26,
+ "height": 26,
+ "icons": {
+ "expand": {
+ "body": "",
+ "width": 20,
+ "height": 20
+ }
+ }
+})
+addCollection({
+ "prefix": "fluent-color",
+ "lastModified": 1754899131,
+ "aliases": {},
+ "width": 20,
+ "height": 20,
+ "icons": {
+ "image-24": {
+ "body": "",
+ "width": 24,
+ "height": 24
+ }
+ }
+})
+addCollection({
+ "prefix": "mdi",
+ "lastModified": 1737398331,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "zip-box": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "lineicons",
+ "lastModified": 1754899780,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "apple-music": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "solar",
+ "lastModified": 1754901129,
+ "aliases": {},
+ "width": 24,
+ "height": 24,
+ "icons": {
+ "paperclip-rounded-2-bold": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "fluent-color",
+ "lastModified": 1754899131,
+ "aliases": {},
+ "width": 20,
+ "height": 20,
+ "icons": {
+ "document-48": {
+ "body": "",
+ "width": 48,
+ "height": 48
+ }
+ }
+})
+addCollection({
+ "prefix": "vscode-icons",
+ "lastModified": 1756099999,
+ "aliases": {},
+ "width": 32,
+ "height": 32,
+ "icons": {
+ "file-type-powerpoint": {
+ "body": ""
+ },
+ "file-type-word": {
+ "body": ""
+ },
+ "file-type-excel": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "material-icon-theme",
+ "lastModified": 1757879437,
+ "aliases": {},
+ "width": 32,
+ "height": 32,
+ "icons": {
+ "pdf": {
+ "body": "",
+ "width": 24,
+ "height": 24
+ }
+ }
+})
+addCollection({
+ "prefix": "fluent",
+ "lastModified": 1758086349,
+ "aliases": {},
+ "width": 20,
+ "height": 20,
+ "icons": {
+ "video-clip-20-filled": {
+ "body": ""
+ }
+ }
+})
+addCollection({
+ "prefix": "system-uicons",
+ "lastModified": 1754901428,
+ "aliases": {},
+ "width": 21,
+ "height": 21,
+ "icons": {
+ "push-down": {
+ "body": ""
+ }
+ }
+})
+
diff --git a/mail-vue/src/init/init.js b/mail-vue/src/init/init.js
index 3ef5117..3d0bc10 100644
--- a/mail-vue/src/init/init.js
+++ b/mail-vue/src/init/init.js
@@ -5,7 +5,6 @@ import {loginUserInfo} from "@/request/my.js";
import {permsToRouter} from "@/perm/perm.js";
import router from "@/router";
import {websiteConfig} from "@/request/setting.js";
-import {cvtR2Url} from "@/utils/convert.js";
import i18n from "@/i18n/index.js";
export async function init() {
diff --git a/mail-vue/src/views/sys-setting/index.vue b/mail-vue/src/views/sys-setting/index.vue
index de91e27..f4b4a8f 100644
--- a/mail-vue/src/views/sys-setting/index.vue
+++ b/mail-vue/src/views/sys-setting/index.vue
@@ -669,7 +669,7 @@ defineOptions({
name: 'sys-setting'
})
-const currentVersion = 'v2.0.0'
+const currentVersion = 'v2.1.0'
const hasUpdate = ref(false)
let getUpdateErrorCount = 1;
const {t, locale} = useI18n();