在线质控接口

main
SWX\10484 4 days ago
parent d5ad00bd09
commit 30af97e1ee
  1. 66
      src/views/videoCommunication/qualityControl.vue

@ -22,12 +22,7 @@
<div v-else class="user-state"> <div v-else class="user-state">
<div class="cell-top-bar"> <div class="cell-top-bar">
<div class="signal-icon"> <div class="signal-icon">
<i <i v-for="n in 5" :key="n" class="bar" :class="{ active: n <= item.signalLevel }" />
v-for="n in 5"
:key="n"
class="bar"
:class="{ active: n <= item.signalLevel }"
/>
</div> </div>
<div class="grid-top-name">{{ item.user.name }}</div> <div class="grid-top-name">{{ item.user.name }}</div>
<div class="cancel-qc" @click="handleDelete(item, index, form)"> <div class="cancel-qc" @click="handleDelete(item, index, form)">
@ -36,23 +31,17 @@
</div> </div>
<div class="video-area"> <div class="video-area">
<div class="video-placeholder"> <div class="video-placeholder">
<img <img v-if="item.user.avatar" :src="getAvatarUrl(item.user.avatar)" class="user-avatar" />
v-if="item.user.avatar"
:src="getAvatarUrl(item.user.avatar)"
class="user-avatar"
/>
<div v-else class="default-avatar"> <div v-else class="default-avatar">
{{ item.user.name.charAt(0) || "?" }} {{ item.user.name.charAt(0) || "?" }}
</div> </div>
</div> </div>
<div class="user-info-overlay"> <div class="user-info-overlay">
<span class="user-name">{{ item.user.name }}</span> <span class="user-name">{{ item.user.name }}</span>
<span <span :class="[
:class="[
'status-tag', 'status-tag',
item.user.online === 1 ? 'online' : 'offline', item.user.online === 1 ? 'online' : 'offline',
]" ]">
>
{{ item.user.online === 1 ? "在线" : "离线" }} {{ item.user.online === 1 ? "在线" : "离线" }}
</span> </span>
</div> </div>
@ -87,12 +76,7 @@
</div> </div>
</footer> --> </footer> -->
<!-- 添加或邀请修改邀请公告对话框 --> <!-- 添加或邀请修改邀请公告对话框 -->
<CreateGroupDialog <CreateGroupDialog ref="createGroupDialogRef" title="选择人员" :min-select-count="1" @confirm="submitForm" />
ref="createGroupDialogRef"
title="选择人员"
:min-select-count="1"
@confirm="submitForm"
/>
</div> </div>
</template> </template>
@ -104,6 +88,9 @@ import {
postUserInfo, postUserInfo,
postQualityQuit, postQualityQuit,
postQualityStop, postQualityStop,
postConsultationCreate,
postConsultationInfo,
postConsultationStop
} from "@/api/videoCommunication"; } from "@/api/videoCommunication";
export default { export default {
@ -127,6 +114,7 @@ export default {
}, },
index: 0, index: 0,
form: {}, form: {},
consultation_id: null,
// //
// isJoined: false, // isJoined: false,
// isMuted: false, // isMuted: false,
@ -152,6 +140,7 @@ export default {
value: false, value: false,
}); });
this.getList(); this.getList();
this.creatRoom()
// this.initRTC(); // this.initRTC();
}, },
beforeDestroy() { beforeDestroy() {
@ -170,6 +159,26 @@ export default {
// this.unbindEvent(); // this.unbindEvent();
// }, // },
methods: { methods: {
async creatRoom() {
try {
const res = await postConsultationCreate({
avatar: '',
init_users: [],
invite_code: '1234',
name: '',
room_id: this.$route.query.roomId_id
})
console.log(res)
this.consultation_id = res.data.consultation_id
await postConsultationInfo({
consultation_id: res.data.consultation_id,
from_history: 0,
room_id: ''
})
} catch (error) {
}
},
// RTC SDK // RTC SDK
// initRTC() { // initRTC() {
// let localData = window.localStorage.getItem(this.storageKey); // let localData = window.localStorage.getItem(this.storageKey);
@ -349,9 +358,10 @@ export default {
key: "tagsView", key: "tagsView",
value: true, value: true,
}); });
postConsultationStop({ consultation_id: this.consultation_id });
this.$router.push("/"); this.$router.push("/");
}) })
.catch(() => {}); .catch(() => { });
}, },
getList() { getList() {
this.loading = true; this.loading = true;
@ -405,7 +415,7 @@ export default {
that.list[index].user = {}; that.list[index].user = {};
that.$modal.msgSuccess("取消质控成功"); that.$modal.msgSuccess("取消质控成功");
}) })
.catch(() => {}); .catch(() => { });
}, },
}, },
}; };
@ -431,6 +441,7 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
font-weight: 600; font-weight: 600;
img { img {
width: 28px; width: 28px;
margin-right: 8px; margin-right: 8px;
@ -449,6 +460,7 @@ export default {
.window-controls { .window-controls {
display: flex; display: flex;
align-items: center; align-items: center;
i { i {
margin-left: 15px; margin-left: 15px;
cursor: pointer; cursor: pointer;
@ -492,6 +504,7 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
i { i {
font-size: 42px; font-size: 42px;
color: #ffffff; color: #ffffff;
@ -517,25 +530,32 @@ export default {
gap: 2px; gap: 2px;
height: 14px; height: 14px;
z-index: 10; z-index: 10;
.bar { .bar {
width: 3px; width: 3px;
background: #666; background: #666;
border-radius: 1px; border-radius: 1px;
&:nth-child(1) { &:nth-child(1) {
height: 4px; height: 4px;
} }
&:nth-child(2) { &:nth-child(2) {
height: 7px; height: 7px;
} }
&:nth-child(3) { &:nth-child(3) {
height: 10px; height: 10px;
} }
&:nth-child(4) { &:nth-child(4) {
height: 13px; height: 13px;
} }
&:nth-child(5) { &:nth-child(5) {
height: 16px; height: 16px;
} }
&.active { &.active {
background: #4cd964; background: #4cd964;
} }

Loading…
Cancel
Save