yangyin
2024-11-14 a12818479aac56a0c08206ce4dcf4ede092e9376
src/stores/chatRoom.ts
@@ -1,6 +1,8 @@
import { computed, ref } from 'vue';
import { getSectionList, getSelectSample, getUserTemplateList } from '../api/ai/chat';
import { CreateHistoryGroup, getSectionList, getSelectSample, getUserTemplateList } from '../api/ai/chat';
import type { ChatRoomItem } from '../layout/component/sidebar/components/types';
import { router } from '../router';
import { gotoRoute } from '../utils/route';
/**
 * Room 关联的一些配置
 */
@@ -67,6 +69,8 @@
 * 全局使用的 ref
 */
export const sectionAList = ref([]);
export const isShowLogin = ref(false);
export const isLoginStatus = ref(false);
//#region ====================== 全局使用数据 ======================
// group 列表
@@ -122,3 +126,55 @@
};
//#endregion
/** @description 聊天室展示模式 */
export type ChatMode = 'share' | 'default';
/** @description 聊天室展示模式 */
// export const chatDisplayMode = ref<ChatMode>('default');
export const SHARE_PAGE_NAME = 'ShareAnswer';
export const isSharePage = computed(() => {
   const isShare = router.currentRoute.value.name === SHARE_PAGE_NAME;
   return isShare;
});
export const newChatRoomClick = async () => {
   const res = await CreateHistoryGroup({
      group_title: '新建对话开始',
   });
   const newRoom = {
      id: res.history_group_id,
      isInitial: true,
      title: '新建对话开始',
   };
   if (!chatRoomList.value) {
      chatRoomList.value = [newRoom];
   } else {
      chatRoomList.value.unshift(newRoom);
   }
   activeRoomId.value = newRoom.id;
   gotoAnswerPage(newRoom);
};
export const gotoAnswerPage = (room: ChatRoomItem) => {
   if (room.isInitial) {
      gotoRoute({
         name: 'Home',
         query: {
            id: room.id,
         },
      });
   } else {
      gotoRoute({
         name: 'AskAnswer',
         query: {
            id: room.id,
         },
      });
   }
};
// 是否已经展示引导
export const hadShowFirstGuide = ref(false);
//是否是新老用户
export const isNewOldUser = ref(null);