mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-09-08 08:57:22 +08:00
refactor: remove manual external image loading
This commit is contained in:
+1
-1
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
- feat: |Frontend| 外观设置新增“自动加载外部图片”开关,关闭后邮件 HTML 中的外链图片默认以占位图显示,并可在单封邮件中手动加载(issue #1073)
|
- feat: |Frontend| 外观设置新增“自动加载外部图片”开关,关闭后邮件 HTML 中的外链图片默认以占位图显示(issue #1073)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
- feat: |Frontend| Add an Appearance toggle for automatically loading external images; when disabled, HTML mail shows blocked-image placeholders by default with a per-mail manual load action (issue #1073)
|
- feat: |Frontend| Add an Appearance toggle for automatically loading external images; when disabled, HTML mail shows blocked-image placeholders by default (issue #1073)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { computed, ref, watch } from "vue";
|
import { computed, ref } from "vue";
|
||||||
import { useScopedI18n } from '@/i18n/app'
|
import { useScopedI18n } from '@/i18n/app'
|
||||||
import { CloudDownloadRound, ReplyFilled, ForwardFilled, FullscreenRound } from '@vicons/material'
|
import { CloudDownloadRound, ReplyFilled, ForwardFilled, FullscreenRound } from '@vicons/material'
|
||||||
import ShadowHtmlComponent from "./ShadowHtmlComponent.vue";
|
import ShadowHtmlComponent from "./ShadowHtmlComponent.vue";
|
||||||
@@ -58,13 +58,7 @@ const showAttachments = ref(false);
|
|||||||
const curAttachments = ref([]);
|
const curAttachments = ref([]);
|
||||||
const attachmentLoding = ref(false);
|
const attachmentLoding = ref(false);
|
||||||
const showFullscreen = ref(false);
|
const showFullscreen = ref(false);
|
||||||
const loadExternalImagesForCurrentMail = ref(false);
|
const mailHtmlContent = computed(() => applyExternalImagePolicy(props.mail.message, autoLoadExternalImages.value));
|
||||||
const shouldLoadExternalImages = computed(() => autoLoadExternalImages.value || loadExternalImagesForCurrentMail.value);
|
|
||||||
const mailHtmlContent = computed(() => applyExternalImagePolicy(props.mail.message, shouldLoadExternalImages.value));
|
|
||||||
|
|
||||||
watch(() => props.mail.id, () => {
|
|
||||||
loadExternalImagesForCurrentMail.value = false;
|
|
||||||
});
|
|
||||||
|
|
||||||
const handleDelete = () => {
|
const handleDelete = () => {
|
||||||
props.onDelete();
|
props.onDelete();
|
||||||
@@ -158,10 +152,6 @@ const handleSaveToS3 = async (filename, blob) => {
|
|||||||
{{ t('fullscreen') }}
|
{{ t('fullscreen') }}
|
||||||
</n-button>
|
</n-button>
|
||||||
|
|
||||||
<n-button v-if="!showTextMail && !shouldLoadExternalImages" size="small" tertiary type="info"
|
|
||||||
@click="loadExternalImagesForCurrentMail = true">
|
|
||||||
{{ t('loadExternalImages') }}
|
|
||||||
</n-button>
|
|
||||||
</n-space>
|
</n-space>
|
||||||
|
|
||||||
<!-- AI 提取信息 -->
|
<!-- AI 提取信息 -->
|
||||||
@@ -180,10 +170,6 @@ const handleSaveToS3 = async (filename, blob) => {
|
|||||||
style="height: 100vh;">
|
style="height: 100vh;">
|
||||||
<n-drawer-content :title="mail.subject" closable>
|
<n-drawer-content :title="mail.subject" closable>
|
||||||
<div class="fullscreen-mail-content" :class="{ 'dark-mode': isDark }">
|
<div class="fullscreen-mail-content" :class="{ 'dark-mode': isDark }">
|
||||||
<n-button v-if="!showTextMail && !shouldLoadExternalImages" size="small" tertiary type="info"
|
|
||||||
@click="loadExternalImagesForCurrentMail = true">
|
|
||||||
{{ t('loadExternalImages') }}
|
|
||||||
</n-button>
|
|
||||||
<pre v-if="showTextMail" class="mail-text">{{ mail.text }}</pre>
|
<pre v-if="showTextMail" class="mail-text">{{ mail.text }}</pre>
|
||||||
<iframe v-else-if="useIframeShowMail" :srcdoc="mailHtmlContent" class="mail-iframe">
|
<iframe v-else-if="useIframeShowMail" :srcdoc="mailHtmlContent" class="mail-iframe">
|
||||||
</iframe>
|
</iframe>
|
||||||
|
|||||||
@@ -238,7 +238,6 @@ export const deMessages = {
|
|||||||
"views.admin.AccountSettings.forward_address_required": "Eine Weiterleitungsadresse ist erforderlich",
|
"views.admin.AccountSettings.forward_address_required": "Eine Weiterleitungsadresse ist erforderlich",
|
||||||
"views.admin.AccountSettings.forward_placeholder": "forward@example.com",
|
"views.admin.AccountSettings.forward_placeholder": "forward@example.com",
|
||||||
"components.MailContentRenderer.fullscreen": "Vollbild",
|
"components.MailContentRenderer.fullscreen": "Vollbild",
|
||||||
"components.MailContentRenderer.loadExternalImages": "Externe Bilder laden",
|
|
||||||
"views.common.Login.generateName": "Zufälligen Namen erzeugen",
|
"views.common.Login.generateName": "Zufälligen Namen erzeugen",
|
||||||
"views.admin.Telegram.globalMailPushList": "Globale Mail-Push-Chat-ID-Liste",
|
"views.admin.Telegram.globalMailPushList": "Globale Mail-Push-Chat-ID-Liste",
|
||||||
"views.common.Appearance.globalTabplacement": "Globale Tab-Position",
|
"views.common.Appearance.globalTabplacement": "Globale Tab-Position",
|
||||||
|
|||||||
@@ -238,7 +238,6 @@ export const esMessages = {
|
|||||||
"views.admin.AccountSettings.forward_address_required": "La dirección de reenvío es obligatoria",
|
"views.admin.AccountSettings.forward_address_required": "La dirección de reenvío es obligatoria",
|
||||||
"views.admin.AccountSettings.forward_placeholder": "forward@example.com",
|
"views.admin.AccountSettings.forward_placeholder": "forward@example.com",
|
||||||
"components.MailContentRenderer.fullscreen": "Pantalla completa",
|
"components.MailContentRenderer.fullscreen": "Pantalla completa",
|
||||||
"components.MailContentRenderer.loadExternalImages": "Cargar imágenes externas",
|
|
||||||
"views.common.Login.generateName": "Generar nombre aleatorio",
|
"views.common.Login.generateName": "Generar nombre aleatorio",
|
||||||
"views.admin.Telegram.globalMailPushList": "Lista global de chat ID para envío de correos",
|
"views.admin.Telegram.globalMailPushList": "Lista global de chat ID para envío de correos",
|
||||||
"views.common.Appearance.globalTabplacement": "Posición global de pestañas",
|
"views.common.Appearance.globalTabplacement": "Posición global de pestañas",
|
||||||
|
|||||||
@@ -238,7 +238,6 @@ export const jaMessages = {
|
|||||||
"views.admin.AccountSettings.forward_address_required": "転送先アドレスは必須です",
|
"views.admin.AccountSettings.forward_address_required": "転送先アドレスは必須です",
|
||||||
"views.admin.AccountSettings.forward_placeholder": "forward@example.com",
|
"views.admin.AccountSettings.forward_placeholder": "forward@example.com",
|
||||||
"components.MailContentRenderer.fullscreen": "全画面",
|
"components.MailContentRenderer.fullscreen": "全画面",
|
||||||
"components.MailContentRenderer.loadExternalImages": "外部画像を読み込む",
|
|
||||||
"views.common.Login.generateName": "ランダム名を生成",
|
"views.common.Login.generateName": "ランダム名を生成",
|
||||||
"views.admin.Telegram.globalMailPushList": "グローバルメール通知 Chat ID 一覧",
|
"views.admin.Telegram.globalMailPushList": "グローバルメール通知 Chat ID 一覧",
|
||||||
"views.common.Appearance.globalTabplacement": "全体タブ位置",
|
"views.common.Appearance.globalTabplacement": "全体タブ位置",
|
||||||
|
|||||||
@@ -238,7 +238,6 @@ export const ptBRMessages = {
|
|||||||
"views.admin.AccountSettings.forward_address_required": "O endereço de encaminhamento é obrigatório",
|
"views.admin.AccountSettings.forward_address_required": "O endereço de encaminhamento é obrigatório",
|
||||||
"views.admin.AccountSettings.forward_placeholder": "forward@example.com",
|
"views.admin.AccountSettings.forward_placeholder": "forward@example.com",
|
||||||
"components.MailContentRenderer.fullscreen": "Tela cheia",
|
"components.MailContentRenderer.fullscreen": "Tela cheia",
|
||||||
"components.MailContentRenderer.loadExternalImages": "Carregar imagens externas",
|
|
||||||
"views.common.Login.generateName": "Gerar nome aleatório",
|
"views.common.Login.generateName": "Gerar nome aleatório",
|
||||||
"views.admin.Telegram.globalMailPushList": "Lista global de chat ID para envio de e-mails",
|
"views.admin.Telegram.globalMailPushList": "Lista global de chat ID para envio de e-mails",
|
||||||
"views.common.Appearance.globalTabplacement": "Posição global das abas",
|
"views.common.Appearance.globalTabplacement": "Posição global das abas",
|
||||||
|
|||||||
@@ -186,10 +186,6 @@ export const MESSAGE_REGISTRY = {
|
|||||||
"en": "Fullscreen",
|
"en": "Fullscreen",
|
||||||
"zh": "全屏"
|
"zh": "全屏"
|
||||||
},
|
},
|
||||||
"loadExternalImages": {
|
|
||||||
"en": "Load External Images",
|
|
||||||
"zh": "加载外部图片"
|
|
||||||
},
|
|
||||||
"reply": {
|
"reply": {
|
||||||
"en": "Reply",
|
"en": "Reply",
|
||||||
"zh": "回复"
|
"zh": "回复"
|
||||||
|
|||||||
Reference in New Issue
Block a user