3 changed files with 121 additions and 2 deletions
@ -0,0 +1,89 @@ |
|||
<template> |
|||
<uni-popup ref="popup" type="center"> |
|||
<uni-popup-dialog mode="base" message="成功消息" :duration="2000" title="是否加入通话?" confirmText="加入" |
|||
@confirm="onOk"> |
|||
<div class="group-rtc-join"> |
|||
<div class="host-info"> |
|||
<div>发起人</div> |
|||
<head-image :name="rtcInfo.host.nickName" :url="rtcInfo.host.headImage" :size="80"></head-image> |
|||
</div> |
|||
<div class="user-info"> |
|||
<div>{{rtcInfo.userInfos.length+'人正在通话中'}}</div> |
|||
<scroll-view scroll-x="true" scroll-left="120"> |
|||
<view class="user-list"> |
|||
<view v-for="user in rtcInfo.userInfos" class="user-item"> |
|||
<head-image :name="user.nickName" :url="user.headImage" :size="80"></head-image> |
|||
</view> |
|||
</view> |
|||
</scroll-view> |
|||
</div> |
|||
</div> |
|||
</uni-popup-dialog> |
|||
</uni-popup> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data() { |
|||
return { |
|||
rtcInfo: {} |
|||
} |
|||
}, |
|||
props: { |
|||
groupId: { |
|||
type: Number |
|||
} |
|||
}, |
|||
methods: { |
|||
open(rtcInfo) { |
|||
this.rtcInfo = rtcInfo; |
|||
this.$refs.popup.open(); |
|||
}, |
|||
onOk() { |
|||
let users = this.rtcInfo.userInfos; |
|||
let mine = this.$store.state.userStore.userInfo; |
|||
// 加入自己的信息 |
|||
if(!users.find((user)=>user.id==mine.id)){ |
|||
users.push({ |
|||
id: mine.id, |
|||
nickName: mine.nickName, |
|||
headImage: mine.headImageThumb, |
|||
isCamera: false, |
|||
isMicroPhone: true |
|||
}) |
|||
} |
|||
const userInfos = encodeURIComponent(JSON.stringify(users)); |
|||
uni.navigateTo({ |
|||
url: `/pages/chat/chat-group-video?groupId=${this.groupId}&isHost=false |
|||
&inviterId=${mine.id}&userInfos=${userInfos}` |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.group-rtc-join { |
|||
width: 100%; |
|||
|
|||
.host-info { |
|||
font-size: 16px; |
|||
padding: 10px; |
|||
} |
|||
|
|||
.user-info { |
|||
font-size: 16px; |
|||
padding: 10px; |
|||
} |
|||
|
|||
.user-list { |
|||
display: flex; |
|||
align-items: center; |
|||
height: 90rpx; |
|||
|
|||
.user-item { |
|||
padding: 3rpx; |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,32 @@ |
|||
import http from '../common/request' |
|||
|
|||
export default { |
|||
state: { |
|||
webrtc: {} |
|||
}, |
|||
mutations: { |
|||
setConfig(state, config) { |
|||
state.webrtc = config.webrtc; |
|||
}, |
|||
clear(state){ |
|||
state.webrtc = {}; |
|||
} |
|||
}, |
|||
actions:{ |
|||
loadConfig(context){ |
|||
return new Promise((resolve, reject) => { |
|||
http({ |
|||
url: '/system/config', |
|||
method: 'GET' |
|||
}).then((config) => { |
|||
console.log("系统配置",config) |
|||
context.commit("setConfig",config); |
|||
resolve(); |
|||
}).catch((res)=>{ |
|||
reject(res); |
|||
}); |
|||
}) |
|||
} |
|||
} |
|||
|
|||
} |
|||
Loading…
Reference in new issue