Files
file-transfer-go/internal/models/models.go
2025-08-06 18:08:02 +08:00

57 lines
1.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package models
import (
"time"
"github.com/gorilla/websocket"
)
// WebRTCOffer WebRTC offer 结构
type WebRTCOffer struct {
SDP string `json:"sdp"`
Type string `json:"type"`
}
// WebRTCAnswer WebRTC answer 结构
type WebRTCAnswer struct {
SDP string `json:"sdp"`
Type string `json:"type"`
}
// WebRTCICECandidate ICE candidate 结构
type WebRTCICECandidate struct {
Candidate string `json:"candidate"`
SDPMLineIndex int `json:"sdpMLineIndex"`
SDPMid string `json:"sdpMid"`
}
// VideoMessage 视频消息结构
type VideoMessage struct {
Type string `json:"type"`
Payload interface{} `json:"payload"`
}
// ClientInfo 客户端连接信息
type ClientInfo struct {
ID string `json:"id"` // 客户端唯一标识
Role string `json:"role"` // sender 或 receiver
Connection *websocket.Conn `json:"-"` // WebSocket连接不序列化
JoinedAt time.Time `json:"joined_at"` // 加入时间
UserAgent string `json:"user_agent"` // 用户代理
}
// RoomStatus 房间状态信息
type RoomStatus struct {
Code string `json:"code"`
SenderOnline bool `json:"sender_online"`
ReceiverOnline bool `json:"receiver_online"`
CreatedAt time.Time `json:"created_at"`
}
// ErrorResponse 错误响应结构
type ErrorResponse struct {
Success bool `json:"success"`
Message string `json:"message"`
Code string `json:"code,omitempty"`
}