mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-10-10 23:47:39 +08:00
fix: Fix issue with failure to disable website cache (#8113)
This commit is contained in:
parent
63631b1118
commit
1f842b49cc
12 changed files with 154 additions and 126 deletions
|
@ -2384,6 +2384,7 @@ const message = {
|
||||||
volcengine: 'Volcengine',
|
volcengine: 'Volcengine',
|
||||||
runtimePortHelper: 'The current runtime environment has multiple ports. Please select a proxy port.',
|
runtimePortHelper: 'The current runtime environment has multiple ports. Please select a proxy port.',
|
||||||
runtimePortWarn: 'The current runtime environment has no ports, unable to proxy',
|
runtimePortWarn: 'The current runtime environment has no ports, unable to proxy',
|
||||||
|
cacheWarn: 'Please turn off the cache switch in the reverse proxy first',
|
||||||
},
|
},
|
||||||
php: {
|
php: {
|
||||||
short_open_tag: 'Short tag support',
|
short_open_tag: 'Short tag support',
|
||||||
|
|
|
@ -2242,6 +2242,7 @@ const message = {
|
||||||
volcengine: 'volcengine',
|
volcengine: 'volcengine',
|
||||||
runtimePortHelper: '現在の実行環境には複数のポートがあります。プロキシポートを選択してください。',
|
runtimePortHelper: '現在の実行環境には複数のポートがあります。プロキシポートを選択してください。',
|
||||||
runtimePortWarn: '現在の実行環境にはポートがありません。プロキシできません',
|
runtimePortWarn: '現在の実行環境にはポートがありません。プロキシできません',
|
||||||
|
cacheWarn: 'まずリバースプロキシのキャッシュスイッチをオフにしてください',
|
||||||
},
|
},
|
||||||
php: {
|
php: {
|
||||||
short_open_tag: '短いタグサポート',
|
short_open_tag: '短いタグサポート',
|
||||||
|
|
|
@ -2206,6 +2206,7 @@ const message = {
|
||||||
volcengine: 'volcengine',
|
volcengine: 'volcengine',
|
||||||
runtimePortHelper: '현재 실행 환경에 여러 포트가 있습니다. 프록시 포트를 선택하세요.',
|
runtimePortHelper: '현재 실행 환경에 여러 포트가 있습니다. 프록시 포트를 선택하세요.',
|
||||||
runtimePortWarn: '현재 실행 환경에 포트가 없습니다. 프록시할 수 없습니다',
|
runtimePortWarn: '현재 실행 환경에 포트가 없습니다. 프록시할 수 없습니다',
|
||||||
|
cacheWarn: '먼저 리버스 프록시의 캐시 스위치를 끄십시오',
|
||||||
},
|
},
|
||||||
php: {
|
php: {
|
||||||
short_open_tag: '짧은 태그 지원',
|
short_open_tag: '짧은 태그 지원',
|
||||||
|
|
|
@ -2297,6 +2297,7 @@ const message = {
|
||||||
volcengine: 'Volcengine',
|
volcengine: 'Volcengine',
|
||||||
runtimePortHelper: 'Persekitaran runtime semasa mempunyai beberapa port. Sila pilih port proksi.',
|
runtimePortHelper: 'Persekitaran runtime semasa mempunyai beberapa port. Sila pilih port proksi.',
|
||||||
runtimePortWarn: 'Persekitaran runtime semasa tidak mempunyai port, tidak dapat proksi',
|
runtimePortWarn: 'Persekitaran runtime semasa tidak mempunyai port, tidak dapat proksi',
|
||||||
|
cacheWarn: 'Sila matikan suis cache dalam pembalikan proksi terlebih dahulu',
|
||||||
},
|
},
|
||||||
php: {
|
php: {
|
||||||
short_open_tag: 'Sokongan tag pendek',
|
short_open_tag: 'Sokongan tag pendek',
|
||||||
|
|
|
@ -2292,6 +2292,7 @@ const message = {
|
||||||
volcengine: 'Volcengine',
|
volcengine: 'Volcengine',
|
||||||
runtimePortHelper: 'O ambiente de runtime atual possui várias portas. Por favor, selecione uma porta de proxy.',
|
runtimePortHelper: 'O ambiente de runtime atual possui várias portas. Por favor, selecione uma porta de proxy.',
|
||||||
runtimePortWarn: 'O ambiente de execução atual não possui portos, não é possível proxiar',
|
runtimePortWarn: 'O ambiente de execução atual não possui portos, não é possível proxiar',
|
||||||
|
cacheWarn: 'Por favor, desligue o interruptor de cache no proxy reverso primeiro',
|
||||||
},
|
},
|
||||||
php: {
|
php: {
|
||||||
short_open_tag: 'Suporte para short tags',
|
short_open_tag: 'Suporte para short tags',
|
||||||
|
|
|
@ -2294,6 +2294,7 @@ const message = {
|
||||||
volcengine: 'Volcengine',
|
volcengine: 'Volcengine',
|
||||||
runtimePortHelper: 'O ambiente de runtime atual possui várias portas. Por favor, selecione uma porta de proxy.',
|
runtimePortHelper: 'O ambiente de runtime atual possui várias portas. Por favor, selecione uma porta de proxy.',
|
||||||
runtimePortWarn: 'В текущей среде выполнения нет портов, невозможно проксировать',
|
runtimePortWarn: 'В текущей среде выполнения нет портов, невозможно проксировать',
|
||||||
|
cacheWarn: 'Пожалуйста, сначала выключите кэш в обратном прокси',
|
||||||
},
|
},
|
||||||
php: {
|
php: {
|
||||||
short_open_tag: 'Поддержка коротких тегов',
|
short_open_tag: 'Поддержка коротких тегов',
|
||||||
|
|
|
@ -2211,6 +2211,7 @@ const message = {
|
||||||
volcengine: 'Volcengine',
|
volcengine: 'Volcengine',
|
||||||
runtimePortHelper: '當前運行環境存在多個端口,請選擇一個代理端口。',
|
runtimePortHelper: '當前運行環境存在多個端口,請選擇一個代理端口。',
|
||||||
runtimePortWarn: '當前運行環境沒有端口,無法代理',
|
runtimePortWarn: '當前運行環境沒有端口,無法代理',
|
||||||
|
cacheWarn: '請先關閉反代中的緩存開關',
|
||||||
},
|
},
|
||||||
php: {
|
php: {
|
||||||
short_open_tag: '短標簽支持',
|
short_open_tag: '短標簽支持',
|
||||||
|
|
|
@ -2201,6 +2201,7 @@ const message = {
|
||||||
volcengine: '火山引擎',
|
volcengine: '火山引擎',
|
||||||
runtimePortHelper: '当前运行环境存在多个端口,请选择一个代理端口',
|
runtimePortHelper: '当前运行环境存在多个端口,请选择一个代理端口',
|
||||||
runtimePortWarn: '当前运行环境没有端口,无法代理',
|
runtimePortWarn: '当前运行环境没有端口,无法代理',
|
||||||
|
cacheWarn: '请先关闭反代中的缓存开关',
|
||||||
},
|
},
|
||||||
php: {
|
php: {
|
||||||
short_open_tag: '短标签支持',
|
short_open_tag: '短标签支持',
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<DialogPro v-model="open" size="w-70" @opened="onOpen" :show-close="false" :top="'5vh'" :fullscreen="isFullscreen">
|
<DialogPro v-model="open" size="w-70" @opened="onOpen" :show-close="false" :top="'5vh'" :fullscreen="isFullscreen">
|
||||||
<template #header>
|
<template #header>
|
||||||
<div ref="dialogHeader" class="flex items-center justify-between">
|
<div ref="dialogHeader" class="flex items-center justify-between">
|
||||||
<span>{{ $t('commons.button.edit') + ' - ' + form.path }}</span>
|
<span class="truncate-text">{{ $t('commons.button.edit') + ' - ' + form.path }}</span>
|
||||||
<el-space alignment="center" :size="1" class="dialog-header-icon">
|
<el-space alignment="center" :size="1" class="dialog-header-icon">
|
||||||
<el-tooltip :content="loadTooltip()" placement="top">
|
<el-tooltip :content="loadTooltip()" placement="top">
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -20,11 +20,17 @@
|
||||||
</el-space>
|
</el-space>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
<template #content>
|
||||||
<div ref="dialogForm">
|
<div ref="dialogForm">
|
||||||
<el-form :inline="true" :model="config" class="mt-1.5">
|
<el-form :inline="true" :model="config" class="mt-1.5">
|
||||||
<el-form-item :label="$t('file.theme')">
|
<el-form-item :label="$t('file.theme')">
|
||||||
<el-select v-model="config.theme" @change="changeTheme()" class="p-w-200">
|
<el-select v-model="config.theme" @change="changeTheme()" class="p-w-200">
|
||||||
<el-option v-for="item in themes" :key="item.label" :value="item.value" :label="item.label" />
|
<el-option
|
||||||
|
v-for="item in themes"
|
||||||
|
:key="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('file.language')">
|
<el-form-item :label="$t('file.language')">
|
||||||
|
@ -58,7 +64,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="monaco-editor sm:w-48 w-1/3 monaco-editor-background border-0 tree-container" v-if="isShow">
|
<div
|
||||||
|
class="monaco-editor sm:w-48 w-1/3 monaco-editor-background border-0 tree-container"
|
||||||
|
v-if="isShow"
|
||||||
|
>
|
||||||
<div class="flex items-center justify-between pl-1 sm:pr-4 pr-1 pt-1">
|
<div class="flex items-center justify-between pl-1 sm:pr-4 pr-1 pt-1">
|
||||||
<el-tooltip :content="$t('file.top')" placement="top">
|
<el-tooltip :content="$t('file.top')" placement="top">
|
||||||
<el-text size="small" @click="getUpData()" class="cursor-pointer">
|
<el-text size="small" @click="getUpData()" class="cursor-pointer">
|
||||||
|
@ -91,13 +100,10 @@
|
||||||
highlight-current
|
highlight-current
|
||||||
>
|
>
|
||||||
<template #default="{ node, data }">
|
<template #default="{ node, data }">
|
||||||
<!-- 目录 -->
|
|
||||||
<span v-if="data.isDir" style="display: inline-flex; align-items: center">
|
<span v-if="data.isDir" style="display: inline-flex; align-items: center">
|
||||||
<svg-icon className="table-icon" iconName="p-file-folder"></svg-icon>
|
<svg-icon className="table-icon" iconName="p-file-folder"></svg-icon>
|
||||||
<small :title="node.label">{{ node.label }}</small>
|
<small :title="node.label">{{ node.label }}</small>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- 文档 -->
|
|
||||||
<span
|
<span
|
||||||
v-else
|
v-else
|
||||||
style="display: inline-flex; align-items: center"
|
style="display: inline-flex; align-items: center"
|
||||||
|
@ -142,6 +148,7 @@
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</template>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer" ref="dialogFooter">
|
<div class="dialog-footer" ref="dialogFooter">
|
||||||
<el-button @click="handleReset">{{ $t('commons.button.reset') }}</el-button>
|
<el-button @click="handleReset">{{ $t('commons.button.reset') }}</el-button>
|
||||||
|
@ -710,4 +717,12 @@ defineExpose({ acceptParams });
|
||||||
.tree-widget {
|
.tree-widget {
|
||||||
background-color: var(--el-button--primary);
|
background-color: var(--el-button--primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.truncate-text {
|
||||||
|
display: inline-block;
|
||||||
|
max-width: 800px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
:validate-on-rule-change="false"
|
:validate-on-rule-change="false"
|
||||||
>
|
>
|
||||||
<el-form-item :label="$t('commons.button.start')" prop="open">
|
<el-form-item :label="$t('commons.button.start')" prop="open">
|
||||||
<el-switch v-model="req.open"></el-switch>
|
<el-switch v-model="req.open" :disabled="hasCache"></el-switch>
|
||||||
|
<span class="input-help" v-if="hasCache">{{ $t('website.cacheWarn') }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('website.cacheLimit')" prop="cacheLimit">
|
<el-form-item :label="$t('website.cacheLimit')" prop="cacheLimit">
|
||||||
<el-input v-model.number="req.cacheLimit" class="p-w-200">
|
<el-input v-model.number="req.cacheLimit" class="p-w-200">
|
||||||
|
@ -78,6 +79,7 @@ import i18n from '@/lang';
|
||||||
const open = ref(false);
|
const open = ref(false);
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const proxyForm = ref<FormInstance>();
|
const proxyForm = ref<FormInstance>();
|
||||||
|
const hasCache = ref(false);
|
||||||
|
|
||||||
const req = reactive({
|
const req = reactive({
|
||||||
open: false,
|
open: false,
|
||||||
|
@ -100,8 +102,9 @@ const handleClose = () => {
|
||||||
open.value = false;
|
open.value = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
const acceptParams = (websiteID: number) => {
|
const acceptParams = (websiteID: number, cache: boolean) => {
|
||||||
req.websiteID = websiteID;
|
req.websiteID = websiteID;
|
||||||
|
hasCache.value = cache;
|
||||||
get();
|
get();
|
||||||
open.value = true;
|
open.value = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -68,6 +68,7 @@ const createRef = ref();
|
||||||
const fileRef = ref();
|
const fileRef = ref();
|
||||||
const opRef = ref();
|
const opRef = ref();
|
||||||
const cacheRef = ref();
|
const cacheRef = ref();
|
||||||
|
const hasCache = ref(false);
|
||||||
|
|
||||||
const buttons = [
|
const buttons = [
|
||||||
{
|
{
|
||||||
|
@ -117,7 +118,7 @@ const openCreate = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const openCache = () => {
|
const openCache = () => {
|
||||||
cacheRef.value.acceptParams(id.value);
|
cacheRef.value.acceptParams(id.value, hasCache.value);
|
||||||
};
|
};
|
||||||
|
|
||||||
const openEdit = (proxyConfig: Website.ProxyConfig) => {
|
const openEdit = (proxyConfig: Website.ProxyConfig) => {
|
||||||
|
@ -195,6 +196,7 @@ const search = async () => {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
const res = await getProxyConfig({ id: id.value });
|
const res = await getProxyConfig({ id: id.value });
|
||||||
data.value = res.data || [];
|
data.value = res.data || [];
|
||||||
|
hasCache.value = data.value.some((item: Website.ProxyConfig) => item.cache);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
} finally {
|
} finally {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
|
|
|
@ -39,7 +39,7 @@ const props = defineProps({
|
||||||
|
|
||||||
const isEver = (time: string) => {
|
const isEver = (time: string) => {
|
||||||
const expireDate = new Date(time);
|
const expireDate = new Date(time);
|
||||||
return expireDate < new Date('1970-01-02');
|
return expireDate > new Date('9999-12-30');
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue