This commit is contained in:
ditiqi 2025-05-27 15:42:58 +08:00
parent d4554cee03
commit 1c3b7bdad0
4 changed files with 13 additions and 13 deletions

View File

@ -100,9 +100,9 @@ export default function Home() {
<div
key={index}
className={`mb-2 p-2 rounded ${
msg.type === 'system'
msg.action === 'system'
? 'bg-gray-200 text-gray-700'
: msg.type === 'error'
: msg.action === 'error'
? 'bg-red-100 text-red-700'
: 'bg-blue-100 text-blue-700'
}`}

View File

@ -39,8 +39,8 @@ export class WebSocketClient {
// 只处理系统消息、错误消息,或者当前房间的消息
if (
message.type === 'system' ||
message.type === 'error' ||
message.action === 'system' ||
message.action === 'error' ||
(message.roomId && message.roomId === this.currentRoom)
) {
console.log('收到消息:', message);
@ -115,7 +115,7 @@ export class WebSocketClient {
}
const message: WSMessage = {
type: 'join',
action: 'join',
roomId,
data: {
text: `加入房间 ${roomId}`,
@ -133,7 +133,7 @@ export class WebSocketClient {
async leaveRoom() {
if (this.ws?.readyState === WebSocket.OPEN && this.currentRoom) {
const message: WSMessage = {
type: 'leave',
action: 'leave',
roomId: this.currentRoom,
data: {
text: `离开房间 ${this.currentRoom}`,
@ -154,7 +154,7 @@ export class WebSocketClient {
}
const messageObj: WSMessage = {
type: 'message',
action: 'message',
roomId: this.currentRoom,
data: {
text: messageParams.text || '',

View File

@ -12,7 +12,7 @@ export interface WSMessageParams {
}
export interface WSMessage {
type: 'join' | 'leave' | 'message' | 'system' | 'error';
action: 'join' | 'leave' | 'message' | 'system' | 'error';
roomId?: string;
data: WSMessageParams;
}

View File

@ -40,7 +40,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
setMessages((prev) => [
...prev,
{
type: 'error',
action: 'error',
data: {
text: '连接失败,请刷新页面重试',
type: MessageType.TEXT,
@ -67,7 +67,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
setMessages((prev) => [
...prev,
{
type: 'error',
action: 'error',
data: {
text: '请输入有效的房间ID',
type: MessageType.TEXT,
@ -93,7 +93,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
setMessages((prev) => [
...prev,
{
type: 'error',
action: 'error',
data: {
text: '加入房间失败,请重试',
type: MessageType.TEXT,
@ -135,7 +135,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
setMessages((prev) => [
...prev,
{
type: 'error',
action: 'error',
data: {
text: '请先加入房间',
type: MessageType.TEXT,
@ -158,7 +158,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
setMessages((prev) => [
...prev,
{
type: 'error',
action: 'error',
data: {
text: '发送消息失败,请重试',
type: MessageType.TEXT,