feat: 收到webaddress事件直接展示卡片
This commit is contained in:
@@ -362,7 +362,6 @@
|
||||
|
||||
let hasSketchEvent = false
|
||||
let hasReportEvent = false
|
||||
let hasUrlEvent = false
|
||||
try {
|
||||
let flag = true
|
||||
while (flag) {
|
||||
@@ -374,9 +373,6 @@
|
||||
if (hasReportEvent) {
|
||||
aiMessage.text += `<slot slot-name="card" title="Report" content="Report"></slot>`
|
||||
}
|
||||
if (hasUrlEvent) {
|
||||
aiMessage.text += `<slot slot-name="url"></slot>`
|
||||
}
|
||||
|
||||
aiMessage.streaming = false
|
||||
aiMessage.loading = false
|
||||
@@ -470,7 +466,11 @@
|
||||
if (jsonData.webAddress) {
|
||||
const parsed = JSON.parse(jsonData.webAddress)
|
||||
aiMessage.webAddress = parsed
|
||||
hasUrlEvent = true
|
||||
aiMessage.loading = false
|
||||
if (!aiMessage._urlSlotAdded) {
|
||||
aiMessage.text += `<slot slot-name="url"></slot>`
|
||||
aiMessage._urlSlotAdded = true
|
||||
}
|
||||
if (String(aiMessage.sessionId) === String(projectStore.state.id)) {
|
||||
triggerOpenUrls(parsed)
|
||||
}
|
||||
|
||||
@@ -54,15 +54,15 @@
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="type === 'url'">
|
||||
<div class="url-list flex">
|
||||
<div class="url-item flex flex-col" v-for="item in urlList" :key="item">
|
||||
<TransitionGroup name="url-card" class="url-list flex" tag="div">
|
||||
<div class="url-item flex flex-col" v-for="item in urlList" :key="item.url">
|
||||
<div class="url-title" v-ellipsis="3" @click="handleClickUrl(item)">
|
||||
{{ item.title }}
|
||||
<img src="@/assets/images/link-outer.png" class="link-outer" />
|
||||
</div>
|
||||
<div class="url-link" v-ellipsis="3">{{ item.url }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</TransitionGroup>
|
||||
</template>
|
||||
<div v-else class="reportBorder">
|
||||
<div class="report">
|
||||
@@ -433,6 +433,19 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.url-card-enter-active {
|
||||
animation: urlCardIn 0.4s ease-out;
|
||||
}
|
||||
@keyframes urlCardIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(2rem) scale(0.95);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
}
|
||||
.url-list {
|
||||
flex: 1;
|
||||
flex-wrap: wrap;
|
||||
|
||||
Reference in New Issue
Block a user