Compare commits
3 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
180b4958ca | |
|
|
c9af6a4e13 | |
|
|
51780c02ac |
|
|
@ -113,7 +113,9 @@ Page({
|
||||||
setting: {
|
setting: {
|
||||||
voiceStimulation: true, //语音激励
|
voiceStimulation: true, //语音激励
|
||||||
},
|
},
|
||||||
network: 0
|
network: 0,
|
||||||
|
meSrc: '',
|
||||||
|
watchUids: []
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'roomUserList.**': function (roomUserList) {
|
'roomUserList.**': function (roomUserList) {
|
||||||
|
|
@ -347,13 +349,6 @@ Page({
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
try {
|
try {
|
||||||
let networkStatus = 0
|
let networkStatus = 0
|
||||||
this.getNetworkType().then(({ networkType }) => {
|
|
||||||
if (['unknown', 'none'].includes(networkType)) {
|
|
||||||
return resolve(-1);
|
|
||||||
}
|
|
||||||
if (['2g', '3g'].includes(networkType)) {
|
|
||||||
return resolve(2);
|
|
||||||
}
|
|
||||||
const startTime = +new Date();
|
const startTime = +new Date();
|
||||||
this.requestImage().then(() => {
|
this.requestImage().then(() => {
|
||||||
const requestTime = +new Date() - startTime;
|
const requestTime = +new Date() - startTime;
|
||||||
|
|
@ -366,7 +361,6 @@ Page({
|
||||||
}
|
}
|
||||||
return resolve(networkStatus);
|
return resolve(networkStatus);
|
||||||
})
|
})
|
||||||
});
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
resolve(0);
|
resolve(0);
|
||||||
}
|
}
|
||||||
|
|
@ -385,18 +379,6 @@ Page({
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getNetworkType() {
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
wx.getNetworkType({
|
|
||||||
success(res) {
|
|
||||||
resolve(res);
|
|
||||||
},
|
|
||||||
fail(err) {
|
|
||||||
resolve(err);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 设置缓存
|
// 设置缓存
|
||||||
async setStorageData() {
|
async setStorageData() {
|
||||||
const setting: any = await getStorage('setting')
|
const setting: any = await getStorage('setting')
|
||||||
|
|
@ -665,13 +647,22 @@ Page({
|
||||||
this.setAllUserListData('ManagerRefresh', item, async () => {
|
this.setAllUserListData('ManagerRefresh', item, async () => {
|
||||||
if (item.user.uid === item.uid) {
|
if (item.user.uid === item.uid) {
|
||||||
if (item.user.uid === userInfo.uid) {
|
if (item.user.uid === userInfo.uid) {
|
||||||
// await agora.allLeaveChannelEx()
|
await agora.allJoinChannelEx(item.user, false, (url: string) => {
|
||||||
|
const roomUserListTemp = [...this.data.roomUserList]
|
||||||
|
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
|
||||||
|
itemUser.src = url
|
||||||
|
this.setData({
|
||||||
|
meSrc: url,
|
||||||
|
roomUserList: roomUserListTemp,
|
||||||
|
})
|
||||||
|
})
|
||||||
this.message(`操作成功`).success()
|
this.message(`操作成功`).success()
|
||||||
await agora.setRole(item.user.isRoomManager, (url: string) => {
|
await agora.setRole(item.user.isRoomManager, (url: string) => {
|
||||||
const roomUserListTemp = [...this.data.roomUserList]
|
const roomUserListTemp = [...this.data.roomUserList]
|
||||||
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
|
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
|
||||||
itemUser.src = url
|
itemUser.src = url
|
||||||
this.setData({
|
this.setData({
|
||||||
|
meSrc: url,
|
||||||
roomUserList: roomUserListTemp,
|
roomUserList: roomUserListTemp,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -682,15 +673,22 @@ Page({
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (item.user.uid === userInfo.uid) {
|
if (item.user.uid === userInfo.uid) {
|
||||||
if (item.user.isRoomManager) {
|
await agora.allJoinChannelEx(item.user, false, (url: string) => {
|
||||||
// await agora.allLeaveChannelEx()
|
const roomUserListTemp = [...this.data.roomUserList]
|
||||||
}
|
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
|
||||||
|
itemUser.src = url
|
||||||
|
this.setData({
|
||||||
|
meSrc: url,
|
||||||
|
roomUserList: roomUserListTemp,
|
||||||
|
})
|
||||||
|
})
|
||||||
this.message(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`).success()
|
this.message(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`).success()
|
||||||
await agora.setRole(item.user.isRoomManager, (url: string) => {
|
await agora.setRole(item.user.isRoomManager, (url: string) => {
|
||||||
const roomUserListTemp = [...this.data.roomUserList]
|
const roomUserListTemp = [...this.data.roomUserList]
|
||||||
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
|
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
|
||||||
itemUser.src = url
|
itemUser.src = url
|
||||||
this.setData({
|
this.setData({
|
||||||
|
meSrc: url,
|
||||||
roomUserList: roomUserListTemp,
|
roomUserList: roomUserListTemp,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
@ -719,10 +717,30 @@ Page({
|
||||||
case 'Watch':
|
case 'Watch':
|
||||||
if (!role.ID.includes(userInfo.roleId)) {
|
if (!role.ID.includes(userInfo.roleId)) {
|
||||||
let userId = item.watchUids.find((uid: any) => uid === userInfo.uid)
|
let userId = item.watchUids.find((uid: any) => uid === userInfo.uid)
|
||||||
|
this.setData({
|
||||||
|
watchUids: item.watchUids
|
||||||
|
})
|
||||||
|
let userRow = this.data.roomUserList.find((row: any) => row.uid === userId)
|
||||||
if (userId) {
|
if (userId) {
|
||||||
// await agora.allJoinChannelEx()
|
await agora.allJoinChannelEx(userRow, true, (url: string) => {
|
||||||
|
const roomUserListTemp = [...this.data.roomUserList]
|
||||||
|
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
|
||||||
|
itemUser.src = url
|
||||||
|
this.setData({
|
||||||
|
roomUserList: roomUserListTemp,
|
||||||
|
meSrc: url,
|
||||||
|
})
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
// await agora.allLeaveChannelEx()
|
await agora.allJoinChannelEx(userRow, false, (url: string) => {
|
||||||
|
const roomUserListTemp = [...this.data.roomUserList]
|
||||||
|
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
|
||||||
|
itemUser.src = url
|
||||||
|
this.setData({
|
||||||
|
roomUserList: roomUserListTemp,
|
||||||
|
meSrc: url,
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1246,7 +1264,12 @@ Page({
|
||||||
footerListTemplate[1].active = item.enableMicr
|
footerListTemplate[1].active = item.enableMicr
|
||||||
footerListTemplate[2].active = item.enableCamera
|
footerListTemplate[2].active = item.enableCamera
|
||||||
item.enableMicr ? await agora.unmuteLocal('audio') : await agora.muteLocal('audio')
|
item.enableMicr ? await agora.unmuteLocal('audio') : await agora.muteLocal('audio')
|
||||||
|
let userId = this.data.watchUids.find((uid: any) => uid === userInfo.uid)
|
||||||
|
if (userId) {
|
||||||
|
await agora.unmuteLocal('video')
|
||||||
|
} else {
|
||||||
item.enableCamera ? await agora.unmuteLocal('video') : await agora.muteLocal('video')
|
item.enableCamera ? await agora.unmuteLocal('video') : await agora.muteLocal('video')
|
||||||
|
}
|
||||||
if (!role.ID.includes(userInfo.roleId)) {
|
if (!role.ID.includes(userInfo.roleId)) {
|
||||||
footerListTemplate[6].active = !item.isRoomManager;
|
footerListTemplate[6].active = !item.isRoomManager;
|
||||||
}
|
}
|
||||||
|
|
@ -1342,7 +1365,9 @@ Page({
|
||||||
if (res.isConnected && (res.networkType !== 'none' || res.networkType !== 'unknown')) {
|
if (res.isConnected && (res.networkType !== 'none' || res.networkType !== 'unknown')) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
this.setData({
|
||||||
|
network: -1,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 重连失败退出房间
|
// 重连失败退出房间
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="meeting-content-smallvideo-box-view-canvas" wx:if="{{item.src}}">
|
<view class="meeting-content-smallvideo-box-view-canvas" wx:if="{{item.src}}">
|
||||||
<live-pusher wx:if="{{user.uid === item.uid}}" url="{{item.src}}" mode="RTC" object-fit="contain" background-mute enable-mic="{{footerList[1].active}}" enable-camera max-bitrate="500" min-bitrate="200" autopush enable-agc enable-ans device-position="front" class="meeting-content-smallvideo-box-view-canvas-play" data-uid="{{item.uid}}" bindaudiovolumenotify="playerAudioVolumenotify" beauty='{{9}}' whiteness='{{9}}' />
|
<live-player src="{{item.src}}" class="meeting-content-smallvideo-box-view-canvas-play" mode="RTC" autoplay="true" muted="{{item.uid === user.uid ? true : !item.enableMicr}}" object-fit="contain" data-uid="{{item.uid}}" bindaudiovolumenotify="playerAudioVolumenotify" />
|
||||||
<live-player src="{{item.src}}" class="meeting-content-smallvideo-box-view-canvas-play" mode="RTC" autoplay="true" muted="{{item.uid === user.uid ? true : !item.enableMicr}}" object-fit="contain" data-uid="{{item.uid}}" bindaudiovolumenotify="playerAudioVolumenotify" wx:else />
|
|
||||||
</view>
|
</view>
|
||||||
<view class="meeting-content-smallvideo-box-view-user">
|
<view class="meeting-content-smallvideo-box-view-user">
|
||||||
<view class="meeting-content-smallvideo-box-view-user-view" wx:if="{{item.roleId === '1' || item.roleId === '3'}}" style=" background:#FDC229">
|
<view class="meeting-content-smallvideo-box-view-user-view" wx:if="{{item.roleId === '1' || item.roleId === '3'}}" style=" background:#FDC229">
|
||||||
|
|
@ -71,6 +70,9 @@
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
|
<view style="position: fixed;left: -99999;z-index: -100;">
|
||||||
|
<live-pusher url="{{meSrc}}" mode="RTC" object-fit="contain" background-mute enable-mic="{{footerList[1].active}}" enable-camera max-bitrate="500" min-bitrate="200" autopush enable-agc enable-ans device-position="front" data-uid="{{user.uid}}" bindaudiovolumenotify="playerAudioVolumenotify" beauty='{{9}}' whiteness='{{9}}' />
|
||||||
|
</view>
|
||||||
<view class="meeting-footer" wx:if="{{!isFullscreen}}">
|
<view class="meeting-footer" wx:if="{{!isFullscreen}}">
|
||||||
<view class="meeting-footer-left">`
|
<view class="meeting-footer-left">`
|
||||||
<view class="meeting-footer-left-view" wx:for="{{footerList}}" wx:for-index="index" wx:for-item="item" wx:key="index" bind:tap="changeFooterList" data-index='{{index}}' wx:if="{{item.show}}">
|
<view class="meeting-footer-left-view" wx:for="{{footerList}}" wx:for-index="index" wx:for-item="item" wx:key="index" bind:tap="changeFooterList" data-index='{{index}}' wx:if="{{item.show}}">
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { role } from "./utils";
|
||||||
const AgoraMiniappSDK = require("../lib/agora-miniapp-sdk.js");
|
const AgoraMiniappSDK = require("../lib/agora-miniapp-sdk.js");
|
||||||
const option = {
|
const option = {
|
||||||
appId: '',
|
appId: '',
|
||||||
|
|
@ -58,6 +59,15 @@ export const agora = {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 监控
|
||||||
|
allJoinChannelEx: async (user: any, bool: boolean, callBack: Function) => {
|
||||||
|
if (!role.ID.includes(user.roleId) || !user.isRoomManager) {
|
||||||
|
await agora.setRole(bool, (url: string) => {
|
||||||
|
callBack(url);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
bool ? await agora.unmuteLocal('video') : await agora.muteLocal('video')
|
||||||
|
},
|
||||||
// 刷新token
|
// 刷新token
|
||||||
renewToken: (token) => {
|
renewToken: (token) => {
|
||||||
client.renewToken(token)
|
client.renewToken(token)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue