diff --git a/src/routes/admin/settings/+page.server.ts b/src/routes/admin/settings/+page.server.ts index 51b9a63..aa6a2ba 100644 --- a/src/routes/admin/settings/+page.server.ts +++ b/src/routes/admin/settings/+page.server.ts @@ -34,54 +34,13 @@ export const load: PageServerLoad = async ({ locals, platform }) => { }; export const actions: Actions = { - updateWebAnalytics: async ({ request, platform }) => { + updateBasicSettings: async ({ request, platform }) => { const db = platform?.env?.DB; if (!db) return fail(500, { error: '数据库未连接' }); const data = await request.formData(); - const token = data.get('web_analytics_token')?.toString().trim() || ''; + const autoWebp = data.get('upload_auto_webp') === 'true' ? 'true' : 'false'; - try { - await db - .prepare( - `INSERT INTO settings (key, value, updated_at) - VALUES (?, ?, CURRENT_TIMESTAMP) - ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = CURRENT_TIMESTAMP` - ) - .bind('site.web_analytics_token', token) - .run(); - return { success: true }; - } catch (err: any) { - console.error('Failed to update web analytics token', err); - return fail(500, { error: '保存统计设置失败' }); - } - }, - updateUploads: async ({ request, platform }) => { - const db = platform?.env?.DB; - if (!db) return fail(500, { error: '数据库未连接' }); - - const data = await request.formData(); - const enabled = data.get('upload_auto_webp') === 'true'; - try { - await db - .prepare( - `INSERT INTO settings (key, value, updated_at) - VALUES (?, ?, CURRENT_TIMESTAMP) - ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = CURRENT_TIMESTAMP` - ) - .bind('upload.auto_webp', String(enabled)) - .run(); - return { success: true }; - } catch (err) { - console.error('Failed to update upload settings', err); - return fail(500, { error: '保存图片上传设置失败' }); - } - }, - updateSiteInfo: async ({ request, platform }) => { - const db = platform?.env?.DB; - if (!db) return fail(500, { error: '数据库未连接' }); - - const data = await request.formData(); const updates = [ { key: 'site.title', value: data.get('site_title')?.toString() || 'BlogFlare' }, { @@ -99,6 +58,12 @@ export const actions: Actions = { { key: 'site.launch_date', value: data.get('site_launch_date')?.toString() || '' + }, + { key: 'upload.auto_webp', value: autoWebp }, + { key: 'agent.api_token', value: data.get('agent_api_token')?.toString() || '' }, + { + key: 'site.web_analytics_token', + value: data.get('web_analytics_token')?.toString().trim() || '' } ]; @@ -115,30 +80,8 @@ export const actions: Actions = { } return { success: true }; } catch (err: any) { - console.error('Failed to update site info', err); - return fail(500, { error: '保存站点信息失败' }); - } - }, - updateApiToken: async ({ request, platform }) => { - const db = platform?.env?.DB; - if (!db) return fail(500, { error: '数据库未连接' }); - - const data = await request.formData(); - const token = data.get('agent_api_token')?.toString() || ''; - - try { - await db - .prepare( - `INSERT INTO settings (key, value, updated_at) - VALUES (?, ?, CURRENT_TIMESTAMP) - ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = CURRENT_TIMESTAMP` - ) - .bind('agent.api_token', token) - .run(); - return { success: true }; - } catch (err: unknown) { - console.error('Failed to update api token', err); - return fail(500, { error: '保存 API Token 失败' }); + console.error('Failed to update basic settings', err); + return fail(500, { error: '保存基础设置失败' }); } }, updateAliases: async ({ request, platform }) => { diff --git a/src/routes/admin/settings/+page.svelte b/src/routes/admin/settings/+page.svelte index 94ecfc0..ccdfe59 100644 --- a/src/routes/admin/settings/+page.svelte +++ b/src/routes/admin/settings/+page.svelte @@ -63,20 +63,47 @@