Merge pull request #284 from InfinityPacer/v2

This commit is contained in:
jxxghp
2025-01-06 17:59:21 +08:00
committed by GitHub
+27 -7
View File
@@ -48,6 +48,7 @@ const SystemSettings = ref<any>({
LOG_LEVEL: 'INFO', LOG_LEVEL: 'INFO',
LOG_MAX_FILE_SIZE: '5', LOG_MAX_FILE_SIZE: '5',
LOG_BACKUP_COUNT: '3', LOG_BACKUP_COUNT: '3',
LOG_FILE_FORMAT: '【%(levelname)s】%(asctime)s - %(message)s',
// 实验室 // 实验室
PLUGIN_AUTO_RELOAD: false, PLUGIN_AUTO_RELOAD: false,
ENCODING_DETECTION_PERFORMANCE_MODE: true, ENCODING_DETECTION_PERFORMANCE_MODE: true,
@@ -193,8 +194,10 @@ async function saveBasicSettings() {
} }
} }
// 高级设置变化,等待保存 // 保存高级设置
async function saveAdvancedSettings() { async function saveAdvancedSettings() {
cleanEmptyFields(SystemSettings.value.Advanced, ['LOG_FILE_FORMAT'])
if (await saveSystemSetting(SystemSettings.value.Advanced)) { if (await saveSystemSetting(SystemSettings.value.Advanced)) {
advancedDialog.value = false advancedDialog.value = false
$toast.success('高级设置保存成功') $toast.success('高级设置保存成功')
@@ -204,6 +207,15 @@ async function saveAdvancedSettings() {
} }
} }
// 当字段为空时,将其设置为 null 提交,以便后端恢复为默认值
function cleanEmptyFields(settings: any, fields: string[]) {
fields.forEach(field => {
if (settings[field]?.trim?.() === '') {
settings[field] = null
}
})
}
// 快捷复制到剪贴板 // 快捷复制到剪贴板
async function copyValue(value: string) { async function copyValue(value: string) {
try { try {
@@ -729,8 +741,8 @@ onDeactivated(() => {
<VCol cols="12" md="6"> <VCol cols="12" md="6">
<VSwitch <VSwitch
v-model="SystemSettings.Advanced.DEBUG" v-model="SystemSettings.Advanced.DEBUG"
label="全局DEBUG日志" label="调试模式"
hint="全局强制使用DEBUG级别日志,方便排查问题" hint="启用调试模式后,日志将以DEBUG级别记录,以便排查问题"
persistent-hint persistent-hint
/> />
</VCol> </VCol>
@@ -738,8 +750,8 @@ onDeactivated(() => {
<VSelect <VSelect
v-if="!SystemSettings.Advanced.DEBUG" v-if="!SystemSettings.Advanced.DEBUG"
v-model="SystemSettings.Advanced.LOG_LEVEL" v-model="SystemSettings.Advanced.LOG_LEVEL"
label="全局日志等级" label="日志等级"
hint="设置日志记录的级别,方便控制日志记录量" hint="设置日志记录的级别,用于控制日志输出量"
persistent-hint persistent-hint
:items="logLevelItems" :items="logLevelItems"
/> />
@@ -748,7 +760,7 @@ onDeactivated(() => {
<VTextField <VTextField
v-model="SystemSettings.Advanced.LOG_MAX_FILE_SIZE" v-model="SystemSettings.Advanced.LOG_MAX_FILE_SIZE"
label="日志文件最大容量(MB)" label="日志文件最大容量(MB)"
hint="限制单个日志文件最大保存容量,用于分割日志体积" hint="限制单个日志文件最大容量,超出后将自动分割日志"
persistent-hint persistent-hint
min="1" min="1"
type="number" type="number"
@@ -760,13 +772,21 @@ onDeactivated(() => {
<VTextField <VTextField
v-model="SystemSettings.Advanced.LOG_BACKUP_COUNT" v-model="SystemSettings.Advanced.LOG_BACKUP_COUNT"
label="日志文件最大备份数量" label="日志文件最大备份数量"
hint="每个模块日志文件的最多储存的个数,用于控制日文件数量" hint="设置每个模块日志文件的最大备份数量,超过后将覆盖旧日志"
persistent-hint persistent-hint
min="1" min="1"
type="number" type="number"
:rules="[(v: any) => v === 0 || !!v || '请输入日志文件最大备份数量', (v: any) => v >= 1 || '日志文件最大备份数量必须大于等于1']" :rules="[(v: any) => v === 0 || !!v || '请输入日志文件最大备份数量', (v: any) => v >= 1 || '日志文件最大备份数量必须大于等于1']"
/> />
</VCol> </VCol>
<VCol cols="12">
<VTextField
v-model="SystemSettings.Advanced.LOG_FILE_FORMAT"
label="日志文件格式"
hint="设置日志文件的输出格式,用于自定义日志的显示内容"
persistent-hint
/>
</VCol>
</VRow> </VRow>
</div> </div>
</VWindowItem> </VWindowItem>