chore(admin): 合并注册限流配置项
This commit is contained in:
commit
5c087f4db9
1 file changed
+17
-1
@@ -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" /></el-select></el-form-item
|
||||
><el-divider content-position="left">注册频控</el-divider
|
||||
><el-form-item label="单 IP 24 小时注册上限(0 或负数表示不限制)"
|
||||
><el-input-number v-model="registerMaxPerIp" :step="1" :precision="0" /></el-form-item
|
||||
><el-form-item label="单设备 24 小时注册上限(0 或负数表示不限制)"
|
||||
><el-input-number v-model="registerMaxPerDevice" :step="1" :precision="0" /></el-form-item
|
||||
><el-button type="primary" :loading="saving" :disabled="!can('system:role')" @click="save"
|
||||
>保存设置</el-button
|
||||
></el-form
|
||||
|
||||
Reference in new issue
Block a user