Browse Source

[feat][ai生涯访谈][聊天接口调试]

hizhangling 1 month ago
parent
commit
4ed174c743

+ 9 - 0
src/api/xjc-integratedmachine/environment/ai-career.js

@@ -30,3 +30,12 @@ export function addCareerChatRecord(data) {
         data : data
     })
 }
+
+// 查询ai题库
+export function getQuestionBankList(data) {
+    return request({
+        url: '/ai/question/bank/list',
+        method: 'post',
+        data : data
+    })
+}

BIN
src/assets/images/environment/ai-career-playing-player.gif


+ 1 - 0
src/views/xjc-integratedmachine/environment/ai_interview/ai_career_interview.vue

@@ -92,6 +92,7 @@
     // 热门职业列表
     let hotOccupationList = ref([])
 
+
     function setHeadinfo(){
         headinfo.value = {
             title: 'AI生涯访谈',

+ 24 - 16
src/views/xjc-integratedmachine/environment/ai_interview/ai_career_interview_chat.vue

@@ -5,22 +5,13 @@
                 <img  src="@/assets/images/environment/ai-career-profile.png" alt="404">
             </div>
             <div class="introduce-text">
-                在生涯访谈中,通过与不同职业人物对话,可以了解不同职业的发展前景、职业要求,为尽早规划职业发展 xxxx
+                AI生涯访谈依托人工智能,输入想访谈的职业名称后,AI将精准模拟该职业从业者,与你展开沉浸式职业探索对话。从职业发展前景、核心能力要求,到日常工作细节、学科适配方向,均可通过开放式提问进行深度探索,为高中选科、大学选专业和未来职业规划提供支持。
                 <p>访谈时你可以提出以下问题:</p>
             </div>
             <div class="question-list">
-                <p class="question-list-item">您为什么要选择这一职业?</p>
-                <p class="question-list-item">这项职业每天的核心任务是什么?</p>
-                <p class="question-list-item">这项职业的工作环境如何?(室内/室外,办公室/工厂,团队工作/独自工作等)</p>
-                <p class="question-list-item">从事这项职业需要哪些学历、证书、经验或关键能力?</p>
-                <p class="question-list-item">这项职业在招聘或晋升时,更看重哪些个人特质或阶段特征?</p>
-                <p class="question-list-item">大学里哪些专业与这项职业直接相关?</p>
-                <p class="question-list-item">为了从事这项职业,在校期间应做哪些具体准备?</p>
-                <p class="question-list-item">请分享一个最有成就感的项目/瞬间,以及一次印象深刻的挫折,您从中学到的关键经验是什么?</p>
-                <p class="question-list-item">这项职业未来的发展前景如何?</p>
-                <p class="question-list-item">这项职业进一步提升的途径有哪些?(培训、证书、项目、学历等)</p>
-                <p class="question-list-item">如果未来的我将选择从事该职业,您会给我哪些具体建议?</p>
-                <p class="question-list-item">请用时间轴描述一个典型工作日从上班到下班的详细流程?</p>
+                <p class="question-list-item" v-for="(item, index) in questionBankList" :key="index" @click="quickSendMsg(item)">
+                    {{index+1}}.{{item.question}}
+                </p>
             </div>
 
         </div>
@@ -68,7 +59,7 @@
                                            @click="foldOrExpandMessage(index, expandIndexList.includes(index))">
                                     {{expandIndexList.includes(index)?'折叠':'展开'}}
                                 </el-button>-->
-                                <img v-if="item.content.length>80"
+                                <img v-if="item.content.length>60"
                                      @click="foldOrExpandMessage(index, expandIndexList.includes(index))"
                                     :src="expandIndexList.includes(index)?msgFold:msgExpand"
                                     alt="icon"
@@ -122,11 +113,11 @@
     import {Base64} from 'js-base64'
     import * as AudioPlayer from "/public/ai/tts/dist/index.umd.js"
     import {aiChatRecordList, aiChatRecordAdd} from '@/api/xjc-integratedmachine/common/aiChat.js'
-    import {getCareerChatRecordList, addCareerChatRecord} from "@/api/xjc-integratedmachine/environment/ai-career.js";
+    import {getCareerChatRecordList, addCareerChatRecord, getQuestionBankList} from "@/api/xjc-integratedmachine/environment/ai-career.js";
     import msgFold from '@/assets/images/environment/ai-career-msg-fold.png'
     import msgExpand from '@/assets/images/environment/ai-career-msg-expand.png'
     import mutePlayer from '@/assets/images/environment/ai-career-mute-player.png'
-    import playingPlayer from '@/assets/images/environment/ai-career-playing-player.png'
+    import playingPlayer from '@/assets/images/environment/ai-career-playing-player.gif'
     import microphone from '@/assets/images/environment/ai-career-microphone.png'
     import recognize from '@/assets/images/environment/ai-career-recognize.gif'
     const router = useRouter()
@@ -156,6 +147,8 @@
     // 播放按钮状态
     let playActiveIndex = ref(0)
     let playButtonFlag = ref(false)
+    // 推荐问题
+    let questionBankList = ref([])
 
     const HELLO_MSG = '你是谁?'
     // 查看所有聊天记录
@@ -202,6 +195,10 @@
         sendRequest(HELLO_MSG)
     }
 
+    function quickSendMsg(item){
+        sendRequest(item.question);
+    }
+
     const sendMessage = () => {
         if (inputMessage.value.trim()) {
             sendRequest(inputMessage.value.trim())
@@ -758,11 +755,22 @@
         router.go(-1)
     }
 
+    function getQuestionBank(){
+        let form = {
+            type: 1,
+            isRecommend: 1
+        }
+        getQuestionBankList(form).then(resp => {
+            questionBankList.value = resp.rows
+        })
+    }
+
     onMounted(()=>{
         nextTick(()=>{
             initSpeechRecognition();
             initSpeechSynthesis();
             list();
+            getQuestionBank();
         })
 
     })