yangjie #22

Merged
yangqiang merged 99 commits from yangjie into master 2024-10-22 16:11:46 +08:00
7 changed files with 66 additions and 82 deletions
Showing only changes of commit 2e438090b8 - Show all commits

BIN
src/assets/icon50.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

BIN
src/assets/icon51.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

View File

@ -6,7 +6,6 @@ import { agora } from '@/utils/package/agora'
import { CloseOutlined, LoadingOutlined, QuestionCircleOutlined } from '@ant-design/icons';
import { storage } from '@/utils';
import path from 'path';
import { getKeyOpenChildWindow } from '@/utils/package/public';
const fs = require('fs').promises;
const { exec } = require('child_process');
@ -100,11 +99,6 @@ const StupWizard = forwardRef((props: any, ref: any) => {
if (location.hash.indexOf('/meeting') === -1) {
agora.release()
}
const isOpen = await getKeyOpenChildWindow('shareScreenWindow')
if (isOpen) {
window.electron.mainWindowHide()
window.electron.setViewStatus('hide')
}
setIsStupWizard(false)
}}
/>

View File

@ -1,4 +1,4 @@
import { GetRoomUser, GetRoomUserItem } from '@/api/Meeting';
import { GetRoomUser } from '@/api/Meeting';
import { role } from '@/config/role';
import styles from '@/page/Meeting/ShareScreenWindow/index.module.scss'
import { storage } from '@/utils';
@ -36,13 +36,6 @@ const ShareScreenWindow: React.FC = () => {
active: false,
select: false,
},
{
title: '设置',
icon: ImageUrl.icon28,
iconSelect: ImageUrl.icon28Select,
active: false,
select: false,
},
{
title: '录制',
icon: ImageUrl.icon27,
@ -73,8 +66,8 @@ const ShareScreenWindow: React.FC = () => {
footerListTemplate[0].active = footerList[0][0].active;
footerListTemplate[1].title = footerList[0][1].active ? '开启视频' : '关闭视频';
footerListTemplate[1].active = footerList[0][1].active;
footerListTemplate[5].title = footerList[1][3].active ? '录制中' : '录制';
footerListTemplate[5].active = footerList[1][3].active;
footerListTemplate[4].title = footerList[1][3].active ? '录制中' : '录制';
footerListTemplate[4].active = footerList[1][3].active;
setFooterLists(footerListTemplate)
break;
case 'currentSpeakUserMe':
@ -90,15 +83,7 @@ const ShareScreenWindow: React.FC = () => {
// 获取房间用户
const getRoomUser = async (): Promise<void> => {
const data = JSON.parse(storage.getItem('stateInfo') as string)
await GetRoomUserItem(data.channelId, userInfo.uid).then((res: any) => {
if (res.code === 200) {
const footerListTemplate = [...footerLists];
footerListTemplate[0].title = !res.data.enableMicr ? '解除静音' : '静音';
footerListTemplate[0].active = !res.data.enableMicr;
footerListTemplate[1].title = !res.data.enableCamera ? '开启视频' : '关闭视频';
footerListTemplate[1].active = !res.data.enableCamera;
setFooterLists(footerListTemplate)
GetRoomUser(data.channelId).then(res => {
await GetRoomUser(data.channelId).then(res => {
if (res.code === 200) {
res.data.forEach((item: any) => {
item.isShow = true;
@ -106,8 +91,9 @@ const ShareScreenWindow: React.FC = () => {
item.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager
})
setRoomUserLists(res.data)
}
})
channel.postMessage({
type: 'shareScreenWindowGetFooterLists',
});
}
})
}
@ -145,11 +131,6 @@ const ShareScreenWindow: React.FC = () => {
shareScreenWindowfooterListsTitle: item.title
});
break;
case '设置':
channel.postMessage({
type: 'shareScreenWindowSetting'
});
break;
case '聊天':
const chatBigWindow = await getKeyOpenChildWindow('chatBigWindow')
if (!chatBigWindow) {

View File

@ -1,7 +1,7 @@
import { role } from '@/config/role';
import styles from '@/page/Meeting/UserListWindow/index.module.scss'
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 Avatar from '@/components/Avatar';
import { useEffect, useState } from "react";
@ -91,6 +91,27 @@ const UserListWindow: React.FC = () => {
</span>
</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>
<img src={item.enableMicr ? ImageUrl.icon22 : ImageUrl.icon22Active} alt="" onClick={() => {
channel.postMessage({
@ -113,27 +134,6 @@ const UserListWindow: React.FC = () => {
});
}} title={item.enableCamera ? '关闭视频' : '开启视频'} />
</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>
<Popover placement="left" title={''} content={
<div style={{ width: '100px' }}>

View File

@ -4,7 +4,7 @@ import Operation from '@/components/Operation';
import SpeakerModeModal from '@/components/SpeakerModeModal';
import InvitingPersonnelModal from '@/components/InvitingPersonnelModal';
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 { thumbImageBufferToBase64 } from '@/utils/package/base64'
import { storage } from '@/utils';
@ -229,11 +229,6 @@ const Meeting: React.FC = () => {
await stopScreenCapture()
await allUserLook(userInfo.uid, userInfo.userName)
break;
case 'shareScreenWindowSetting':
stupWizardRef.current.changeModal(3);
window.electron.mainWindowCenter()
window.electron.setViewStatus('show')
break;
case 'shareScreenWindowfooterListsTitle':
switch (shareScreenWindowfooterListsTitle) {
case '静音':
@ -256,6 +251,20 @@ const Meeting: React.FC = () => {
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':
postOpenMicr(userListWindowPostOpenMicr.enableMicr, userListWindowPostOpenMicr.uid)
break;
@ -282,11 +291,6 @@ const Meeting: React.FC = () => {
case 'userListWindowAllPostOpenMicr':
postOpenMicr(false, userInfo.id, true)
break;
case 'shareScreenWindowEquipmentManagement':
equipmentManagement(shareScreenWindowEquipmentManagement.uid, shareScreenWindowEquipmentManagement.userName)
window.electron.mainWindowCenter()
window.electron.setViewStatus('show')
break;
case 'chatSmallWindowSendChannelMsg':
sendMsg(chatSmallWindowSendChannelMsg.msg)
break;
@ -2229,16 +2233,6 @@ const Meeting: React.FC = () => {
</span>
</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={() => {
if (item.isRoomManager) {
DeleteRoomManager({
@ -2255,8 +2249,19 @@ const Meeting: React.FC = () => {
}
}}>
{!item.isRoomManager ?
<UserAddOutlined style={{ color: '#fff', fontSize: '20px' }} title='设为发言人' /> :
<UserDeleteOutlined style={{ color: '#fff', fontSize: '20px' }} title='取消发言人' />}
<img src={ImageUrl.icon50} alt="" 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}
{item.uid !== user.uid && role.ID.includes(user.roleId) ? <div>
<Popover placement="left" title={''} content={

View File

@ -71,6 +71,8 @@ import icon47Active from '@/assets/icon47-active.png'
import icon48 from '@/assets/icon48.png'
import icon48Select from '@/assets/icon48-select.png'
import icon49 from '@/assets/icon49.png'
import icon50 from '@/assets/icon50.png'
import icon51 from '@/assets/icon51.png'
export default {
loading,
icon,
@ -145,4 +147,6 @@ export default {
icon48,
icon48Select,
icon49,
icon50,
icon51,
}