Commit 0c1868b2 authored by liujiaxin's avatar liujiaxin

输入修改,老师全部静音的时候学生无权开启

parent e9179cd5
......@@ -17,7 +17,7 @@ const useStyles = makeStyles ((theme: Theme) => ({
}
}));
const ALPHABETICAL = /^[a-zA-Z0-9]*/
const ALPHABETICAL = /^[a-zA-Z0-9_]*/
export default function (props: any) {
const classes = useStyles();
......@@ -35,4 +35,4 @@ export default function (props: any) {
{props.requiredText ? <Typography className={classes.required}>{props.requiredText}</Typography> : null}
</>
);
}
\ No newline at end of file
}
......@@ -70,8 +70,8 @@ export function Nav ({
<span className="time">{moment.utc(time).format('HH:mm:ss')}</span>
</div>
<span className="menu-split" />
<RoomToolsBar onClick={handleClick} />
{ roomStore.state.me.role == 'teacher' ? <RoomToolsBar onClick={handleClick} /> : null}
{/*<div className={platform === 'web' ? "btn-group" : 'electron-btn-group' }>
{platform === 'web' ? <Icon className="icon-setting" onClick={(evt: any) => {
handleClick("setting");
......
......@@ -59,15 +59,20 @@ export default function RoomToolsBar (props: any) {
<>
<div className={'room-tool-box'}>
{roomStore.state.me.role == 'teacher' ?
<>
{muteAudio
? <div className="tool-btn" onClick={audioOn}><VoiceOverOffIcon/></div>
: <div onClick={audioOff} className="tool-btn"><RecordVoiceOverIcon/></div>
}
{currentTool == TOOL_TYPE.WHITEBOARD
? <div className="tool-btn" onClick={changeTool}><ImportContacts/></div>
: <div onClick={changeTool} className="tool-btn"><Category/></div>
}
</>: null }
{muteAudio
? <div className="tool-btn" onClick={audioOn}><VoiceOverOffIcon/></div>
: <div onClick={audioOff} className="tool-btn"><RecordVoiceOverIcon/></div>
}
{currentTool == TOOL_TYPE.WHITEBOARD
? <div className="tool-btn" onClick={changeTool}><ImportContacts/></div>
: <div onClick={changeTool} className="tool-btn"><Category/></div>
}
<div className="tool-btn" onClick={(evt: any) => {
props.onClick("setting");
}}><SettingsApplicationsIcon/></div>
......
......@@ -80,7 +80,7 @@ export const RootProvider: React.FC<any> = ({children}) => {
if (!roomStore.state.rtm.joined) return;
const rtmClient = roomStore.rtmClient;
rtmClient.on('ConnectionStateChanged', ({ newState, reason }: { newState: string, reason: string }) => {
console.log(`newState: ${newState} reason: ${reason}`);
console.log(`[ConnectionStateChanged] newState: ${newState} reason: ${reason}`);
if (reason === 'LOGIN_FAILURE') {
globalStore.showToast({
type: 'rtmClient',
......
......@@ -149,6 +149,7 @@ export default function useStream () {
// return studentsOrder.indexOf(+a) - studentsOrder.indexOf(+b);
// });
const sids: any = [];
let orderIdx = 0;
for (const ouid of studentsOrder) {
if (ouid == 0) {
sids.push(0)
......@@ -159,15 +160,19 @@ export default function useStream () {
sids.push(uid);
} else {
// find in channel
const usr = userAttrs.get(`${uid}`)
const usr = userAttrs.get(`${ouid}`)
console.log('channel has ', ouid, usr)
if (usr) {
sids.push(+usr.uid);
sids.push(-1/*+usr.uid*/);
} else {
sids.push(-1);
// sids.push(-1);
sids[orderIdx] = 0;
studentsOrder[orderIdx] = 0
}
}
}
orderIdx++
}
console.log(222222, userAttrs.toArray());
console.log(333333, sids);
......@@ -432,6 +437,9 @@ export default function useStream () {
if (audio) {
await roomStore.mute(targetUid, 'audio');
} else {
if (me.role == 'student' && roomStore.state.course.muteAudio) {
return
}
await roomStore.unmute(targetUid, 'audio');
}
return;
......
......@@ -82,7 +82,7 @@ function HomePage() {
///////////////////////////////
if (window.location.origin.includes('://127.0.0.1') || window.location.origin.includes('://localhost')) {
session.roomName = "test_01__123";// userInfo["class_id"];
// session.yourName = userInfo["nick_name"];
session.role = `${session.yourName}`==="1"?"teacher":"student";
......@@ -123,15 +123,12 @@ function HomePage() {
})
}
console.warn(err);
})
.finally(() => {
}).finally(() => {
ref.current = false;
globalStore.stopLoading();
})
} else {
///////////////////////////////
/*
endPoint.login({username: session.yourName, password: session.yourPass}).then((userInfo: any) => {
console.log(userInfo);
session.roomName = userInfo["class_id"];// userInfo["class_id"];
......@@ -142,7 +139,7 @@ function HomePage() {
if (!roomTypes[session.roomType]) return;
const path = roomTypes[session.roomType].path
const payload = {
uid: userInfo["classRole"]==="tea"?"100":`${session.yourName.substr(-2)}`, // `${userInfo["id"]}`, // genUid(),
uid: `${userInfo["id"]}`, // userInfo["classRole"]==="tea"?"100":`${session.yourName.substr(-2)}`, // `${userInfo["id"]}`, // genUid(),
rid: `${session.roomName}`, // `${session.roomType}${MD5(session.roomName)}`,
role: session.role,
roomName: session.roomName,
......@@ -186,7 +183,9 @@ function HomePage() {
message: err
})
});
*/
}
}
......
......@@ -547,7 +547,7 @@ export class RoomStore {
}
addRemoteStream(stream: AgoraStream) {
console.log('remoteStreams added',5 , stream.streamID)
console.log('remoteStreams added',5 , stream.streamID, this.state.users)
this.state = {
...this.state,
rtc: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment