wujingjing
2025-04-10 b9d28bd6af15026741099c25a6e72fe947ad3772
src/components/chat/components/ChatContainer.vue
@@ -22,12 +22,17 @@
               <i class="ywifont ywicon-xiangxiajiantou !text-[20px]" />
            </div>
         </div>
         <div v-show="digitalHumanIsShow" v-loading="humanIsLoading" class="absolute right-28 bottom-[250px] w-[303.75px] h-[540px]">
            <span class="ywifont ywicon-guanbi text-[20px] cursor-pointer absolute top-2 right-2 z-[1]" @click="closeDigitalHuman"></span>
         <div
            v-show="digitalHumanIsShow"
            v-loading="humanIsLoading"
            class="absolute right-0 bottom-0 z-[2]"
            :style="{ width: digitalHumanWidth, height: `calc(${digitalHumanWidth} * 16 / 9)` }"
         >
            <span class="ywifont ywicon-guanbi text-[20px] cursor-pointer absolute top-7 right-7 z-[1]" @click="closeDigitalHuman"></span>
            <div class="duix-container h-full w-full"></div>
         </div>
         <div v-if="!digitalHumanIsShow" class="absolute right-28 bottom-[250px]">
         <div v-if="!digitalHumanIsShow" class="absolute right-[24px] bottom-[100px] z-[2]">
            <el-tooltip content="数字人" placement="top">
               <div
                  class="flex items-center justify-center size-[38px] cursor-pointer hover:text-[#0284ff] border rounded-full hover:bg-[#f6f7f9] shadow bg-white"
@@ -64,19 +69,28 @@
import { onActivated, onDeactivated, ref } from 'vue';
import { useChatWidth } from '../hooks/useChatWidth';
import { useScroll } from '../hooks/useScroll';
import emitter from '/@/utils/mitt';
import type { QuestionLifecycle } from '../types';
import { useDigitalHuman } from './playBar/hook/useDigitalHuman';
import emitter from '/@/utils/mitt';
const props = defineProps<{
   loading?: boolean;
   moreIsLoading?: boolean;
   isSharePage?: boolean;
}>();
const emit = defineEmits<{
   autoSendMessage: [string, QuestionLifecycle];
}>();
const chatListDom = ref<HTMLDivElement>();
const { openDigitalHuman, isHumanTalking, humanIsLoading,digitalHumanIsShow, closeDigitalHuman } = useDigitalHuman({
   container: '.duix-container',
});
const { openDigitalHuman, isHumanTalking, humanIsLoading, digitalHumanIsShow, closeDigitalHuman, digitalHumanWidth } = useDigitalHuman(
   {
      container: '.duix-container',
      autoSendMessage: (question: string, lifecycleCall?: QuestionLifecycle) => {
         emit('autoSendMessage', question, lifecycleCall);
      },
   }
);
const { scrollToBottom, isBottom } = useScroll({
   chatListDom,
});