yangjie #22
Binary file not shown.
|
After Width: | Height: | Size: 430 B |
Binary file not shown.
|
After Width: | Height: | Size: 349 B |
|
|
@ -6,7 +6,6 @@ import { agora } from '@/utils/package/agora'
|
||||||
import { CloseOutlined, LoadingOutlined, QuestionCircleOutlined } from '@ant-design/icons';
|
import { CloseOutlined, LoadingOutlined, QuestionCircleOutlined } from '@ant-design/icons';
|
||||||
import { storage } from '@/utils';
|
import { storage } from '@/utils';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { getKeyOpenChildWindow } from '@/utils/package/public';
|
|
||||||
|
|
||||||
const fs = require('fs').promises;
|
const fs = require('fs').promises;
|
||||||
const { exec } = require('child_process');
|
const { exec } = require('child_process');
|
||||||
|
|
@ -100,11 +99,6 @@ const StupWizard = forwardRef((props: any, ref: any) => {
|
||||||
if (location.hash.indexOf('/meeting') === -1) {
|
if (location.hash.indexOf('/meeting') === -1) {
|
||||||
agora.release()
|
agora.release()
|
||||||
}
|
}
|
||||||
const isOpen = await getKeyOpenChildWindow('shareScreenWindow')
|
|
||||||
if (isOpen) {
|
|
||||||
window.electron.mainWindowHide()
|
|
||||||
window.electron.setViewStatus('hide')
|
|
||||||
}
|
|
||||||
setIsStupWizard(false)
|
setIsStupWizard(false)
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { GetRoomUser, GetRoomUserItem } from '@/api/Meeting';
|
import { GetRoomUser } from '@/api/Meeting';
|
||||||
import { role } from '@/config/role';
|
import { role } from '@/config/role';
|
||||||
import styles from '@/page/Meeting/ShareScreenWindow/index.module.scss'
|
import styles from '@/page/Meeting/ShareScreenWindow/index.module.scss'
|
||||||
import { storage } from '@/utils';
|
import { storage } from '@/utils';
|
||||||
|
|
@ -36,13 +36,6 @@ const ShareScreenWindow: React.FC = () => {
|
||||||
active: false,
|
active: false,
|
||||||
select: false,
|
select: false,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: '设置',
|
|
||||||
icon: ImageUrl.icon28,
|
|
||||||
iconSelect: ImageUrl.icon28Select,
|
|
||||||
active: false,
|
|
||||||
select: false,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: '录制',
|
title: '录制',
|
||||||
icon: ImageUrl.icon27,
|
icon: ImageUrl.icon27,
|
||||||
|
|
@ -73,8 +66,8 @@ const ShareScreenWindow: React.FC = () => {
|
||||||
footerListTemplate[0].active = footerList[0][0].active;
|
footerListTemplate[0].active = footerList[0][0].active;
|
||||||
footerListTemplate[1].title = footerList[0][1].active ? '开启视频' : '关闭视频';
|
footerListTemplate[1].title = footerList[0][1].active ? '开启视频' : '关闭视频';
|
||||||
footerListTemplate[1].active = footerList[0][1].active;
|
footerListTemplate[1].active = footerList[0][1].active;
|
||||||
footerListTemplate[5].title = footerList[1][3].active ? '录制中' : '录制';
|
footerListTemplate[4].title = footerList[1][3].active ? '录制中' : '录制';
|
||||||
footerListTemplate[5].active = footerList[1][3].active;
|
footerListTemplate[4].active = footerList[1][3].active;
|
||||||
setFooterLists(footerListTemplate)
|
setFooterLists(footerListTemplate)
|
||||||
break;
|
break;
|
||||||
case 'currentSpeakUserMe':
|
case 'currentSpeakUserMe':
|
||||||
|
|
@ -90,24 +83,17 @@ const ShareScreenWindow: React.FC = () => {
|
||||||
// 获取房间用户
|
// 获取房间用户
|
||||||
const getRoomUser = async (): Promise<void> => {
|
const getRoomUser = async (): Promise<void> => {
|
||||||
const data = JSON.parse(storage.getItem('stateInfo') as string)
|
const data = JSON.parse(storage.getItem('stateInfo') as string)
|
||||||
await GetRoomUserItem(data.channelId, userInfo.uid).then((res: any) => {
|
await GetRoomUser(data.channelId).then(res => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
const footerListTemplate = [...footerLists];
|
res.data.forEach((item: any) => {
|
||||||
footerListTemplate[0].title = !res.data.enableMicr ? '解除静音' : '静音';
|
item.isShow = true;
|
||||||
footerListTemplate[0].active = !res.data.enableMicr;
|
item.isRoom = true;
|
||||||
footerListTemplate[1].title = !res.data.enableCamera ? '开启视频' : '关闭视频';
|
item.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager
|
||||||
footerListTemplate[1].active = !res.data.enableCamera;
|
|
||||||
setFooterLists(footerListTemplate)
|
|
||||||
GetRoomUser(data.channelId).then(res => {
|
|
||||||
if (res.code === 200) {
|
|
||||||
res.data.forEach((item: any) => {
|
|
||||||
item.isShow = true;
|
|
||||||
item.isRoom = true;
|
|
||||||
item.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager
|
|
||||||
})
|
|
||||||
setRoomUserLists(res.data)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
setRoomUserLists(res.data)
|
||||||
|
channel.postMessage({
|
||||||
|
type: 'shareScreenWindowGetFooterLists',
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -145,11 +131,6 @@ const ShareScreenWindow: React.FC = () => {
|
||||||
shareScreenWindowfooterListsTitle: item.title
|
shareScreenWindowfooterListsTitle: item.title
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case '设置':
|
|
||||||
channel.postMessage({
|
|
||||||
type: 'shareScreenWindowSetting'
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case '聊天':
|
case '聊天':
|
||||||
const chatBigWindow = await getKeyOpenChildWindow('chatBigWindow')
|
const chatBigWindow = await getKeyOpenChildWindow('chatBigWindow')
|
||||||
if (!chatBigWindow) {
|
if (!chatBigWindow) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { role } from '@/config/role';
|
import { role } from '@/config/role';
|
||||||
import styles from '@/page/Meeting/UserListWindow/index.module.scss'
|
import styles from '@/page/Meeting/UserListWindow/index.module.scss'
|
||||||
import ImageUrl from '@/utils/package/imageUrl';
|
import ImageUrl from '@/utils/package/imageUrl';
|
||||||
import { EllipsisOutlined, ExclamationCircleFilled, SearchOutlined, UserAddOutlined, UserDeleteOutlined } from '@ant-design/icons';
|
import { EllipsisOutlined, ExclamationCircleFilled, SearchOutlined } from '@ant-design/icons';
|
||||||
import { Button, Input, Modal, Popover } from 'antd';
|
import { Button, Input, Modal, Popover } from 'antd';
|
||||||
import Avatar from '@/components/Avatar';
|
import Avatar from '@/components/Avatar';
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
|
|
@ -91,6 +91,27 @@ const UserListWindow: React.FC = () => {
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
{item.uid !== user.uid && !role.ID.includes(item.roleId) ? <div onClick={() => {
|
||||||
|
if (item.isRoomManager) {
|
||||||
|
channel.postMessage({
|
||||||
|
type: 'userListWindowDeleteRoomManager',
|
||||||
|
userListWindowDeleteRoomManager: {
|
||||||
|
uid: item.uid
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
channel.postMessage({
|
||||||
|
type: 'userListWindowPostRoomManager',
|
||||||
|
userListWindowPostRoomManager: {
|
||||||
|
uid: item.uid
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}}>
|
||||||
|
{!item.isRoomManager ?
|
||||||
|
<img src={ImageUrl.icon50} alt="" title='设为发言人' /> :
|
||||||
|
<img src={ImageUrl.icon51} alt="" title='取消发言人' />}
|
||||||
|
</div> : null}
|
||||||
{role.ID.includes(item.roleId) || item.isRoomManager ? <div>
|
{role.ID.includes(item.roleId) || item.isRoomManager ? <div>
|
||||||
<img src={item.enableMicr ? ImageUrl.icon22 : ImageUrl.icon22Active} alt="" onClick={() => {
|
<img src={item.enableMicr ? ImageUrl.icon22 : ImageUrl.icon22Active} alt="" onClick={() => {
|
||||||
channel.postMessage({
|
channel.postMessage({
|
||||||
|
|
@ -113,27 +134,6 @@ const UserListWindow: React.FC = () => {
|
||||||
});
|
});
|
||||||
}} title={item.enableCamera ? '关闭视频' : '开启视频'} />
|
}} title={item.enableCamera ? '关闭视频' : '开启视频'} />
|
||||||
</div> : null}
|
</div> : null}
|
||||||
{item.uid !== user.uid && !role.ID.includes(item.roleId) ? <div onClick={() => {
|
|
||||||
if (item.isRoomManager) {
|
|
||||||
channel.postMessage({
|
|
||||||
type: 'userListWindowDeleteRoomManager',
|
|
||||||
userListWindowDeleteRoomManager: {
|
|
||||||
uid: item.uid
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
channel.postMessage({
|
|
||||||
type: 'userListWindowPostRoomManager',
|
|
||||||
userListWindowPostRoomManager: {
|
|
||||||
uid: item.uid
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}}>
|
|
||||||
{!item.isRoomManager ?
|
|
||||||
<UserAddOutlined style={{ color: '#fff', fontSize: '20px' }} title='设为发言人' /> :
|
|
||||||
<UserDeleteOutlined style={{ color: '#fff', fontSize: '20px' }} title='取消发言人' />}
|
|
||||||
</div> : null}
|
|
||||||
{item.uid !== user.uid && role.ID.includes(user.roleId) ? <div>
|
{item.uid !== user.uid && role.ID.includes(user.roleId) ? <div>
|
||||||
<Popover placement="left" title={''} content={
|
<Popover placement="left" title={''} content={
|
||||||
<div style={{ width: '100px' }}>
|
<div style={{ width: '100px' }}>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import Operation from '@/components/Operation';
|
||||||
import SpeakerModeModal from '@/components/SpeakerModeModal';
|
import SpeakerModeModal from '@/components/SpeakerModeModal';
|
||||||
import InvitingPersonnelModal from '@/components/InvitingPersonnelModal';
|
import InvitingPersonnelModal from '@/components/InvitingPersonnelModal';
|
||||||
import { Button, Input, Popover, Modal, Checkbox, message, Popconfirm, notification } from "antd";
|
import { Button, Input, Popover, Modal, Checkbox, message, Popconfirm, notification } from "antd";
|
||||||
import { SearchOutlined, EllipsisOutlined, ExclamationCircleFilled, FullscreenExitOutlined, FullscreenOutlined, QuestionCircleOutlined, UserAddOutlined, UserDeleteOutlined } from '@ant-design/icons';
|
import { SearchOutlined, EllipsisOutlined, ExclamationCircleFilled, FullscreenExitOutlined, FullscreenOutlined, QuestionCircleOutlined } from '@ant-design/icons';
|
||||||
import { useLocation, useNavigate } from 'react-router-dom';
|
import { useLocation, useNavigate } from 'react-router-dom';
|
||||||
import { thumbImageBufferToBase64 } from '@/utils/package/base64'
|
import { thumbImageBufferToBase64 } from '@/utils/package/base64'
|
||||||
import { storage } from '@/utils';
|
import { storage } from '@/utils';
|
||||||
|
|
@ -229,11 +229,6 @@ const Meeting: React.FC = () => {
|
||||||
await stopScreenCapture()
|
await stopScreenCapture()
|
||||||
await allUserLook(userInfo.uid, userInfo.userName)
|
await allUserLook(userInfo.uid, userInfo.userName)
|
||||||
break;
|
break;
|
||||||
case 'shareScreenWindowSetting':
|
|
||||||
stupWizardRef.current.changeModal(3);
|
|
||||||
window.electron.mainWindowCenter()
|
|
||||||
window.electron.setViewStatus('show')
|
|
||||||
break;
|
|
||||||
case 'shareScreenWindowfooterListsTitle':
|
case 'shareScreenWindowfooterListsTitle':
|
||||||
switch (shareScreenWindowfooterListsTitle) {
|
switch (shareScreenWindowfooterListsTitle) {
|
||||||
case '静音':
|
case '静音':
|
||||||
|
|
@ -256,6 +251,20 @@ const Meeting: React.FC = () => {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'shareScreenWindowGetFooterLists':
|
||||||
|
setFooterList((res: any) => {
|
||||||
|
channel.postMessage({
|
||||||
|
type: 'footerList',
|
||||||
|
footerList: res,
|
||||||
|
});
|
||||||
|
return res
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
case 'shareScreenWindowEquipmentManagement':
|
||||||
|
equipmentManagement(shareScreenWindowEquipmentManagement.uid, shareScreenWindowEquipmentManagement.userName)
|
||||||
|
window.electron.mainWindowCenter()
|
||||||
|
window.electron.setViewStatus('show')
|
||||||
|
break;
|
||||||
case 'userListWindowPostOpenMicr':
|
case 'userListWindowPostOpenMicr':
|
||||||
postOpenMicr(userListWindowPostOpenMicr.enableMicr, userListWindowPostOpenMicr.uid)
|
postOpenMicr(userListWindowPostOpenMicr.enableMicr, userListWindowPostOpenMicr.uid)
|
||||||
break;
|
break;
|
||||||
|
|
@ -282,11 +291,6 @@ const Meeting: React.FC = () => {
|
||||||
case 'userListWindowAllPostOpenMicr':
|
case 'userListWindowAllPostOpenMicr':
|
||||||
postOpenMicr(false, userInfo.id, true)
|
postOpenMicr(false, userInfo.id, true)
|
||||||
break;
|
break;
|
||||||
case 'shareScreenWindowEquipmentManagement':
|
|
||||||
equipmentManagement(shareScreenWindowEquipmentManagement.uid, shareScreenWindowEquipmentManagement.userName)
|
|
||||||
window.electron.mainWindowCenter()
|
|
||||||
window.electron.setViewStatus('show')
|
|
||||||
break;
|
|
||||||
case 'chatSmallWindowSendChannelMsg':
|
case 'chatSmallWindowSendChannelMsg':
|
||||||
sendMsg(chatSmallWindowSendChannelMsg.msg)
|
sendMsg(chatSmallWindowSendChannelMsg.msg)
|
||||||
break;
|
break;
|
||||||
|
|
@ -2229,16 +2233,6 @@ const Meeting: React.FC = () => {
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
{role.ID.includes(item.roleId) || item.isRoomManager ? <div>
|
|
||||||
<img src={item.enableMicr ? ImageUrl.icon22 : ImageUrl.icon22Active} alt="" onClick={() => {
|
|
||||||
postOpenMicr(!item.enableMicr, item.uid)
|
|
||||||
}} title={item.enableMicr ? '静音' : '解除静音'} />
|
|
||||||
</div> : null}
|
|
||||||
{role.ID.includes(item.roleId) || item.isRoomManager ? <div>
|
|
||||||
<img src={item.enableCamera ? ImageUrl.icon23 : ImageUrl.icon23Active} alt="" onClick={() => {
|
|
||||||
postOpenCamera(!item.enableCamera, item.uid)
|
|
||||||
}} title={item.enableCamera ? '关闭视频' : '开启视频'} />
|
|
||||||
</div> : null}
|
|
||||||
{item.uid !== user.uid && !role.ID.includes(item.roleId) ? <div onClick={() => {
|
{item.uid !== user.uid && !role.ID.includes(item.roleId) ? <div onClick={() => {
|
||||||
if (item.isRoomManager) {
|
if (item.isRoomManager) {
|
||||||
DeleteRoomManager({
|
DeleteRoomManager({
|
||||||
|
|
@ -2255,8 +2249,19 @@ const Meeting: React.FC = () => {
|
||||||
}
|
}
|
||||||
}}>
|
}}>
|
||||||
{!item.isRoomManager ?
|
{!item.isRoomManager ?
|
||||||
<UserAddOutlined style={{ color: '#fff', fontSize: '20px' }} title='设为发言人' /> :
|
<img src={ImageUrl.icon50} alt="" title='设为发言人' /> :
|
||||||
<UserDeleteOutlined style={{ color: '#fff', fontSize: '20px' }} title='取消发言人' />}
|
<img src={ImageUrl.icon51} alt="" title='取消发言人' />
|
||||||
|
}
|
||||||
|
</div> : null}
|
||||||
|
{role.ID.includes(item.roleId) || item.isRoomManager ? <div>
|
||||||
|
<img src={item.enableMicr ? ImageUrl.icon22 : ImageUrl.icon22Active} alt="" onClick={() => {
|
||||||
|
postOpenMicr(!item.enableMicr, item.uid)
|
||||||
|
}} title={item.enableMicr ? '静音' : '解除静音'} />
|
||||||
|
</div> : null}
|
||||||
|
{role.ID.includes(item.roleId) || item.isRoomManager ? <div>
|
||||||
|
<img src={item.enableCamera ? ImageUrl.icon23 : ImageUrl.icon23Active} alt="" onClick={() => {
|
||||||
|
postOpenCamera(!item.enableCamera, item.uid)
|
||||||
|
}} title={item.enableCamera ? '关闭视频' : '开启视频'} />
|
||||||
</div> : null}
|
</div> : null}
|
||||||
{item.uid !== user.uid && role.ID.includes(user.roleId) ? <div>
|
{item.uid !== user.uid && role.ID.includes(user.roleId) ? <div>
|
||||||
<Popover placement="left" title={''} content={
|
<Popover placement="left" title={''} content={
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,8 @@ import icon47Active from '@/assets/icon47-active.png'
|
||||||
import icon48 from '@/assets/icon48.png'
|
import icon48 from '@/assets/icon48.png'
|
||||||
import icon48Select from '@/assets/icon48-select.png'
|
import icon48Select from '@/assets/icon48-select.png'
|
||||||
import icon49 from '@/assets/icon49.png'
|
import icon49 from '@/assets/icon49.png'
|
||||||
|
import icon50 from '@/assets/icon50.png'
|
||||||
|
import icon51 from '@/assets/icon51.png'
|
||||||
export default {
|
export default {
|
||||||
loading,
|
loading,
|
||||||
icon,
|
icon,
|
||||||
|
|
@ -145,4 +147,6 @@ export default {
|
||||||
icon48,
|
icon48,
|
||||||
icon48Select,
|
icon48Select,
|
||||||
icon49,
|
icon49,
|
||||||
|
icon50,
|
||||||
|
icon51,
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue