|
@@ -58,10 +58,8 @@ function getAnswers(client: Socket | null, roomId: string, questionId: string):
|
|
|
|
|
|
|
|
export function useSocketClient(roomId: string | null) {
|
|
export function useSocketClient(roomId: string | null) {
|
|
|
const { token } = useAuth();
|
|
const { token } = useAuth();
|
|
|
- // const queryClient = useQueryClient();
|
|
|
|
|
const [socket, setSocket] = useState<Socket | null>(null);
|
|
const [socket, setSocket] = useState<Socket | null>(null);
|
|
|
- // const [currentQuestion, setCurrentQuestion] = useState<QuizState | null>(null);
|
|
|
|
|
- // const [lastMessage, setLastMessage] = useState<ExamSocketRoomMessage | null>(null);
|
|
|
|
|
|
|
+ const [isConnected, setIsConnected] = useState(false);
|
|
|
|
|
|
|
|
// 初始化socket连接
|
|
// 初始化socket连接
|
|
|
const { data: client } = useQuery({
|
|
const { data: client } = useQuery({
|
|
@@ -83,10 +81,12 @@ export function useSocketClient(roomId: string | null) {
|
|
|
|
|
|
|
|
newSocket.on('connect', () => {
|
|
newSocket.on('connect', () => {
|
|
|
console.log('Socket connected');
|
|
console.log('Socket connected');
|
|
|
|
|
+ setIsConnected(true);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
newSocket.on('disconnect', () => {
|
|
newSocket.on('disconnect', () => {
|
|
|
console.log('Socket disconnected');
|
|
console.log('Socket disconnected');
|
|
|
|
|
+ setIsConnected(false);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
newSocket.on('error', (error) => {
|
|
newSocket.on('error', (error) => {
|
|
@@ -339,7 +339,7 @@ export function useSocketClient(roomId: string | null) {
|
|
|
const sendSettleExam = async (roomId: string) => {
|
|
const sendSettleExam = async (roomId: string) => {
|
|
|
if (!client) return;
|
|
if (!client) return;
|
|
|
return handleAsyncOperation(async () => {
|
|
return handleAsyncOperation(async () => {
|
|
|
- client.emit('exam:settle', roomId);
|
|
|
|
|
|
|
+ client.emit('exam:settle', { roomId });
|
|
|
}, '发送结算消息失败');
|
|
}, '发送结算消息失败');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -380,6 +380,7 @@ export function useSocketClient(roomId: string | null) {
|
|
|
// setCurrentQuestion,
|
|
// setCurrentQuestion,
|
|
|
// lastMessage,
|
|
// lastMessage,
|
|
|
...socketRoom,
|
|
...socketRoom,
|
|
|
- ...answerManagement
|
|
|
|
|
|
|
+ ...answerManagement,
|
|
|
|
|
+ isConnected,
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|