wujingjing
2025-01-10 cb8d6096461752e321dda968d39999f3c2f81183
src/layout/component/sidebar/components/ChatRecord.vue
@@ -5,16 +5,16 @@
            <el-button
               @click="newChatRoomClick"
               icon="ele-Plus"
               color="#1c86ff"
               class="flex items-center box-border mb-3 justify-center add_room cursor-pointer w-[124px] h-[32.88px] rounded-s-md text-white opacity-100"
               class="flex items-center box-border mb-3 justify-center add_room cursor-pointer w-[124px] h-[32.88px] rounded-s-md text-white opacity-100 bg-[var(--color-bg-avatar)]"
            >
               新建对话
            </el-button>
            <el-popover placement="right-start" :width="136" trigger="hover">
            <OtherPlatform />
            <!-- <el-popover placement="right-start" :width="136" trigger="hover">
               <template #reference>
                  <div class="nav__chat">
                     <div class="nav__chat-icon">
                        <span class="chat_img ywifont ywicon-shouji !text-[20px] text-[#fff]"></span>
                        <span class="chat_img ywifont ywicon-shoujidiannao !text-[20px] text-[#fff]"></span>
                     </div>
                  </div>
               </template>
@@ -31,20 +31,20 @@
                     </div>
                  </div>
               </template>
            </el-popover>
            </el-popover> -->
         </div>
      </div>
      <div
         class="flex flex-col flex-auto w-[210.98px] rounded-t-lg box-border mb-3 relative opacity-100 shadow-lg shadow-[[#0e0e0f]-500/50"
      >
         <div class="group flex-0 relative w100 h-[34px] bg-[#2b2c30]">
         <div class="group flex-0 relative w100 h-[34px] bg-[var(--color-bg-base-exr)]">
            <el-input clearable v-model="queryParams.title" placeholder="搜索" class="set-input">
               <template #prefix>
                  <el-icon><search /></el-icon>
               </template>
            </el-input>
            <div
               class="absolute hidden top-[100%] w-[84px] z-[1001] left-0 group-hover:block overflow-hidden rounded-md text-sm text-gray-500 bg-[#fff] py-1.5"
               class="absolute hidden top-[100%] w-[84px] z-[1001] left-0 group-hover:block overflow-hidden rounded-md text-gray-500 bg-[#fff] py-1.5"
            >
               <div
                  class="w100 relative hover:bg-[#e6f1ff]"
@@ -64,16 +64,16 @@
         <div class="flex-auto text-[#ccc] flex flex-col items-center mt-6 overflow-y-auto set-scroll" ref="chatRoomRef">
            <div
               :class="{ 'bg-[#41424a]': item.id === activeRoomId }"
               :class="{ 'text-btn-base': item.id === activeRoomId }"
               class="group flex items-center w-full h-10 rounded-md cursor-pointer px-2 py-2 flex-0"
               v-for="(item, index) in queryData"
               :key="index"
               @click="roomClick(item)"
            >
               <div class="ywifont ywicon-xiaoxi1 flex-0 mr-2.5"></div>
               <div class="flex-auto text-ellipsis text-nowrap text-sm group-hover:text-[#0084ff]">{{ item.title }}</div>
               <div class="flex-auto text-ellipsis text-nowrap group-hover:text-btn-base">{{ item.title }}</div>
               <div class="text-gray-100 flex items-center space-x-2 ml-1">
                  <div class="ywifont invisible ywicon-bianji group-hover:visible !text-sm" @click.stop="editChat(item)"></div>
                  <div class="ywifont invisible ywicon-bianji group-hover:visible !" @click.stop="editChat(item)"></div>
                  <el-popconfirm title="确定删除聊天记录?" @confirm.stop="confirmDeleteChatRoom(item)" width="180">
                     <template #reference>
                        <div class="ywifont invisible ywicon-shanchu3 group-hover:visible"></div>
@@ -99,6 +99,7 @@
import { DateFilter, dateFilterMap } from '/@/model/types/date';
import { activeRoomId, chatRoomList, gotoAnswerPage, newChatRoomClick, selectFirstRoom } from '/@/stores/chatRoom';
import { debounce, getRecentDateRange } from '/@/utils/util';
import OtherPlatform from './OtherPlatform.vue';
const chatRoomRef = ref<HTMLDivElement>(null);
const queryParams = ref({
   title: '',
@@ -196,8 +197,11 @@
//#endregion
//#region ====================== 扫码手机端下载 ======================
const setPhoneQRCode = ref<HTMLElement | null>(null);
let isInitQrcode = false;
// 初始化生成二维码
const initQrcode = () => {
   if (isInitQrcode) return;
   isInitQrcode = true;
   let currentTime = new Date().getTime();
   const url = `${SERVE_URL}ai_html/views/mobileDownload/index.html?v=${currentTime}`;
   nextTick(() => {
@@ -212,6 +216,10 @@
   });
};
//#endregion
const addPluginClick = () => {
   window.open(`${SERVE_URL}ai_html/views/extension/index.html`);
};
onMounted(async () => {
   selectFirstRoom();
   initQrcode();
@@ -256,7 +264,7 @@
   margin-bottom: 10px;
   cursor: pointer;
   &:hover {
      background-color: #41424a;
      background-color: var(--color-bg-base);
   }
   .nav__chat-icon {
      background-position: 8px 8px;