|
@@ -1,6 +1,7 @@
|
|
|
-package logic
|
|
|
+package chat
|
|
|
|
|
|
import (
|
|
|
+ "context"
|
|
|
"log"
|
|
|
"net/http"
|
|
|
"sync"
|
|
@@ -8,7 +9,7 @@ import (
|
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
|
"github.com/gorilla/websocket"
|
|
|
|
|
|
- v1 "cris/api/websocket/v1"
|
|
|
+ v1 "cris/api/chat/v1"
|
|
|
)
|
|
|
|
|
|
// 维护 WebSocket 客户端连接池
|
|
@@ -16,9 +17,13 @@ var clients = make(map[*websocket.Conn]bool)
|
|
|
var broadcast = make(chan string) // 广播消息的通道
|
|
|
var mu sync.Mutex //互斥锁
|
|
|
|
|
|
-type WebsocketService struct{}
|
|
|
+type chat struct{}
|
|
|
|
|
|
-func (s *WebsocketService) WebSocket(r *ghttp.Request, req *v1.ChatReq) {
|
|
|
+func New() *chat {
|
|
|
+ return &chat{}
|
|
|
+}
|
|
|
+
|
|
|
+func (s *chat) Chat(ctx context.Context, r *ghttp.Request, req *v1.ChatReq) {
|
|
|
|
|
|
// 升级 HTTP 请求为 WebSocket
|
|
|
upgrader := websocket.Upgrader{
|