diff --git a/apps/application/views/application_chat.py b/apps/application/views/application_chat.py index 381a328f2b3..9185747460d 100644 --- a/apps/application/views/application_chat.py +++ b/apps/application/views/application_chat.py @@ -346,7 +346,7 @@ def get( "chat_user_id": str(request.user.id), } ) - return result.success(serializer.page(current_page, page_size)) + return result.success(serializer.debug_page(current_page, page_size)) class Operate(APIView): authentication_classes = [TokenAuth] diff --git a/apps/chat/serializers/chat_record.py b/apps/chat/serializers/chat_record.py index de0db6fcf77..cb670280828 100644 --- a/apps/chat/serializers/chat_record.py +++ b/apps/chat/serializers/chat_record.py @@ -214,6 +214,15 @@ def list(self): queryset = self.get_queryset() return [ChatRecordSerializerModel(r).data for r in queryset] + def debug_page(self, current_page, page_size): + self.is_valid(raise_exception=True) + application_access_token = ( + QuerySet(ApplicationAccessToken).filter(application_id=self.data.get("application_id")).first() + ) + return ApplicationChatRecordQuerySerializers( + data={"application_id": self.data.get("application_id"), "chat_id": self.data.get("chat_id")} + ).page(current_page, page_size, show_source=True, show_exec=True) + def page(self, current_page, page_size): self.is_valid(raise_exception=True) application_access_token = ( diff --git a/ui/src/conversation-panel/left-sidebar/account-menu/index.vue b/ui/src/conversation-panel/left-sidebar/account-menu/index.vue index ddf2f3cd620..8a51f9eb5d4 100644 --- a/ui/src/conversation-panel/left-sidebar/account-menu/index.vue +++ b/ui/src/conversation-panel/left-sidebar/account-menu/index.vue @@ -28,11 +28,17 @@ const tokenPercentage = computed(() => { const userPwdDialogRef = useTemplateRef>('userPwdDialogRef') const apiKeyDialogRef = useTemplateRef>('apiKeyDialogRef') -// 退出对话账号后重新导航,由守卫处理后续认证。 +// 退出对话账号后回到当前场景首页,不停留在上一用户的对话;由守卫决定匿名认证或跳转登录页。 const handleLogout = () => { return auth .logout() - .then(() => router.replace({ path: router.currentRoute.value.fullPath, force: true })) + .then(() => + router.replace( + route.meta.portal + ? { name: 'portal-application-list', force: true } + : { name: 'chat-home', params: { accessToken: route.params.accessToken }, force: true }, + ), + ) .catch(() => {}) }