|  |  |  | 
|---|
|  |  |  | websocketSend, | 
|---|
|  |  |  | closeWebsocket, | 
|---|
|  |  |  | } from "@/websocket/websocket.js"; | 
|---|
|  |  |  | import store from "@/store"; | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.TemplateName = this.$route.query.name; | 
|---|
|  |  |  | this.userid = store.getters.Id; | 
|---|
|  |  |  | console.log(store.getters.Id,'11'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.requstWs(); //进入页面创建连接 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | mounted() { | 
|---|
|  |  |  | 
|---|
|  |  |  | this.timeout = this.$route.query.timeout; | 
|---|
|  |  |  | // 防止用户多次连续点击发起请求,所以要先关闭上次的ws请求。 | 
|---|
|  |  |  | closeWebsocket(); | 
|---|
|  |  |  | console.log(this.id); | 
|---|
|  |  |  | const obj = { | 
|---|
|  |  |  | type: "text", | 
|---|
|  |  |  | userId: "1", | 
|---|
|  |  |  | userId: this.userid, | 
|---|
|  |  |  | templateId: this.id, | 
|---|
|  |  |  | content: null, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | // 发起ws请求 | 
|---|
|  |  |  | sendWebsocket( | 
|---|
|  |  |  | "ws://192.168.2.10:8095/chat?userId=1", | 
|---|
|  |  |  | "ws://9.208.2.190:8095/chat?userId="+this.userid, | 
|---|
|  |  |  | obj, | 
|---|
|  |  |  | this.wsMessage, | 
|---|
|  |  |  | this.wsError | 
|---|
|  |  |  | 
|---|
|  |  |  | dataJson = JSON.parse(dataJson); | 
|---|
|  |  |  | console.log(dataJson, "数据"); | 
|---|
|  |  |  | // 首次接收数据 | 
|---|
|  |  |  | if (!this.Answerline[0]) { | 
|---|
|  |  |  | this.Answerline.push({ | 
|---|
|  |  |  | value: dataJson.kcb, | 
|---|
|  |  |  | isEat: 1, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | timerId = setTimeout(() => { | 
|---|
|  |  |  | if (!answer) { | 
|---|
|  |  |  | this.sendFn(); // 后调用 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | },this.timeout*1000); | 
|---|
|  |  |  | // if (!this.Answerline[0]) { | 
|---|
|  |  |  | //   this.Answerline.push({ | 
|---|
|  |  |  | //     value: dataJson.kcb, | 
|---|
|  |  |  | //     isEat: 1, | 
|---|
|  |  |  | //   }); | 
|---|
|  |  |  | // } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 优先加入通用库匹配文本 | 
|---|
|  |  |  | if (dataJson.nowQuestion.submoduleText) { | 
|---|
|  |  |  | this.Answerline.push({ | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return item; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (!dataJson.jsy) { | 
|---|
|  |  |  | timerId = setTimeout(() => { | 
|---|
|  |  |  | if (!this.answer) { | 
|---|
|  |  |  | this.sendFn(); // 后调用 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, this.timeout * 1000); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | clearTimeout(timerId) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | console.log(this.questionList); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // IMUI.appendMessage(data); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sendFn() { | 
|---|
|  |  |  | console.log('发送'); | 
|---|
|  |  |  | console.log("发送"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 消息发送 | 
|---|
|  |  |  | const obj = { | 
|---|
|  |  |  | type: "text", | 
|---|
|  |  |  | userId: "1", | 
|---|
|  |  |  | userId: this.userid, | 
|---|
|  |  |  | templateId: "", | 
|---|
|  |  |  | questionMessage: { content: this.answer }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | console.log(obj, "入参"); | 
|---|
|  |  |  | // 发起ws请求 | 
|---|
|  |  |  | sendWebsocket( | 
|---|
|  |  |  | "ws://192.168.2.10:8095/chat?userId=1", | 
|---|
|  |  |  | "ws://9.208.2.190:8095/chat?userId="+this.userid, | 
|---|
|  |  |  | obj, | 
|---|
|  |  |  | this.wsMessage, | 
|---|
|  |  |  | this.wsError | 
|---|
|  |  |  | 
|---|
|  |  |  | overflow: auto; | 
|---|
|  |  |  | .leftside { | 
|---|
|  |  |  | margin-bottom: 30px; | 
|---|
|  |  |  | max-width: 566px; | 
|---|
|  |  |  | margin-left: 20px; | 
|---|
|  |  |  | padding: 10px; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | background: rgb(110, 196, 247); | 
|---|
|  |  |  | border-radius: 10px; | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | width: 400px; | 
|---|
|  |  |  | margin-left: 20px; | 
|---|
|  |  |  | padding: 10px; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | background: rgb(110, 196, 247); | 
|---|
|  |  |  | border-radius: 10px; | 
|---|
|  |  |  | word-wrap: break-word; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .offside { | 
|---|