add
This commit is contained in:
parent
d4554cee03
commit
1c3b7bdad0
|
@ -100,9 +100,9 @@ export default function Home() {
|
||||||
<div
|
<div
|
||||||
key={index}
|
key={index}
|
||||||
className={`mb-2 p-2 rounded ${
|
className={`mb-2 p-2 rounded ${
|
||||||
msg.type === 'system'
|
msg.action === 'system'
|
||||||
? 'bg-gray-200 text-gray-700'
|
? 'bg-gray-200 text-gray-700'
|
||||||
: msg.type === 'error'
|
: msg.action === 'error'
|
||||||
? 'bg-red-100 text-red-700'
|
? 'bg-red-100 text-red-700'
|
||||||
: 'bg-blue-100 text-blue-700'
|
: 'bg-blue-100 text-blue-700'
|
||||||
}`}
|
}`}
|
||||||
|
|
|
@ -39,8 +39,8 @@ export class WebSocketClient {
|
||||||
|
|
||||||
// 只处理系统消息、错误消息,或者当前房间的消息
|
// 只处理系统消息、错误消息,或者当前房间的消息
|
||||||
if (
|
if (
|
||||||
message.type === 'system' ||
|
message.action === 'system' ||
|
||||||
message.type === 'error' ||
|
message.action === 'error' ||
|
||||||
(message.roomId && message.roomId === this.currentRoom)
|
(message.roomId && message.roomId === this.currentRoom)
|
||||||
) {
|
) {
|
||||||
console.log('收到消息:', message);
|
console.log('收到消息:', message);
|
||||||
|
@ -115,7 +115,7 @@ export class WebSocketClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
const message: WSMessage = {
|
const message: WSMessage = {
|
||||||
type: 'join',
|
action: 'join',
|
||||||
roomId,
|
roomId,
|
||||||
data: {
|
data: {
|
||||||
text: `加入房间 ${roomId}`,
|
text: `加入房间 ${roomId}`,
|
||||||
|
@ -133,7 +133,7 @@ export class WebSocketClient {
|
||||||
async leaveRoom() {
|
async leaveRoom() {
|
||||||
if (this.ws?.readyState === WebSocket.OPEN && this.currentRoom) {
|
if (this.ws?.readyState === WebSocket.OPEN && this.currentRoom) {
|
||||||
const message: WSMessage = {
|
const message: WSMessage = {
|
||||||
type: 'leave',
|
action: 'leave',
|
||||||
roomId: this.currentRoom,
|
roomId: this.currentRoom,
|
||||||
data: {
|
data: {
|
||||||
text: `离开房间 ${this.currentRoom}`,
|
text: `离开房间 ${this.currentRoom}`,
|
||||||
|
@ -154,7 +154,7 @@ export class WebSocketClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
const messageObj: WSMessage = {
|
const messageObj: WSMessage = {
|
||||||
type: 'message',
|
action: 'message',
|
||||||
roomId: this.currentRoom,
|
roomId: this.currentRoom,
|
||||||
data: {
|
data: {
|
||||||
text: messageParams.text || '',
|
text: messageParams.text || '',
|
||||||
|
|
|
@ -12,7 +12,7 @@ export interface WSMessageParams {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface WSMessage {
|
export interface WSMessage {
|
||||||
type: 'join' | 'leave' | 'message' | 'system' | 'error';
|
action: 'join' | 'leave' | 'message' | 'system' | 'error';
|
||||||
roomId?: string;
|
roomId?: string;
|
||||||
data: WSMessageParams;
|
data: WSMessageParams;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
|
||||||
setMessages((prev) => [
|
setMessages((prev) => [
|
||||||
...prev,
|
...prev,
|
||||||
{
|
{
|
||||||
type: 'error',
|
action: 'error',
|
||||||
data: {
|
data: {
|
||||||
text: '连接失败,请刷新页面重试',
|
text: '连接失败,请刷新页面重试',
|
||||||
type: MessageType.TEXT,
|
type: MessageType.TEXT,
|
||||||
|
@ -67,7 +67,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
|
||||||
setMessages((prev) => [
|
setMessages((prev) => [
|
||||||
...prev,
|
...prev,
|
||||||
{
|
{
|
||||||
type: 'error',
|
action: 'error',
|
||||||
data: {
|
data: {
|
||||||
text: '请输入有效的房间ID',
|
text: '请输入有效的房间ID',
|
||||||
type: MessageType.TEXT,
|
type: MessageType.TEXT,
|
||||||
|
@ -93,7 +93,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
|
||||||
setMessages((prev) => [
|
setMessages((prev) => [
|
||||||
...prev,
|
...prev,
|
||||||
{
|
{
|
||||||
type: 'error',
|
action: 'error',
|
||||||
data: {
|
data: {
|
||||||
text: '加入房间失败,请重试',
|
text: '加入房间失败,请重试',
|
||||||
type: MessageType.TEXT,
|
type: MessageType.TEXT,
|
||||||
|
@ -135,7 +135,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
|
||||||
setMessages((prev) => [
|
setMessages((prev) => [
|
||||||
...prev,
|
...prev,
|
||||||
{
|
{
|
||||||
type: 'error',
|
action: 'error',
|
||||||
data: {
|
data: {
|
||||||
text: '请先加入房间',
|
text: '请先加入房间',
|
||||||
type: MessageType.TEXT,
|
type: MessageType.TEXT,
|
||||||
|
@ -158,7 +158,7 @@ export const useWebSocket = (): UseWebSocketReturn => {
|
||||||
setMessages((prev) => [
|
setMessages((prev) => [
|
||||||
...prev,
|
...prev,
|
||||||
{
|
{
|
||||||
type: 'error',
|
action: 'error',
|
||||||
data: {
|
data: {
|
||||||
text: '发送消息失败,请重试',
|
text: '发送消息失败,请重试',
|
||||||
type: MessageType.TEXT,
|
type: MessageType.TEXT,
|
||||||
|
|
Loading…
Reference in New Issue