Merge pull request 'master' (#139) from master into test

Reviewed-on: http://git.feashow.cn/feashow/SmartOpsWeb/pulls/139
This commit is contained in:
clay
2024-10-08 14:25:04 +00:00
4 changed files with 75 additions and 20 deletions

View File

@@ -12,5 +12,5 @@ docker rmi smartopsweb:latest
echo '----build image start----'
docker build -t smartopsweb:latest .
echo '----build image success----'
docker run --name smartopsweb --restart=always -d -p 28081:80 smartopsweb:latest
docker run --name smartopsweb --link smartopsserver --restart=always -d -p 28081:80 smartopsweb:latest

View File

@@ -29,6 +29,20 @@ http {
listen 80;
listen [::]:80;
location /api {
proxy_pass http://smartopsserver:8080;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Host $host;
rewrite "^/api/(.*)$" /$1 break;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
client_max_body_size 30m;
}
location / {
root /home/clay;
index index.html index.htm;

View File

@@ -6,32 +6,36 @@
<span>电话号码{{ recordObj.phone ||'--'}}</span>
</div>
<div><span>工单名称{{ recordObj.orderName||'--' }}</span></div>
<div><span>{{ recordObj.type=='1'?'线路一':recordObj.type=='2'?'线路二':'' }}</span></div>
<!-- <div><span>{{ recordObj.type=='1'?'线路一':recordObj.type=='2'?'线路二':'' }}</span></div>-->
<div><span>{{ lineName }}</span></div>
</div>
<el-scrollbar ref="scrollbarRef" class="scrollbar">
<div class="chat-content" ref="innerRef">
<div v-for="(item,index) in recordObj.content" :key="index">
<div class="time-grap"><span>{{ item.conversationTimestamp || '6月5日 12:05' }}</span></div>
<!-- 我的 -->
<div v-if="item.speaker==0" class="word-my">
<div class="info">
<!-- <p class="name">{{ item.speaker==0?recordObj.name:'AI助手' }} </p>-->
<p class="name">{{ item.speaker==0?item.callIdNumber:'AI助手' }} </p>
<div class="info-content">{{ item.message }}</div>
<el-divider border-style="dotted" v-if="item.isLine">{{item.lineMsg}}</el-divider>
<div v-else>
<div class="time-grap"><span>{{ item.conversationTimestamp || '6月5日 12:05' }}</span></div>
<!-- 我的 -->
<div v-if="item.speaker==0" class="word-my">
<div class="info">
<!-- <p class="name">{{ item.speaker==0?recordObj.name:'AI助手' }} </p>-->
<p class="name">{{ item.speaker==0?item.callIdNumber:'AI助手' }} </p>
<div class="info-content">{{ item.message }}</div>
</div>
<el-avatar text="我"/>
</div>
<el-avatar text="我"/>
</div>
<!-- 对方 -->
<div v-else class="word">
<el-avatar text="对方"/>
<div class="info">
<p class="name">{{ item.speaker==0?item.callIdNumber:'AI助手' }} </p>
<div class="info-content">{{ item.message }}</div>
<!-- 对方 -->
<div v-else class="word">
<el-avatar text="对方"/>
<div class="info">
<p class="name">{{ item.speaker==0?item.callIdNumber:'AI助手' }} </p>
<div class="info-content">{{ item.message }}</div>
</div>
</div>
</div>
</div>
<!-- <el-divider border-style="dotted" v-if="handleShowDeadLine(recordObj)">一轮通话结束~~</el-divider>-->
<!-- <el-empty description="暂无通话记录~" v-else/>-->
</div>
@@ -51,6 +55,10 @@ const props = defineProps({
type: Object,
default: {}
},
lineName: {
type: String,
default: ''
},
})
const getScrollbarRef=()=>{

View File

@@ -1,8 +1,8 @@
<template>
<!--测试 张三 : 17260625724565 李四: 17260625724123-->
<div class="live-call-block">
<live-call-item-home ref="recordLeftRef" :recordObj="recordLeftObj" :headData="leftHeadData"/>
<live-call-item-home ref="recordRightRef" :recordObj="recordRightObj" :headData="rightHeadData"/>
<live-call-item-home ref="recordLeftRef" :recordObj="recordLeftObj" :headData="leftHeadData" lineName="线路一"/>
<live-call-item-home ref="recordRightRef" :recordObj="recordRightObj" :headData="rightHeadData" lineName="线路二"/>
</div>
</template>
@@ -55,6 +55,13 @@ const handleLogout = () => {
permisstionStore.removeMenu()
router.push('/login')
}
const handleShowDeadLine=(recordObj,data)=>{
let flag=false
if(recordObj.content&&recordObj.content.length>0){
flag=recordObj.content[recordObj.content.length-1]?.callIdNumber!=data.callIdNumber
}
return flag;
}
const initWebSocket = () => {
try {
// const wsUrl=setWsUrl(`/ws/text/${token}`)
@@ -93,6 +100,19 @@ const initWebSocket = () => {
recordLeftObj.value.phone=data.phone
recordLeftObj.value.type=data.type
recordLeftObj.value.orderName=data.orderName
let flag=handleShowDeadLine(recordLeftObj.value,data)
console.info("🚀 ~method:flag -----", flag)
if(flag){
recordLeftObj.value.content.push({
// callIdNumber: "17282197782048",
// conversationId:0,
// conversationTimestamp: "",
// createTime: "2024-10-08",
isLine:true,
lineMsg: "一轮通话结束~~",
speaker: data.content.speaker
})
}
recordLeftObj.value.content.push(data.content)
// console.info("🚀 ~method:onmessage -----", recordLeftObj.value)
nextTick(() => {
@@ -103,6 +123,19 @@ const initWebSocket = () => {
recordRightObj.value.phone=data.phone
recordRightObj.value.type=data.type
recordRightObj.value.orderName=data.orderName
let flag=handleShowDeadLine(recordRightObj.value,data)
console.info("🚀 ~method:flag -----", flag)
if(flag){
recordRightObj.value.content.push({
// callIdNumber: "17282197782048",
// conversationId:0,
// conversationTimestamp: "",
// createTime: "2024-10-08",
isLine:true,
lineMsg: "一轮通话结束~~",
speaker: data.content.speaker
})
}
recordRightObj.value.content.push(data.content)
// console.info("🚀 ~method:onmessage -----", recordRightObj.value)
nextTick(() => {