mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-07 00:36:41 +08:00
增加安全图片域名功能,优化自定义壁纸API相关提示信息
This commit is contained in:
@@ -1075,8 +1075,12 @@ export default {
|
|||||||
hour: 'hour',
|
hour: 'hour',
|
||||||
customizeWallpaperApi: 'Customize Wallpaper Api',
|
customizeWallpaperApi: 'Customize Wallpaper Api',
|
||||||
customizeWallpaperApiHint:
|
customizeWallpaperApiHint:
|
||||||
'It will get the image file extension format images that are allowed in all the settings in the content returned by the API.',
|
'It will get the image file extension format images that are allowed in settings in the content returned by the API.',
|
||||||
customizeWallpaperApiRequired: 'Required field; please enter Wallpaper API',
|
customizeWallpaperApiRequired: 'Required field; please enter Wallpaper API',
|
||||||
|
securityImageDomains: 'Security Image Domains',
|
||||||
|
securityImageDomainsHint: 'Allowed image domains whitelist for caching, used to control trusted image sources',
|
||||||
|
noSecurityImageDomains: 'No security domains',
|
||||||
|
securityImageDomainAdd: 'Add domain, e.g.: image.tmdb.org',
|
||||||
},
|
},
|
||||||
site: {
|
site: {
|
||||||
siteSync: 'Site Synchronization',
|
siteSync: 'Site Synchronization',
|
||||||
|
|||||||
@@ -1064,9 +1064,13 @@ export default {
|
|||||||
},
|
},
|
||||||
mb: 'MB',
|
mb: 'MB',
|
||||||
hour: '小时',
|
hour: '小时',
|
||||||
customizeWallpaperApi: '自定义壁纸API',
|
customizeWallpaperApi: '自定义壁纸API地址',
|
||||||
customizeWallpaperApiHint: '会获取API返回内容中所有设置中允许的图片文件后缀格式图片',
|
customizeWallpaperApiHint: '会获取API返回内容中所有允许的安全域名地址的图片,需要同步设置安全域名地址',
|
||||||
customizeWallpaperApiRequired: '必填项;请输入自定义壁纸API',
|
customizeWallpaperApiRequired: '必填项;请输入自定义壁纸API',
|
||||||
|
securityImageDomains: '安全图片域名',
|
||||||
|
securityImageDomainsHint: '允许缓存的图片域名白名单,用于控制可信任的图片来源',
|
||||||
|
noSecurityImageDomains: '暂无安全域名',
|
||||||
|
securityImageDomainAdd: '添加域名,如:image.tmdb.org',
|
||||||
},
|
},
|
||||||
site: {
|
site: {
|
||||||
siteSync: '站点同步',
|
siteSync: '站点同步',
|
||||||
|
|||||||
@@ -1067,8 +1067,12 @@ export default {
|
|||||||
mb: 'MB',
|
mb: 'MB',
|
||||||
hour: '小時',
|
hour: '小時',
|
||||||
customizeWallpaperApi: '自定義壁紙API',
|
customizeWallpaperApi: '自定義壁紙API',
|
||||||
customizeWallpaperApiHint: '會獲取 API 返回內容中所有設置中允許的圖片文件後綴格式圖片',
|
customizeWallpaperApiHint: '會獲取 API 返回內容中所有安全設置中允許的圖片地址,需要設置安全域名白名單',
|
||||||
customizeWallpaperApiRequired: '必填項;請輸出自定義壁紙API',
|
customizeWallpaperApiRequired: '必填項;請輸出自定義壁紙API',
|
||||||
|
securityImageDomains: '安全圖片域名',
|
||||||
|
securityImageDomainsHint: '允許緩存的圖片域名白名單,用於控制可信任的圖片來源',
|
||||||
|
noSecurityImageDomains: '暫無安全域名',
|
||||||
|
securityImageDomainAdd: '添加域名,如:image.tmdb.org',
|
||||||
},
|
},
|
||||||
site: {
|
site: {
|
||||||
siteSync: '站點同步',
|
siteSync: '站點同步',
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ const SystemSettings = ref<any>({
|
|||||||
DOH_ENABLE: false,
|
DOH_ENABLE: false,
|
||||||
DOH_RESOLVERS: null,
|
DOH_RESOLVERS: null,
|
||||||
DOH_DOMAINS: null,
|
DOH_DOMAINS: null,
|
||||||
|
SECURITY_IMAGE_DOMAINS: [],
|
||||||
// 日志
|
// 日志
|
||||||
DEBUG: false,
|
DEBUG: false,
|
||||||
LOG_LEVEL: 'INFO',
|
LOG_LEVEL: 'INFO',
|
||||||
@@ -92,6 +93,29 @@ const tmdbLanguageItems = [
|
|||||||
{ title: t('setting.system.tmdbLanguage.en'), value: 'en' },
|
{ title: t('setting.system.tmdbLanguage.en'), value: 'en' },
|
||||||
]
|
]
|
||||||
|
|
||||||
|
// 日志等级
|
||||||
|
const logLevelItems = [
|
||||||
|
{ title: t('setting.system.logLevelItems.debug'), value: 'DEBUG' },
|
||||||
|
{ title: t('setting.system.logLevelItems.info'), value: 'INFO' },
|
||||||
|
{ title: t('setting.system.logLevelItems.warning'), value: 'WARNING' },
|
||||||
|
{ title: t('setting.system.logLevelItems.error'), value: 'ERROR' },
|
||||||
|
{ title: t('setting.system.logLevelItems.critical'), value: 'CRITICAL' },
|
||||||
|
]
|
||||||
|
|
||||||
|
// 安全域名添加变量
|
||||||
|
const newSecurityDomain = ref('')
|
||||||
|
|
||||||
|
// 添加安全域名
|
||||||
|
function addSecurityDomain() {
|
||||||
|
if (
|
||||||
|
newSecurityDomain.value &&
|
||||||
|
!SystemSettings.value.Advanced.SECURITY_IMAGE_DOMAINS.includes(newSecurityDomain.value)
|
||||||
|
) {
|
||||||
|
SystemSettings.value.Advanced.SECURITY_IMAGE_DOMAINS.push(newSecurityDomain.value)
|
||||||
|
newSecurityDomain.value = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 调用API查询下载器设置
|
// 调用API查询下载器设置
|
||||||
async function loadDownloaderSetting() {
|
async function loadDownloaderSetting() {
|
||||||
try {
|
try {
|
||||||
@@ -297,15 +321,6 @@ const pipProxyDisplay = computed({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
// 日志等级
|
|
||||||
const logLevelItems = [
|
|
||||||
{ title: t('setting.system.logLevelItems.debug'), value: 'DEBUG' },
|
|
||||||
{ title: t('setting.system.logLevelItems.info'), value: 'INFO' },
|
|
||||||
{ title: t('setting.system.logLevelItems.warning'), value: 'WARNING' },
|
|
||||||
{ title: t('setting.system.logLevelItems.error'), value: 'ERROR' },
|
|
||||||
{ title: t('setting.system.logLevelItems.critical'), value: 'CRITICAL' },
|
|
||||||
]
|
|
||||||
|
|
||||||
// 创建随机字符串
|
// 创建随机字符串
|
||||||
function createRandomString() {
|
function createRandomString() {
|
||||||
const charset = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_'
|
const charset = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_'
|
||||||
@@ -832,6 +847,46 @@ onDeactivated(() => {
|
|||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
</VRow>
|
</VRow>
|
||||||
|
<VRow>
|
||||||
|
<VCol cols="12">
|
||||||
|
<!-- 安全域名 -->
|
||||||
|
<VCard>
|
||||||
|
<VCardItem>
|
||||||
|
<VCardTitle>{{ t('setting.system.securityImageDomains') }}</VCardTitle>
|
||||||
|
<VCardSubtitle>{{ t('setting.system.securityImageDomainsHint') }}</VCardSubtitle>
|
||||||
|
</VCardItem>
|
||||||
|
<VCardText>
|
||||||
|
<div class="d-flex flex-wrap gap-2 mb-3">
|
||||||
|
<VChip
|
||||||
|
v-for="(domain, index) in SystemSettings.Advanced.SECURITY_IMAGE_DOMAINS"
|
||||||
|
:key="index"
|
||||||
|
closable
|
||||||
|
@click:close="SystemSettings.Advanced.SECURITY_IMAGE_DOMAINS.splice(index, 1)"
|
||||||
|
>
|
||||||
|
{{ domain }}
|
||||||
|
</VChip>
|
||||||
|
<VChip v-if="SystemSettings.Advanced.SECURITY_IMAGE_DOMAINS.length === 0" color="warning">
|
||||||
|
{{ t('setting.system.noSecurityImageDomains') }}
|
||||||
|
</VChip>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex align-center gap-2">
|
||||||
|
<VTextField
|
||||||
|
v-model="newSecurityDomain"
|
||||||
|
:placeholder="t('setting.system.securityImageDomainAdd')"
|
||||||
|
hide-details
|
||||||
|
density="compact"
|
||||||
|
>
|
||||||
|
<template #append>
|
||||||
|
<VBtn icon color="primary" @click="addSecurityDomain" :disabled="!newSecurityDomain">
|
||||||
|
<VIcon icon="mdi-plus" />
|
||||||
|
</VBtn>
|
||||||
|
</template>
|
||||||
|
</VTextField>
|
||||||
|
</div>
|
||||||
|
</VCardText>
|
||||||
|
</VCard>
|
||||||
|
</VCol>
|
||||||
|
</VRow>
|
||||||
</div>
|
</div>
|
||||||
</VWindowItem>
|
</VWindowItem>
|
||||||
<VWindowItem value="log">
|
<VWindowItem value="log">
|
||||||
|
|||||||
Reference in New Issue
Block a user