新增TG邮件查看HTML

This commit is contained in:
eoao
2025-10-22 21:33:45 +08:00
parent fdf9e95d67
commit 57638aa8e1
15 changed files with 332 additions and 62 deletions

View File

@@ -36,7 +36,7 @@ function updateContent() {
all: initial;
width: 100%;
height: 100%;
font-family: Inter, -apple-system, BlinkMacSystemFont,
font-family: -apple-system, Inter, BlinkMacSystemFont,
'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
font-size: 14px;
line-height: 1.5;
@@ -119,7 +119,7 @@ watch(() => props.html, () => {
width: 100%;
height: 100%;
overflow: hidden;
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
font-family: -apple-system, Inter, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}
.content-html {

View File

@@ -137,7 +137,7 @@ const en = {
websiteReg: 'Sign Up',
loginDomain: 'Sign-In Box Domain',
multipleEmail: 'Multiple Accounts',
multipleEmailDesc: 'Enable this feature to allow users to add multiple accounts',
multipleEmailDesc: 'Enable this feature to allow users to add multiple accounts.',
customization: 'Customization',
websiteTitle: 'Title',
loginBoxOpacity: 'Login Box Opacity',
@@ -145,7 +145,7 @@ const en = {
emailSetting: 'Email',
receiveEmail: 'Receive Email',
autoRefresh: 'Auto Refresh',
autoRefreshDesc: 'Automatically fetch the latest emails from the server',
autoRefreshDesc: 'Automatically fetch the latest emails from the server.',
sendEmail: 'Send Email',
resendToken: 'Resend Token',
oss: 'Object Storage',
@@ -165,7 +165,7 @@ const en = {
version: 'Version',
community: 'Community',
changeTitle: 'Change Title',
addResendTokenDesc: 'Input to add; leave empty to delete',
addResendTokenDesc: 'Input to add; leave empty to delete.',
addOsDomain: 'Add Domain',
domainDesc: 'Domain',
addTurnstileSecret: 'Add turnstile secret',
@@ -173,14 +173,14 @@ const en = {
tgBotDesc: 'Forward received emails to a Telegram bot',
tgBotToken: 'Bot token',
toBotTokenDesc: 'Multiple user chat_ids, separated by commas',
otherEmailDesc: 'emails can be forwarded to external email, but must be verified via cloudflare',
otherEmailDesc: 'emails can be forwarded to external email, but must be verified via cloudflare.',
otherEmailInputDesc: 'Separate multiple email addresses with commas.',
forwardingRulesDesc: 'Rule-based forwarding only forwards emails received by the specified address',
ruleEmailsInputDesc: 'Separate multiple email addresses with commas',
forwardingRulesDesc: 'Rule-based forwarding only forwards emails received by the specified address.',
ruleEmailsInputDesc: 'Separate multiple email addresses with commas.',
resendTokenList: 'Token List',
domain: 'Domain',
optional: 'Optional',
subjectInputDesc: 'Please enter the email subject',
subjectInputDesc: 'Please enter the email subject.',
changeUserName: 'Change Username',
sendSeparately: 'Separately',
send: 'Send',
@@ -295,8 +295,8 @@ const en = {
confirmDeletionOfContacts: 'Confirm clearing contacts?',
recentContacts: 'Recent contacts',
selectContacts: 'Select',
forcePathStyleDesc: 'Some self-hosted object storages require path-style access to be enabled',
kvStorageDesc: 'Replace object storage with KV, and update the access domain to a Worker custom domain',
forcePathStyleDesc: 'Some self-hosted object storages require path-style access to be enabled.',
kvStorageDesc: 'Replace object storage with KV, and update the access domain to a Worker custom domain.',
kvStorage: 'KV Storage'
}

View File

@@ -298,6 +298,7 @@ const zh = {
selectContacts: '选中',
forcePathStyleDesc: '路径样式访问,一些自建的对象存储需要打开',
kvStorageDesc: '使用KV替代对象存储访问域名改成worker自定义域',
kvStorage: 'KV存储'
kvStorage: 'KV存储',
customDomainDesc: 'Worker 自定义域'
}
export default zh

View File

@@ -485,6 +485,7 @@
<el-input :placeholder="$t('tgBotToken')" v-model="tgBotToken"></el-input>
<el-input-tag tag-type="warning" :placeholder="$t('toBotTokenDesc')" v-model="tgChatId"
@add-tag="addChatTag"></el-input-tag>
<el-input tag-type="warning" :placeholder="$t('customDomainDesc')" v-model="customDomain" ></el-input>
</div>
<template #footer>
<div class="dialog-footer">
@@ -777,6 +778,7 @@ const options = computed(() => [
])
const tgChatId = ref([])
const customDomain = ref('')
const tgBotStatus = ref(0)
const tgBotToken = ref('')
const forwardEmail = ref([])
@@ -898,6 +900,7 @@ function closedSetBackground() {
function openTgSetting() {
tgBotStatus.value = setting.value.tgBotStatus
tgBotToken.value = setting.value.tgBotToken
customDomain.value = setting.value.customDomain
tgChatId.value = []
if (setting.value.tgChatId) {
const list = setting.value.tgChatId.split(',')
@@ -1031,6 +1034,7 @@ function saveS3() {
function tgBotSave() {
const form = {
tgBotToken: tgBotToken.value,
customDomain: customDomain.value,
tgBotStatus: tgBotStatus.value,
tgChatId: tgChatId.value + ''
}
@@ -1618,10 +1622,11 @@ function editSetting(settingForm, refreshStatus = true) {
justify-content: space-between;
gap: 10px;
.force-path-style-left {
padding-left: 2px;
display: flex;
justify-content: center;
align-items: center;
gap: 3px;
gap: 5px;
}
}