|
@@ -1,12 +1,12 @@
|
|
|
<!-- Chat.vue -->
|
|
|
<template>
|
|
|
|
|
|
- <div class="chat-container" style="padding-top: 3rem;">
|
|
|
+ <div class="chat-container items-center" >
|
|
|
<!-- <div v-if="!messages.length && !msgLoading" class="message-list">
|
|
|
<pageMask />
|
|
|
</div> -->
|
|
|
<!-- 消息列表 -->
|
|
|
- <div class="message-list">
|
|
|
+ <div class="message-list w-full">
|
|
|
<el-scrollbar ref="scrollbar" @scroll="handleScroll" v-loading="msgLoading">
|
|
|
<!-- 加载更多指示器 -->
|
|
|
<div v-if="isLoadingMore" class="loading-more-indicator">
|
|
@@ -18,14 +18,12 @@
|
|
|
:class="['message-item', message.role === 'user' ? 'self' : 'other']">
|
|
|
<el-avatar :size="32" :src="message.role === 'user' ? userAvatar : avatar" />
|
|
|
<div class="message-content">
|
|
|
- <div class="content" v-if="message.role ==='system'"
|
|
|
+ <div class="content w-full" v-if="message.role ==='system'"
|
|
|
:class="{ 'loading-content': message.content === '' }">
|
|
|
<StepsDisplay
|
|
|
v-if="message.type === 'plan'"
|
|
|
- :content="message.rawContent"
|
|
|
- :initialStep="initialSteps"
|
|
|
- @step-change="handleStepChange" @complete="handleComplete"
|
|
|
/>
|
|
|
+
|
|
|
<span v-else v-html="message.content"></span>
|
|
|
<span class="loading-indicator" v-if="sendLoading && index === messages.length - 1">
|
|
|
<span class="dot"></span>
|
|
@@ -55,9 +53,9 @@
|
|
|
|
|
|
<Tools />
|
|
|
|
|
|
- <div>
|
|
|
+ <div class="w-full max-w-[720px] p-[0_12px_12px]">
|
|
|
<!-- 输入区域 -->
|
|
|
- <div class="input-area">
|
|
|
+ <div class="input-area w-full">
|
|
|
<el-icon class="closeShow" :style="{ display: isShowPage ? 'block' : 'none'}" size="16px" color="#909399"
|
|
|
@click="closePageInfo">
|
|
|
<CircleClose />
|
|
@@ -120,7 +118,6 @@
|
|
|
import { ref, onMounted, nextTick, inject, useTemplateRef, reactive,onBeforeMount } from 'vue'
|
|
|
import { ElScrollbar, ElAvatar, ElInput, ElButton } from 'element-plus'
|
|
|
import moment from 'moment'
|
|
|
-import { sendMessage } from 'webext-bridge/side-panel'
|
|
|
import {
|
|
|
controllerList
|
|
|
} from '@/entrypoints/sidepanel/utils/ai-service.js'
|
|
@@ -191,7 +188,7 @@ function handleScroll(a) {
|
|
|
handleScrollToTop()
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+const format = (percentage) => (percentage === 100 ? 'Full' : `${percentage}%`)
|
|
|
const messagesContainer = ref(null)
|
|
|
let innerText = ''
|
|
|
// 处理滚动到顶部的事件
|
|
@@ -350,10 +347,9 @@ async function createWS(msg) {
|
|
|
obj.type = 'plan'
|
|
|
console.log(res, 5558)
|
|
|
obj.rawContent = res.data.plan
|
|
|
- sendMessage('FROM_PLAN', {
|
|
|
- params,
|
|
|
- payload: { ...res.data.plan }
|
|
|
- }, 'background')
|
|
|
+ chrome.runtime.sendMessage({
|
|
|
+ type: "FROM_PLAN",
|
|
|
+ payload: {params,...res.data.plan},});
|
|
|
}).catch(res => {
|
|
|
obj.rawContent = '接口出错,请重试。'
|
|
|
obj.content = '接口出错,请重试。'
|