| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package ws
- import (
- "github.com/gin-gonic/gin"
- "github.com/gorilla/websocket"
- "net/http"
- "sync"
- )
- type User struct {
- Conn *websocket.Conn
- Name string
- Id string
- Avator string
- To_id string
- }
- type Message struct {
- conn *websocket.Conn
- context *gin.Context
- content []byte
- messageType int
- }
- type TypeMessage struct {
- Type interface{} `json:"type"`
- Data interface{} `json:"data"`
- }
- type ClientMessage struct {
- Name string `json:"name"`
- Avator string `json:"avator"`
- Id string `json:"id"`
- VisitorId string `json:"visitor_id"`
- Group string `json:"group"`
- Time string `json:"time"`
- ToId string `json:"to_id"`
- Content string `json:"content"`
- City string `json:"city"`
- ClientIp string `json:"client_ip"`
- Refer string `json:"refer"`
- }
- var ClientList = make(map[string]*User)
- var KefuList = make(map[string][]*User)
- var message = make(chan *Message)
- var Mux sync.RWMutex
- var upgrader = websocket.Upgrader{
- ReadBufferSize: 1024,
- WriteBufferSize: 1024,
- // 解决跨域问题
- CheckOrigin: func(r *http.Request) bool {
- return true
- },
- }
|