Browse Source

feat: 增加登录状态检查,确保未登录用户重定向到默认代理

feat/agent-independence
npmrun 2 months ago
parent
commit
b4af7e2d55
  1. 4
      app/components/agent/AgentSidebar.vue
  2. 12
      app/pages/chat/[agentSlug]/index.vue

4
app/components/agent/AgentSidebar.vue

@ -32,7 +32,7 @@ const isAdmin = computed(() => props.user?.role === "admin");
<aside class="agent-sidebar desktop" :class="{ collapsed }"> <aside class="agent-sidebar desktop" :class="{ collapsed }">
<div class="sidebar-header"> <div class="sidebar-header">
<AgentSwitcher <AgentSwitcher
v-if="currentAgentSlug" v-if="currentAgentSlug && loggedIn"
:current-slug="currentAgentSlug" :current-slug="currentAgentSlug"
@switch="emit('switchAgent', $event)" @switch="emit('switchAgent', $event)"
/> />
@ -110,7 +110,7 @@ const isAdmin = computed(() => props.user?.role === "admin");
<aside v-if="mobile && !collapsed" class="agent-sidebar mobile"> <aside v-if="mobile && !collapsed" class="agent-sidebar mobile">
<div class="sidebar-header"> <div class="sidebar-header">
<AgentSwitcher <AgentSwitcher
v-if="currentAgentSlug" v-if="currentAgentSlug && loggedIn"
:current-slug="currentAgentSlug" :current-slug="currentAgentSlug"
@switch="emit('switchAgent', $event)" @switch="emit('switchAgent', $event)"
/> />

12
app/pages/chat/[agentSlug]/index.vue

@ -282,6 +282,18 @@ async function handleLogout() {
} }
onMounted(async () => { onMounted(async () => {
if (!auth.loggedIn.value) {
try {
const res = await $fetch<{ code: number; data: { slug: string } }>("/api/agents/default-agent");
const defaultSlug = res.data?.slug;
if (defaultSlug && defaultSlug !== agentSlug.value) {
navigateTo(`/chat/${defaultSlug}`, { replace: true });
return;
}
} catch {
// ignore
}
}
await Promise.all([sessions.init(), loadModels(), loadSystemPrompt(), loadUserConfig()]); await Promise.all([sessions.init(), loadModels(), loadSystemPrompt(), loadUserConfig()]);
}); });
</script> </script>

Loading…
Cancel
Save