瀏覽代碼

智能推荐替换dify

CzRger 1 月之前
父節點
當前提交
d649b4b7a2
共有 3 個文件被更改,包括 26 次插入17 次删除
  1. 4 2
      src/out/config.js
  2. 4 3
      src/views/smart-ask-answer/assistant/chat.vue
  3. 18 12
      src/views/smart-ask-answer/assistant/index.vue

+ 4 - 2
src/out/config.js

@@ -1,7 +1,9 @@
 window.czrConfig = {
   menuLayout: 'top-left', //  'left'-左侧,'top-left'-顶部左侧
   dify: {
-    // appId: '86945884-adf3-4e22-91b2-e48c38b44e9e'
-    appId: 'b9aca5c8-f0bb-4313-965f-3375d7a55579'
+    appId: 'b9aca5c8-f0bb-4313-965f-3375d7a55579',
+    suggestId: '5a3bc2a4-35a3-421c-aff9-07faf2558447',
+    // appId: '86945884-adf3-4e22-91b2-e48c38b44e9e',
+    // suggestId: '833b8e52-a909-4655-8e3d-22e7aaf13903',
   }
 }

+ 4 - 3
src/views/smart-ask-answer/assistant/chat.vue

@@ -62,7 +62,7 @@ import {isValue, YMDHms} from "@/utils/czr-util";
 import {fetchSuggestedQuestions, updateFeedback} from "@/views/smart-ask-answer/assistant/dify/share";
 import {staticConQueryQuestionslist} from "@/views/smart-ask-answer/assistant/cms/api";
 
-const emit = defineEmits(['getText'])
+const emit = defineEmits(['getText', 'getSuggest', 'loadingSuggest'])
 const router = useRouter()
 const state: any = reactive({
   text: '',
@@ -147,8 +147,9 @@ const onSend = (text = '') => {
   }
 }
 const getRelation = (text) => {
+  emit('loadingSuggest')
   let relation = ''
-  ssePost(`/installed-apps/833b8e52-a909-4655-8e3d-22e7aaf13903/chat-messages`, {
+  ssePost(`/installed-apps/${window.czrConfig.dify.suggestId}/chat-messages`, {
     body: {
       response_mode: "blocking",
       conversation_id: "",
@@ -164,10 +165,10 @@ const getRelation = (text) => {
     onFile(file) {},
     onThought(thought) {},
     onMessageEnd: (messageEnd) => {
-      console.log('回答完毕')
       try {
         const json = JSON.parse(relation)
         console.log('原始数据', json)
+        emit('getSuggest', json)
       } catch (e) {
         console.log(e)
       }

+ 18 - 12
src/views/smart-ask-answer/assistant/index.vue

@@ -79,7 +79,7 @@
         </div>
       </div>
       <div class="assistant-main-content">
-        <chatCom ref="ref_chat" @getText="getText"/>
+        <chatCom ref="ref_chat" @getText="getText" @getSuggest="getSuggest" @loadingSuggest="state.adviseList.loading = true"/>
       </div>
     </div>
     <CzrDialog
@@ -192,21 +192,21 @@ const state: any = reactive({
   },
   adviseList: {
     loading: false,
-    value: 'question',
+    value: 'wenti',
     options: [
-      {label: '相关问题', value: 'question'},
-      {label: '相关政策', value: 'policy'},
-      {label: '相关事项', value: 'item'},
+      {label: '相关问题', value: 'wenti'},
+      {label: '相关政策', value: 'zhengce'},
+      {label: '相关事项', value: 'shixiang'},
     ],
-    question: [],
-    policy: [],
-    item: [],
+    wenti: [],
+    zhengce: [],
+    shixiang: [],
   },
 })
 const ref_chat = ref()
 const getText = (text: string) => {
   setAskList(text)
-  initRelation(text)
+  // initRelation(text)
 }
 const setAskList = (text: string) => {
   const nowAsk = localStorage.getItem(askKey) ? localStorage.getItem(askKey).split(askSplit) : []
@@ -262,7 +262,7 @@ const initRelation = (text = '') => {
     }
   }
   staticConQueryQuestionslist(params1).then(res => {
-    state.adviseList.question = res?.data?.list.map(v => ({name: v.title, url: `https://iport.ka.sz.gov.cn/szka/article?id=${v.id}&type=cjwt`})) || []
+    state.adviseList.wenti = res?.data?.list.map(v => ({name: v.title, url: `https://iport.ka.sz.gov.cn/szka/article?id=${v.id}&type=cjwt`})) || []
   })
   const params2 = {
     data: {
@@ -274,7 +274,7 @@ const initRelation = (text = '') => {
     }
   }
   matterQueryMatterlist(params2).then(res => {
-    state.adviseList.item = res?.data?.list.map(v => ({name: v.mattersName, url: v.workGuide})) || []
+    state.adviseList.shixiang = res?.data?.list.map(v => ({name: v.mattersName, url: v.workGuide})) || []
   })
   const params3 = {
     data: {
@@ -286,12 +286,18 @@ const initRelation = (text = '') => {
     }
   }
   policyInfoQueryPolicyInfolist(params3).then(res => {
-    state.adviseList.policy = res?.data?.list.map(v => ({name: v.contentTitle, url: `https://iport.ka.sz.gov.cn/szka/article?id=${v.id}&type=zczx`})) || []
+    state.adviseList.zhengce = res?.data?.list.map(v => ({name: v.contentTitle, url: `https://iport.ka.sz.gov.cn/szka/article?id=${v.id}&type=zczx`})) || []
   })
 }
 const toUrl = (url) => {
   window.open(url, '_blank');
 }
+const getSuggest = (json) => {
+  state.adviseList.wenti = json.wenti || []
+  state.adviseList.zhengce = json.zhengce || []
+  state.adviseList.shixiang = json.shixiang || []
+  state.adviseList.loading = false
+}
 onMounted(() => {
   initTheme()
   initRelation()