diff --git a/src/views/systemManagement/SettingsView.vue b/src/views/systemManagement/SettingsView.vue index 15d6892..fac6141 100644 --- a/src/views/systemManagement/SettingsView.vue +++ b/src/views/systemManagement/SettingsView.vue @@ -12,12 +12,19 @@ const loading = ref(false) const saving = ref(false) const workspaceName = ref('') const defaultStatus = ref('draft') +const registerMaxPerIp = ref(5) +const registerMaxPerDevice = ref(3) const statusOptions = [ { code: 'draft', text: '草稿' }, { code: 'reviewing', text: '待审核' } ] +const parseRegisterLimit = (value, fallback) => { + const parsed = Number.parseInt(value ?? '', 10) + return Number.isFinite(parsed) ? parsed : fallback +} + async function load() { loading.value = true try { @@ -25,6 +32,8 @@ async function load() { const map = Object.fromEntries((res.data || []).map((item) => [item.key, item.value])) workspaceName.value = map['workspace.name'] || '' defaultStatus.value = map['content.default-status'] || 'draft' + registerMaxPerIp.value = parseRegisterLimit(map['app.register.max-per-ip-per-day'], 5) + registerMaxPerDevice.value = parseRegisterLimit(map['app.register.max-per-device-per-day'], 3) } finally { loading.value = false } @@ -35,7 +44,9 @@ async function save() { try { await updateConfigsApi({ 'workspace.name': workspaceName.value, - 'content.default-status': defaultStatus.value + 'content.default-status': defaultStatus.value, + 'app.register.max-per-ip-per-day': String(registerMaxPerIp.value), + 'app.register.max-per-device-per-day': String(registerMaxPerDevice.value) }) ElMessage.success('设置已保存') } finally { @@ -62,6 +73,11 @@ onMounted(load) :key="item.code" :label="item.text" :value="item.code" />注册频控保存设置