feat: add settings pages

This commit is contained in:
engigu
2025-12-20 12:00:08 +08:00
parent 70cc7c0f8c
commit c299ed67d6
23 changed files with 10462 additions and 130 deletions
+14 -2
View File
@@ -101,14 +101,18 @@ export const api = {
detail: (id: number) => request<LogDetail>(`/logs/${id}`)
},
dashboard: {
stats: () => request<Stats>('/stats')
stats: () => request<Stats>('/stats'),
sentence: () => request<{ sentence: string }>('/sentence')
},
settings: {
changePassword: (data: { old_password: string; new_password: string }) =>
request('/settings/password', { method: 'POST', body: JSON.stringify(data) }),
cleanLogs: (days: number) =>
request<{ deleted: number }>('/settings/clean-logs', { method: 'POST', body: JSON.stringify({ days }) }),
getSite: () => request<{ site_name: string; port: number }>('/settings/site'),
getSite: () => request<SiteSettings>('/settings/site'),
getPublicSite: () => request<{ title: string; subtitle: string; icon: string }>('/settings/public'),
updateSite: (data: SiteSettings) =>
request('/settings/site', { method: 'PUT', body: JSON.stringify(data) }),
getAbout: () => request<AboutInfo>('/settings/about')
},
files: {
@@ -252,3 +256,11 @@ export interface AboutInfo {
log_count: number
env_count: number
}
export interface SiteSettings {
title: string
subtitle: string
icon: string
page_size: string
cookie_days: string
}