可信代码库-AI大模型对话优化软件详情问答展示
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="secret-container">
|
<div class="secret-container">
|
||||||
<div class="title">以下是Redis的软件详情</div>
|
<div v-if="versionId">
|
||||||
|
<div class="title">以下是{{props.software_name}}的软件详情</div>
|
||||||
<div class="mt-3">
|
<div class="mt-3">
|
||||||
<OssDetailCp ref="ossDetailRef" :versionId="versionId"/>
|
<OssDetailCp ref="ossDetailRef" :versionId="versionId"/>
|
||||||
</div>
|
</div>
|
||||||
@@ -15,10 +16,12 @@
|
|||||||
<i class="icon-more-operate" title="更多操作" onclick="handleMore()"></i>
|
<i class="icon-more-operate" title="更多操作" onclick="handleMore()"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<NoData v-else />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted, watch, nextTick } from 'vue';
|
import { ref, reactive, onMounted, watch, nextTick,defineProps } from 'vue';
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { getOrgInfo } from '@/views/Org/hooks/orgInfo';
|
import { getOrgInfo } from '@/views/Org/hooks/orgInfo';
|
||||||
import { Message } from 'vue-devui';
|
import { Message } from 'vue-devui';
|
||||||
@@ -32,12 +35,20 @@ import { useTimeFormat } from '@/utils/hooks/useTimeFormat';
|
|||||||
import { useGlobalInfoStore } from '@/stores/Global';
|
import { useGlobalInfoStore } from '@/stores/Global';
|
||||||
import OssDetailCp from './OssDetail/index.vue'
|
import OssDetailCp from './OssDetail/index.vue'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
id: {
|
||||||
|
type: String || Number
|
||||||
|
},
|
||||||
|
software_name: {
|
||||||
|
type: String || Number
|
||||||
|
}
|
||||||
|
})
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
||||||
const filterTableRef = ref();
|
const filterTableRef = ref();
|
||||||
const ossDetailRef = ref(null);
|
const ossDetailRef = ref(null);
|
||||||
const versionId = ref('3238');
|
const versionId = ref(props.id);
|
||||||
const { namespace } = getOrgInfo();
|
const { namespace } = getOrgInfo();
|
||||||
const userInfo = useAccountStore();
|
const userInfo = useAccountStore();
|
||||||
const { isLogin } = storeToRefs(userInfo);
|
const { isLogin } = storeToRefs(userInfo);
|
||||||
|
|||||||
@@ -21,8 +21,8 @@
|
|||||||
<!--预警列表-->
|
<!--预警列表-->
|
||||||
<WarningList v-else-if="msg.type===2"/>
|
<WarningList v-else-if="msg.type===2"/>
|
||||||
<!--软件详情-->
|
<!--软件详情-->
|
||||||
<OssDetail v-else-if="msg.type===3"/>
|
<OssDetail :id="msg.id" :software_name="msg.software_name||''" v-else-if="msg.type==='critical_software_info'"/>
|
||||||
<!--软件详情-->
|
<!--列表展示-->
|
||||||
<AIList v-else-if="msg.type==='df'" :content="msg.content"/>
|
<AIList v-else-if="msg.type==='df'" :content="msg.content"/>
|
||||||
<!--text或者富文本展示-->
|
<!--text或者富文本展示-->
|
||||||
<Other v-else :content="msg.content"></Other>
|
<Other v-else :content="msg.content"></Other>
|
||||||
@@ -261,7 +261,7 @@ const getAIAnswer = async (content) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if(response.data.type) {
|
if(response.data.type) {
|
||||||
const {text,type,id} = response.data;
|
const {text,type,id,table_name=[]} = response.data;
|
||||||
messages.value[messages.value.length - 1].id = id;
|
messages.value[messages.value.length - 1].id = id;
|
||||||
if(type==='text') {
|
if(type==='text') {
|
||||||
messages.value[messages.value.length - 1].content = text;
|
messages.value[messages.value.length - 1].content = text;
|
||||||
@@ -271,6 +271,16 @@ const getAIAnswer = async (content) => {
|
|||||||
messages.value[messages.value.length - 1].content = response.data[type];
|
messages.value[messages.value.length - 1].content = response.data[type];
|
||||||
messages.value[messages.value.length - 1].loading = false;
|
messages.value[messages.value.length - 1].loading = false;
|
||||||
messages.value[messages.value.length - 1].type = 'df';
|
messages.value[messages.value.length - 1].type = 'df';
|
||||||
|
|
||||||
|
// 判断是否软件详情
|
||||||
|
if(table_name.length===1&&table_name[0]==='critical_software_info') {
|
||||||
|
let arr = JSON.parse(response.data[type]);
|
||||||
|
if(arr&&arr.length===1) {
|
||||||
|
messages.value[messages.value.length - 1].type = 'critical_software_info';
|
||||||
|
messages.value[messages.value.length - 1].id = arr[0]?.id;
|
||||||
|
messages.value[messages.value.length - 1].software_name = arr[0]?.software_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fetchFollowupQuestions(content,id)
|
fetchFollowupQuestions(content,id)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user