diff --git a/backend/internal/version/version.go b/backend/internal/version/version.go index f1353cd..fae9577 100644 --- a/backend/internal/version/version.go +++ b/backend/internal/version/version.go @@ -12,13 +12,3 @@ func Current() string { return Version } - - - - - - - - - - diff --git a/frontend/src/pages/Login.tsx b/frontend/src/pages/Login.tsx index 54f422a..135559c 100644 --- a/frontend/src/pages/Login.tsx +++ b/frontend/src/pages/Login.tsx @@ -3,13 +3,6 @@ import { Lock, User } from 'lucide-react' import AppIcon from '../components/AppIcon' import { useAuth } from '../contexts/AuthContext' -async function sha256Hash(input: string): Promise { - const msgBuffer = new TextEncoder().encode(input) - const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer) - const hashArray = Array.from(new Uint8Array(hashBuffer)) - return hashArray.map(b => b.toString(16).padStart(2, '0')).join('') -} - export default function Login() { const { login, accessCodeLogin } = useAuth() const [username, setUsername] = useState('') @@ -36,7 +29,7 @@ export default function Login() { } } catch (err: unknown) { const error = err as { response?: { data?: { message?: string } } } - setError(error.response?.data?.message || '鐧诲綍澶辫触锛岃妫€鏌ョ敤鎴峰悕鍜屽瘑鐮?) + setError(error.response?.data?.message || '登录失败,请检查用户名和密码') } finally { setLoading(false) } @@ -51,7 +44,7 @@ export default function Login() {

CLICD

-

{isAccessCodeLogin ? '瀹瑰櫒绠$悊鐧诲綍' : 'LXC Container Manager'}

+

{isAccessCodeLogin ? '容器管理登录' : 'LXC Container Manager'}

@@ -64,7 +57,7 @@ export default function Login() { {!isAccessCodeLogin && (
@@ -75,7 +68,7 @@ export default function Login() { value={username} onChange={(event) => setUsername(event.target.value)} className="block w-full pl-10 pr-3 py-2.5 border border-gray-300 rounded-md text-black bg-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-black focus:border-black text-sm" - placeholder="杈撳叆鐢ㄦ埛鍚? + placeholder="输入用户名" required autoComplete="username" /> @@ -85,7 +78,7 @@ export default function Login() {
@@ -96,7 +89,7 @@ export default function Login() { value={password} onChange={(event) => setPassword(event.target.value)} className="block w-full pl-10 pr-3 py-2.5 border border-gray-300 rounded-md text-black bg-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-black focus:border-black text-sm" - placeholder="杈撳叆瀵嗙爜" + placeholder="输入密码" required autoComplete="current-password" /> @@ -108,7 +101,7 @@ export default function Login() { disabled={loading} className="w-full bg-black text-white py-2.5 rounded-md hover:bg-gray-800 focus:outline-none focus:ring-2 focus:ring-black focus:ring-offset-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed text-sm font-medium" > - {loading ? '鐧诲綍涓?..' : '鐧诲綍'} + {loading ? '登录中...' : '登录'}