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" />注册频控保存设置