feat(intelligent-agent): 重构智能体页面

- 更新 API 接口地址
- 优化智能体列表和详情的展示逻辑
- 添加新的智能体类型和相关配置
- 调整样式和布局,提升用户体验
This commit is contained in:
陈昱达
2025-04-29 13:48:58 +08:00
parent 8c5970fa76
commit 7a5292f99f
13 changed files with 189 additions and 65 deletions

View File

@@ -8,7 +8,7 @@ import getUrl from '@/assets/js/utils/get-url'
*/
const agentList = (data = {}) => {
return request({
url: getUrl('/ebiz/intelligentAgent/list'),
url: getUrl('/intelligent/app/page'),
method: 'post',
data
})
@@ -20,9 +20,9 @@ const agentList = (data = {}) => {
*/
function agentDetail(id) {
return request({
url: getUrl('/ebiz/intelligentAgent/query'),
url: getUrl('/intelligent/ex/query'),
method: 'get',
params: { id }
params: { appId: id }
})
}
@@ -37,7 +37,7 @@ const agentAdd = data => {
return
}
return request({
url: getUrl('/ebiz/intelligentAgent/create'),
url: getUrl('/intelligent/ex/create'),
method: 'post',
data
})
@@ -54,7 +54,7 @@ const agentDelete = data => {
return
}
return request({
url: getUrl('/ebiz/intelligentAgent/delete'),
url: getUrl('/intelligent/ex/delete'),
method: 'post',
data
})
@@ -72,7 +72,7 @@ const agentEdit = data => {
}
return request({
url: getUrl('/ebiz/intelligentAgent/update'),
url: getUrl('/intelligent/ex/update'),
method: 'post',
data
})

View File

@@ -227,6 +227,14 @@
}
}
}
&.is-disabled {
& .el-radio-button__inner {
background: unset;
&:hover {
color: #c0c4cc;
}
}
}
//&.is-active {
// background: #fff;
//}

View File

@@ -103,3 +103,10 @@ $--message-info-border: #cecece; // 信息消息框的边框色
0 0 5px $--color-primary-button-gradient;
}
}
.desc-text-color {
color: $--color-primary-desc-text-drank;
}
.back-theme-color {
background: $--color-primary;
}

View File

@@ -6,6 +6,7 @@
:destroy-on-close="destroyOnClose"
:width="width"
:before-close="handleBeforeClose"
:closeOnClickModal="closeOnClickModal"
>
<div class="render-dialog-body">
<slot name="default"></slot>
@@ -41,6 +42,10 @@ export default {
type: Boolean,
default: false
},
closeOnClickModal: {
type: Boolean,
default: true
},
beforeClose: {
type: Function,
default: null

View File

@@ -0,0 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 text-components-avatar-shape-fill-stop-100" data-icon="BubbleTextMod" aria-hidden="true"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 9C2 5.68629 4.68629 3 8 3H16C19.3137 3 22 5.68629 22 9V15C22 18.3137 19.3137 21 16 21H3C2.44772 21 2 20.5523 2 20V9ZM9 9C8.44772 9 8 9.44772 8 10C8 10.5523 8.44772 11 9 11H15C15.5523 11 16 10.5523 16 10C16 9.44772 15.5523 9 15 9H9ZM9 13C8.44772 13 8 13.4477 8 14C8 14.5523 8.44772 15 9 15H12C12.5523 15 13 14.5523 13 14C13 13.4477 12.5523 13 12 13H9Z" fill="currentColor"></path></svg>

After

Width:  |  Height:  |  Size: 637 B

View File

@@ -0,0 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 text-components-avatar-shape-fill-stop-100" data-icon="Logic" aria-hidden="true"><g id="logic"><g id="Vector"><path d="M12.9089 11.9999C13.913 11.9999 14.727 11.186 14.727 10.1819C14.727 9.17775 13.913 8.36376 12.9089 8.36376C11.9048 8.36376 11.0908 9.17775 11.0908 10.1819C11.0908 11.186 11.9048 11.9999 12.9089 11.9999Z" fill="currentColor"></path><path d="M12.2871 1.11229C9.95219 1.3228 7.78275 2.40696 6.21264 4.14796C4.64254 5.88897 3.78749 8.15849 3.81849 10.5027V10.8763L2.09676 14.3207C2.04261 14.4277 2.01016 14.5444 2.00129 14.6639C1.99241 14.7835 2.00729 14.9037 2.04506 15.0175C2.08283 15.1313 2.14275 15.2366 2.22136 15.3271C2.29997 15.4177 2.39573 15.4918 2.50311 15.5452L3.81849 16.1979V18.3632C3.81849 19.0865 4.10581 19.7802 4.61725 20.2916C5.12869 20.803 5.82234 21.0904 6.54562 21.0904H9.27276V22.9084H19.2722V16.6606C20.5995 15.3604 21.496 13.6844 21.8409 11.8588C22.1858 10.0331 21.9625 8.14562 21.2012 6.45084C20.4398 4.75606 19.1769 3.33556 17.583 2.38094C15.989 1.42633 14.1406 0.983541 12.2871 1.11229ZM17.4542 11.0909H16.416C16.3316 11.4163 16.2016 11.7282 16.0297 12.0172L16.7651 12.7526C16.8519 12.8365 16.9212 12.9368 16.9688 13.0477C17.0165 13.1586 17.0415 13.2779 17.0426 13.3986C17.0436 13.5193 17.0206 13.639 16.9749 13.7507C16.9292 13.8624 16.8617 13.9639 16.7764 14.0493C16.691 14.1346 16.5895 14.2021 16.4778 14.2478C16.3661 14.2935 16.2464 14.3165 16.1257 14.3155C16.005 14.3144 15.8857 14.2893 15.7748 14.2417C15.6639 14.1941 15.5636 14.1248 15.4797 14.038L14.7443 13.3026C14.4553 13.4745 14.1434 13.6045 13.818 13.6889V14.727C13.818 14.9681 13.7222 15.1994 13.5517 15.3698C13.3812 15.5403 13.15 15.6361 12.9089 15.6361C12.6678 15.6361 12.4366 15.5403 12.2661 15.3698C12.0957 15.1994 11.9999 14.9681 11.9999 14.727V13.6889C11.6744 13.6045 11.3625 13.4745 11.0736 13.3026L10.3382 14.038C10.1667 14.2036 9.93708 14.2952 9.69873 14.2931C9.46038 14.2911 9.23239 14.1955 9.06384 14.0269C8.8953 13.8584 8.79969 13.6304 8.79762 13.392C8.79555 13.1537 8.88718 12.924 9.05277 12.7526L9.78818 12.0172C9.61629 11.7282 9.48622 11.4163 9.40184 11.0909H8.36371C8.12262 11.0909 7.8914 10.9951 7.72092 10.8246C7.55044 10.6541 7.45467 10.4229 7.45467 10.1818C7.45467 9.94073 7.55044 9.70951 7.72092 9.53903C7.8914 9.36855 8.12262 9.27278 8.36371 9.27278H9.40184C9.48622 8.94731 9.61629 8.63544 9.78818 8.34647L9.05277 7.61105C8.88718 7.4396 8.79555 7.20997 8.79762 6.97163C8.79969 6.73328 8.8953 6.50528 9.06384 6.33673C9.23239 6.16819 9.46038 6.07259 9.69873 6.07052C9.93708 6.06844 10.1667 6.16007 10.3382 6.32566L11.0736 7.06108C11.3625 6.88918 11.6744 6.75911 11.9999 6.67473V5.63661C11.9999 5.39551 12.0957 5.16429 12.2661 4.99381C12.4366 4.82334 12.6678 4.72756 12.9089 4.72756C13.15 4.72756 13.3812 4.82334 13.5517 4.99381C13.7222 5.16429 13.818 5.39551 13.818 5.63661V6.67473C14.1434 6.75911 14.4553 6.88918 14.7443 7.06108L15.4797 6.32566C15.5636 6.23884 15.6639 6.16958 15.7748 6.12194C15.8857 6.0743 16.005 6.04922 16.1257 6.04817C16.2464 6.04713 16.3661 6.07013 16.4778 6.11583C16.5895 6.16154 16.691 6.22904 16.7764 6.31439C16.8617 6.39975 16.9292 6.50124 16.9749 6.61296C17.0206 6.72468 17.0436 6.84438 17.0426 6.96508C17.0415 7.08578 17.0165 7.20507 16.9688 7.31598C16.9212 7.42688 16.8519 7.52719 16.7651 7.61105L16.0297 8.34647C16.2016 8.63544 16.3316 8.94731 16.416 9.27278H17.4542C17.6952 9.27278 17.9265 9.36855 18.0969 9.53903C18.2674 9.70951 18.3632 9.94073 18.3632 10.1818C18.3632 10.4229 18.2674 10.6541 18.0969 10.8246C17.9265 10.9951 17.6952 11.0909 17.4542 11.0909Z" fill="currentColor"></path></g></g></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

1
src/icons/svg/chat.svg Normal file
View File

@@ -0,0 +1 @@
<svg width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 text-components-avatar-shape-fill-stop-100" data-icon="ChatBot" aria-hidden="true"><g id="chat-bot"><path id="Vector" d="M4.20913 2.76912L4.09542 2.83543L3.98172 2.76912C3.90566 2.72476 3.86328 2.64979 3.86328 2.57101C3.86328 2.44347 3.96789 2.33887 4.09542 2.33887C4.22296 2.33887 4.32757 2.44347 4.32757 2.57101C4.32757 2.64979 4.28519 2.72476 4.20913 2.76912Z" fill="currentColor" stroke="currentColor" stroke-width="1.25"></path><path id="Vector_2" d="M10.0174 6.00058C10.0123 5.98686 10.0097 5.97229 10.0046 5.95858C9.81684 5.48158 9.35398 5.14258 8.81056 5.14258H8.66784L7.52484 5.99972C7.33713 6.14029 7.11556 6.21444 6.88284 6.21444C6.29184 6.21444 5.81056 5.73358 5.81056 5.14258H2.81013C2.10127 5.14258 1.52441 5.71944 1.52441 6.42829V9.85686C1.52441 10.5657 2.10127 11.1426 2.81013 11.1426H8.81013C9.51899 11.1426 10.0958 10.5657 10.0958 9.85686V6.42829C10.0958 6.34386 10.0868 6.26158 10.071 6.18186C10.0586 6.11886 10.0384 6.05972 10.0174 6.00058ZM3.88156 8.57115C3.52713 8.57115 3.2387 8.28272 3.2387 7.92829C3.2387 7.57386 3.52713 7.28544 3.88156 7.28544C4.23599 7.28544 4.52441 7.57386 4.52441 7.92829C4.52441 8.28272 4.23599 8.57115 3.88156 8.57115ZM7.7387 8.57115C7.38427 8.57115 7.09584 8.28272 7.09584 7.92829C7.09584 7.57386 7.38427 7.28544 7.7387 7.28544C8.09313 7.28544 8.38156 7.57386 8.38156 7.92829C8.38156 8.28272 8.09313 8.57115 7.7387 8.57115Z" fill="currentColor"></path><path id="Vector_3" d="M6.66699 5.14314V1.71456C6.66699 1.24099 7.05056 0.857422 7.52413 0.857422H10.9527C11.4263 0.857422 11.8098 1.24099 11.8098 1.71456V3.42885C11.8098 3.90242 11.4263 4.28599 10.9527 4.28599H8.38128L7.00985 5.31456C6.86842 5.42042 6.66699 5.31971 6.66699 5.14314Z" fill="currentColor"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 text-components-avatar-shape-fill-stop-100" data-icon="ListSparkle" aria-hidden="true"><path d="M4 5C3.44772 5 3 5.44772 3 6C3 6.55228 3.44772 7 4 7H20C20.5523 7 21 6.55228 21 6C21 5.44772 20.5523 5 20 5H4Z" fill="currentColor"></path><path d="M17.9191 9.60608C17.7616 9.2384 17.4 9 17 9C16.6 9 16.2384 9.2384 16.0809 9.60608L14.7384 12.7384L11.6061 14.0809C11.2384 14.2384 11 14.6 11 15C11 15.4 11.2384 15.7616 11.6061 15.9191L14.7384 17.2616L16.0809 20.3939C16.2384 20.7616 16.6 21 17 21C17.4 21 17.7616 20.7616 17.9191 20.3939L19.2616 17.2616L22.3939 15.9191C22.7616 15.7616 23 15.4 23 15C23 14.6 22.7616 14.2384 22.3939 14.0809L19.2616 12.7384L17.9191 9.60608Z" fill="currentColor"></path><path d="M4 11C3.44772 11 3 11.4477 3 12C3 12.5523 3.44772 13 4 13H9C9.55228 13 10 12.5523 10 12C10 11.4477 9.55228 11 9 11H4Z" fill="currentColor"></path><path d="M4 17C3.44772 17 3 17.4477 3 18C3 18.5523 3.44772 19 4 19H7C7.55228 19 8 18.5523 8 18C8 17.4477 7.55228 17 7 17H4Z" fill="currentColor"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1 @@
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="24" height="30" fill="currentColor" class="remixicon h-4 w-4 text-components-avatar-shape-fill-stop-100"><path d="M7 21.5C4.51472 21.5 2.5 19.4853 2.5 17C2.5 14.5147 4.51472 12.5 7 12.5C9.48528 12.5 11.5 14.5147 11.5 17C11.5 19.4853 9.48528 21.5 7 21.5ZM17 11.5C14.5147 11.5 12.5 9.48528 12.5 7C12.5 4.51472 14.5147 2.5 17 2.5C19.4853 2.5 21.5 4.51472 21.5 7C21.5 9.48528 19.4853 11.5 17 11.5ZM3 8C3 5.23858 5.23858 3 8 3H11V5H8C6.34315 5 5 6.34315 5 8V11H3V8ZM19 13V16C19 17.6569 17.6569 19 16 19H13V21H16C18.7614 21 21 18.7614 21 16V13H19Z"></path></svg>

After

Width:  |  Height:  |  Size: 624 B

View File

@@ -4,6 +4,12 @@ export default {
components: {
workflow
},
props: {
thirdAppId: {
type: String,
default: ''
}
},
name: 'dify',
data() {
return {
@@ -16,7 +22,7 @@ export default {
</script>
<template>
<workflow></workflow>
<workflow :thirdAppId="thirdAppId"></workflow>
</template>
<style lang="scss" scoped></style>

View File

@@ -3,6 +3,12 @@ import { DIFY_URL } from '@/config/base-url'
export default {
name: 'workflow',
props: {
thirdAppId: {
type: String,
default: ''
}
},
data() {
return {
dify: {
@@ -41,6 +47,13 @@ export default {
this.dify.params.header = header || '0'
this.dify.params.sidebar = sidebar || '0'
this.dify.params.publish = publish || '0'
if (this.thirdAppId) {
this.dify.src = `${DIFY_URL}/app/${this.thirdAppId}/workflow?${
this.params
}`
this.dify.isVisible = true
}
},
watch: {
'$route.query': {
@@ -77,19 +90,16 @@ export default {
<template>
<div class="container">
<el-card :body-style="{ padding: 0 }" shadow="hover">
<iframe
v-if="dify.isVisible"
ref="dify"
:src="dify.src"
frameborder="0"
style="width: 100%; height: 85vh;"
/>
<el-empty v-else>
<el-button type="a" @click="handleTestWorkflowClick"
>点击查看一个测试的 flow</el-button
>
</el-empty>
</el-card>
<!-- <el-empty v-else>-->
<!-- <el-button type="a" @click="handleTestWorkflowClick"-->
<!-- >点击查看一个测试的 flow</el-button-->
<!-- >-->
<!-- </el-empty>-->
</div>
</template>

View File

@@ -27,23 +27,33 @@ export default {
agentType: [
{
label: '聊天助手',
value: 'knowledge'
value: 'chat',
icon: 'chat',
desc: '简单配置即可构建基于 LLM 的对话机器人'
},
{
label: '知识库+知识库',
value: 'knowledge_knowledge'
label: 'Agent',
value: 'agent-chat',
icon: 'agentChat',
desc: '具备推理与自主工具调用的智能助手'
},
{
label: '知识库+知识库+知识库',
value: 'sd'
label: '文本生成应用',
value: 'completion',
icon: 'completion',
desc: '用于文本生成任务的 AI 助手'
},
{
label: '知识库+知识库+知识库',
value: 'sd'
label: 'Chatflow',
value: 'advanced-chat',
icon: 'advancedChat',
desc: '支持记忆的复杂多轮对话工作流'
},
{
label: '知识库+知识库+知识库',
value: 'sd'
label: '工作流',
value: 'workflow',
icon: 'workflow',
desc: '面向单轮自动化任务的编排工作流'
}
],
rules: {
@@ -57,6 +67,10 @@ export default {
}
},
methods: {
chooseAgentType(item) {
this.$set(this.dialog.agent, 'appType', item.value)
},
chooseGround(colors) {
this.$set(this.dialog.agent, 'background', colors)
},
@@ -81,7 +95,8 @@ export default {
},
selectEmoji(e) {
this.dialog.agent.imageId = e.data
this.dialog.agent.image = e.data
this.dialog.agent.imageType = 'emoji'
}
}
}
@@ -97,8 +112,8 @@ export default {
label-width="80px"
>
<div class="flex ">
<el-form-item label="名称与图标" prop="name" style="flex:1">
<el-input v-model="dialog.agent.name" size="medium" />
<el-form-item label="名称与图标" prop="appName" style="flex:1">
<el-input v-model="dialog.agent.appName" size="medium" />
</el-form-item>
<el-form-item label="" prop="imageId" class="mt30 ml20">
<el-popover trigger="click">
@@ -109,12 +124,14 @@ export default {
class="flex render-group"
>
<el-radio-button label="0" style="flex:1">表情</el-radio-button>
<el-radio-button label="1" style="flex:1">图片</el-radio-button>
<el-radio-button label="1" style="flex:1" disabled
>图片</el-radio-button
>
</el-radio-group>
<div class="mt10" v-if="isImage === '0'">
<VEmojiPicker @select="selectEmoji" class="emoji " />
<div
v-if="dialog.agent.imageId"
v-if="dialog.agent.image"
class="flex mt10 back-content justify-content-b"
>
<template v-for="item in chooseBack">
@@ -123,7 +140,7 @@ export default {
:style="`background:${item}`"
@click="chooseGround(item)"
>
{{ dialog.agent.imageId }}
{{ dialog.agent.image }}
</div>
</template>
</div>
@@ -135,32 +152,43 @@ export default {
slot="reference"
:style="`background:${dialog.agent.background}`"
>
{{ dialog.agent.imageId }}
{{ dialog.agent.image }}
</div>
</el-popover>
</el-form-item>
</div>
<el-form-item label="选择应用类型" required prop="">
<el-form-item label="选择应用类型" required prop="appType">
<div class="card-container" style="flex-wrap: wrap;">
<el-card
v-for="item in agentType"
:key="item.value"
shadow="hover"
class="card-item"
@click.native="chooseAgentType(item)"
:class="dialog.agent.appType === item.value ? 'appTypeActive' : ''"
>
<div class="flex align-items-c">
<img
src="@/assets/images/knowledge.png"
alt=""
style="width: 50px;height: 50px"
/>
<div class="ml20" style="flex:1;overflow: hidden">
<div class="ellipsis">
<div
class="flex align-items-c lineHeight30"
style="line-height: 30px"
>
<div class="" style="flex:1;overflow: hidden">
<div class="ellipsis flex">
<div
class="back-theme-color ph5"
style="border-radius: 8px;color:#fff"
>
<svg-icon
:icon-class="item.icon"
class="app-type-svg"
></svg-icon>
</div>
<div class="ml10 fw600">
{{ item.label }}
</div>
<div class="ellipsis">
{{ item.label }}
</div>
<div class="ellipsis fs12 desc-text-color">
{{ item.desc }}
</div>
</div>
</div>
@@ -243,6 +271,12 @@ export default {
.grid-emojis {
grid-template-columns: repeat(10, 10%) !important;
}
.appTypeActive {
border: 1px solid var(--color-primary);
}
.app-type-svg {
font-size: 20px;
}
.card-item {
cursor: pointer;
flex: 0 0 calc(33% - 1%); // 每个卡片占据三分之一的宽度,减去间距

View File

@@ -18,11 +18,17 @@ export default {
agentConfig: {
title: '',
component: 'agent',
visible: false
visible: false,
agent: {
id: '',
thirdAppId: ''
}
},
searchOption: {
nameLike: '',
handleSearch: async () => {
this.page = 1
this.list = []
this.fetchAgentList({ nameLike: this.searchOption.nameLike })
}
},
@@ -30,10 +36,15 @@ export default {
* @type {{name: string, url: string, id: string}[]}
*/
list: [],
page: 0,
pageSize: 10,
total: -1,
dialog: {
visible: false,
title: '',
agent: void 0,
agent: {
id: ''
},
component: 'info',
type: 'edit'
}
@@ -46,12 +57,28 @@ export default {
}
},
methods: {
load() {
if (this.total === this.list.length) {
return false
}
this.page += 1
this.fetchAgentList({
page: this.page,
pageSize: 3
})
},
/**
* 获取所有的智能体列表
*/
async fetchAgentList(params = {}) {
const { content } = await agentList(params)
this.list = content.content
const { content } = await agentList({
page: this.page,
pageSize: this.pageSize,
appNameLike: params.nameLike ? params.nameLike : '',
appType: params.appType ? params.appType : ''
})
this.list.push(...content.content.list)
this.total = content.content.total
},
/**
* 编辑智能体
@@ -70,9 +97,12 @@ export default {
handleDeleteAgent(id) {
// 删除之后重新获取内容
this.$messageBox(
async () => {
await agentDelete([id])
() => {
agentDelete([id]).then(res => {
this.page = 1
this.list = []
this.fetchAgentList()
})
},
'是否删除当前智能体',
'warning',
@@ -85,13 +115,21 @@ export default {
async createdIntelligentAgent() {
this.dialog.type = 'add'
// 重置状态,防止其他状态影响导致表单内容异常
this.dialog.agent = { name: '', description: '', imageId: '' }
this.dialog.agent = {
appName: '',
appType: '',
description: '',
imageType: '',
image: ''
}
this.dialog.title = '创建智能体'
this.dialog.visible = true
},
handleClickAgent(agent) {
async handleClickAgent(item) {
const { content } = await agentDetail(item.id)
let agent = content.content
this.agentConfig.title = agent.appName + ' - 智能体详情'
this.agentConfig.agent = agent
this.agentConfig.title = agent.name + ' - 智能体详情'
this.agentConfig.visible = true
},
@@ -101,7 +139,7 @@ export default {
}
},
created() {
this.fetchAgentList()
// this.fetchAgentList()
}
}
</script>
@@ -138,8 +176,15 @@ export default {
<h3>智能体列表</h3>
</div>
</div>
<!-- <ul class="infinite-list" style="overflow:auto">-->
<!-- <li v-for="i in count" class="infinite-list-item">{{ i }}</li>-->
<!-- </ul>-->
<div class="card-body">
<div
class="card-body"
v-infinite-scroll="load"
style="height:85vh;overflow: auto"
>
<div class="ledge-list mt20">
<el-card
v-for="(listItem, index) in list"
@@ -152,11 +197,11 @@ export default {
<div class="folder-content">
<div class="folder">
<!--listItem.name.获取字符串第一个-->
{{ listItem.imageId ? listItem.imageId : listItem.name[0] }}
{{ listItem.image ? listItem.image : listItem.appName[0] }}
</div>
</div>
<div class="dataset-body" style="flex:1">
<h4 class="dataset-title">{{ listItem.name }}</h4>
<h4 class="dataset-title">{{ listItem.appName }}</h4>
<p class="dataset-desc">{{ listItem.description }}</p>
</div>
</div>
@@ -203,12 +248,16 @@ export default {
</r-dialog>
<el-drawer
v-if="agentConfig.visible"
:visible.sync="agentConfig.visible"
:title="agentConfig.title"
size="90%"
:wrapperClosable="false"
>
<component :is="agentConfig.component" />
<component
:is="agentConfig.component"
:key="agentConfig.agent.thirdAppId"
:thirdAppId="agentConfig.agent.thirdAppId"
/>
</el-drawer>
</div>
</template>