diff --git a/web/admin/src/views/system/settings/PerformanceTab.vue b/web/admin/src/views/system/settings/PerformanceTab.vue
index 855d538..f8d99c6 100644
--- a/web/admin/src/views/system/settings/PerformanceTab.vue
+++ b/web/admin/src/views/system/settings/PerformanceTab.vue
@@ -65,8 +65,8 @@ function set(key: string, v: number | undefined): void {
@@ -107,8 +107,8 @@ function set(key: string, v: number | undefined): void {
values['sandbox_enabled'] = String(v)"
+ :model-value="!!values['sandbox_enabled']"
+ @change="(v: string | number | boolean) => values['sandbox_enabled'] = v"
/>
diff --git a/web/admin/src/views/system/settings/SecurityTab.vue b/web/admin/src/views/system/settings/SecurityTab.vue
index 45f2204..a7ae65b 100644
--- a/web/admin/src/views/system/settings/SecurityTab.vue
+++ b/web/admin/src/views/system/settings/SecurityTab.vue
@@ -89,7 +89,7 @@ const values = useFormValues()
values['new_device_notification'] = v"
/>
diff --git a/web/admin/src/views/system/settings/StorageTab.vue b/web/admin/src/views/system/settings/StorageTab.vue
index 98637fa..da2b5c0 100644
--- a/web/admin/src/views/system/settings/StorageTab.vue
+++ b/web/admin/src/views/system/settings/StorageTab.vue
@@ -47,8 +47,8 @@ const values = useFormValues()
启用 SSL
values['storage_use_ssl'] = String(v)"
+ :model-value="!!values['storage_use_ssl']"
+ @change="(v: string | number | boolean) => values['storage_use_ssl'] = v"
/>
diff --git a/web/admin/src/views/system/settings/useSettings.ts b/web/admin/src/views/system/settings/useSettings.ts
index 1b2c3ec..64f8854 100644
--- a/web/admin/src/views/system/settings/useSettings.ts
+++ b/web/admin/src/views/system/settings/useSettings.ts
@@ -19,12 +19,7 @@ export function useSettings(category: () => string) {
const items = res.data?.data?.list || []
const vals: Record
= {}
for (const item of items) {
- let val = item.value ?? item.default ?? ''
- // Normalize bool values to strings for consistent switch handling
- if (item.type === 'bool') {
- val = String(val)
- }
- vals[item.key] = val
+ vals[item.key] = item.value ?? item.default ?? ''
}
Object.keys(formValues).forEach(k => delete formValues[k])
Object.assign(formValues, vals)