docs(audit): UI 还原 + 性能审计报告;修登录假动画延迟
- 新增 UI 还原对比报告 / 性能审计报告(2026-06-19,14 块页面 + 6 块性能,逐项 file:line) - auth-screen: 删除登录成功后 ~1.5s 人为进度动画延迟,凭证验过即进 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
5cfee715a2
commit
856a93b8a9
@@ -5,25 +5,13 @@ import { api, getRemember, setRemember as persistRemember } from "../api";
|
||||
import type { Team, User } from "../types";
|
||||
import type { AuthMode } from "./route-config";
|
||||
|
||||
const LOGIN_PROGRESS_STAGE_MS = 520;
|
||||
|
||||
type LoginProgress = "checking" | "verified" | "entering";
|
||||
type LoginProgress = "checking" | "entering";
|
||||
|
||||
const LOGIN_PROGRESS_COPY: Record<LoginProgress, string> = {
|
||||
checking: "正在验证用户名和密码…",
|
||||
verified: "验证成功,正在登录…",
|
||||
entering: "登录成功,正在进入 Airshelf"
|
||||
};
|
||||
|
||||
function wait(ms: number) {
|
||||
return new Promise((resolve) => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
async function completeProgressStage(startedAt: number) {
|
||||
const remaining = LOGIN_PROGRESS_STAGE_MS - (Date.now() - startedAt);
|
||||
if (remaining > 0) await wait(remaining);
|
||||
}
|
||||
|
||||
type FieldErrors = {
|
||||
username?: string;
|
||||
password?: string;
|
||||
@@ -92,15 +80,11 @@ export function AuthScreen({
|
||||
setError("");
|
||||
setLoginProgress("checking");
|
||||
try {
|
||||
const checkingStartedAt = Date.now();
|
||||
const payload = await api.login({ username: username.trim(), password });
|
||||
// 记住我:勾选则存用户名 + 7 天有效期,token 落 localStorage;否则只存当前会话
|
||||
persistRemember(username.trim(), remember);
|
||||
await completeProgressStage(checkingStartedAt);
|
||||
setLoginProgress("verified");
|
||||
await wait(LOGIN_PROGRESS_STAGE_MS);
|
||||
// 凭证验过即进:不再做任何人为延迟动画。"进入"态由真实的 onAuthed(身份+数据水合)驱动。
|
||||
setLoginProgress("entering");
|
||||
await wait(LOGIN_PROGRESS_STAGE_MS);
|
||||
await onAuthed({ ...payload, remember });
|
||||
} catch (err) {
|
||||
setLoginProgress(null);
|
||||
|
||||
Reference in New Issue
Block a user