import { useState } from 'react' import { KeyRound, Settings as SettingsIcon } from 'lucide-react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { authApi } from '@/srv/api' export default function Settings() { const [oldPassword, setOldPassword] = useState('') const [newPassword, setNewPassword] = useState('') const [confirmPassword, setConfirmPassword] = useState('') const [changing, setChanging] = useState(false) const handleChangePassword = async (e: React.FormEvent) => { e.preventDefault() if (newPassword !== confirmPassword) { alert('两次输入的密码不一致') return } setChanging(true) try { await authApi.changePassword(oldPassword, newPassword) alert('密码修改成功') setOldPassword('') setNewPassword('') setConfirmPassword('') } catch (err: unknown) { const message = err instanceof Error ? err.message : '密码修改失败' alert(message) } finally { setChanging(false) } } return (

系统设置

修改登录密码与查看系统信息

{/* 修改密码 */} 修改密码
setOldPassword(e.target.value)} placeholder="请输入当前密码" required />
setNewPassword(e.target.value)} placeholder="请输入新密码(至少 6 位)" required minLength={6} />
setConfirmPassword(e.target.value)} placeholder="请再次输入新密码" required />
{/* 关于 */} 关于 LokiDeploy
版本 v1.0.0
后端 Go + Gin + JSON 文件存储
前端 React + TypeScript + Tailwind CSS
部署工具 kubectl + helm(镜像内置)
简介 轻量级 K8s Loki 部署平台
) }