This commit is contained in:
Baobhan Sith
2025-04-19 09:26:34 +08:00
parent 1b7a2abb5c
commit 8df8b82af1
4 changed files with 28 additions and 20 deletions
+2 -1
View File
@@ -635,7 +635,8 @@
"SSH_SHELL_FAILURE": "SSH Shell Open Failed",
"SERVER_STARTED": "Server Started",
"SERVER_ERROR": "Server Error",
"DATABASE_MIGRATION": "Database Migration"
"DATABASE_MIGRATION": "Database Migration",
"ADMIN_SETUP_COMPLETE": "Initial Admin Setup Completed"
}
},
"workspaceConnectionList": {
+2 -1
View File
@@ -635,7 +635,8 @@
"SSH_SHELL_FAILURE": "SSH Shell 打开失败",
"SERVER_STARTED": "服务器已启动",
"SERVER_ERROR": "服务器错误",
"DATABASE_MIGRATION": "数据库迁移"
"DATABASE_MIGRATION": "数据库迁移",
"ADMIN_SETUP_COMPLETE": "初始管理员设置完成"
}
},
"workspaceConnectionList": {
+22 -16
View File
@@ -39,24 +39,30 @@ app.use(i18n); // 使用 i18n
await router.push('/setup');
app.mount('#app');
} else {
// 2b. 如果不需要设置,加载其他初始数据
console.log("不需要初始设置,加载通用设置和外观数据...");
const settingsStore = useSettingsStore(pinia);
const appearanceStore = useAppearanceStore(pinia);
await Promise.all([
settingsStore.loadInitialSettings(),
appearanceStore.loadInitialAppearanceData()
]).then(() => {
console.log("初始设置和外观数据加载完成。");
}).catch((error: unknown) => {
console.error("加载初始数据失败 (settings/appearance):", error);
// 即使加载失败,也继续挂载应用
});
// 3. 检查认证状态 (可以在加载设置后进行)
// 2b. 如果不需要设置,先检查认证状态
console.log("不需要初始设置,检查认证状态...");
await authStore.checkAuthStatus();
if (authStore.isAuthenticated) {
// 3a. 如果已认证,加载用户设置和外观数据
console.log("用户已认证,加载设置和外观数据...");
const settingsStore = useSettingsStore(pinia);
const appearanceStore = useAppearanceStore(pinia);
try {
await Promise.all([
settingsStore.loadInitialSettings(),
appearanceStore.loadInitialAppearanceData()
]);
console.log("用户设置和外观数据加载完成。");
} catch (error) {
console.error("加载用户设置或外观数据失败:", error);
// 加载失败也继续,可能使用默认值或显示错误
}
} else {
// 3b. 如果未认证,不需要加载用户特定数据
console.log("用户未认证。");
}
// 4. 挂载应用
app.mount('#app');
}
+2 -2
View File
@@ -30,8 +30,8 @@
</div>
<div class="settings-section">
<h2>Passkey 设置</h2>
<p>使用 Passkey无密码认证提升安全性和便捷性您可以注册新的 Passkey 用于登录</p>
<h2>{{ $t('settings.passkey.title') }}</h2>
<p>{{ $t('settings.passkey.description') }}</p>
<div class="form-group">
<label for="passkey-name">{{ $t('settings.passkey.nameLabel') }}:</label>
<input type="text" id="passkey-name" v-model="passkeyName" :placeholder="$t('settings.passkey.namePlaceholder')" required>