From c4d3c154037003fc3c7b90c1e57be396333bae58 Mon Sep 17 00:00:00 2001 From: yuyx <237899745@qq.com> Date: Sun, 30 Nov 2025 11:07:07 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=88=B7=E6=96=B0=E6=97=B6UI=E9=97=AA=E7=83=81?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加appReady状态控制应用显示时机 - 在checkLoginStatus完成后才显示主界面 - 添加加载占位符动画(云图标脉冲效果) - 使用v-if/v-else确保UI状态一致性 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/app.html | 33 +++++++++++++++++++++++++++++++++ frontend/app.js | 6 ++++++ 2 files changed, 39 insertions(+) diff --git a/frontend/app.html b/frontend/app.html index 1b91c57..7c72084 100644 --- a/frontend/app.html +++ b/frontend/app.html @@ -245,6 +245,29 @@ /* 防止 Vue 初始化前显示原始模板 */ [v-cloak] { display: none !important; } + /* 应用加载占位符 */ + .app-loading { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: var(--bg-primary); + display: flex; + align-items: center; + justify-content: center; + z-index: 9999; + } + .app-loading .loading-spinner { + font-size: 48px; + color: var(--accent-primary); + animation: pulse 1.5s ease-in-out infinite; + } + @keyframes pulse { + 0%, 100% { opacity: 0.4; transform: scale(0.95); } + 50% { opacity: 1; transform: scale(1.05); } + } + * { margin: 0; padding: 0; box-sizing: border-box; } body { @@ -1009,6 +1032,15 @@
+ +
+
+ +
+
+ + +