package edb_monitor import ( "eta/eta_api/controllers" "eta/eta_api/models" edbmonitor "eta/eta_api/services/edb_monitor" "net/http" "github.com/gorilla/websocket" ) type EdbMonitorMessage struct { controllers.BaseAuthController } var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, CheckOrigin: func(r *http.Request) bool { return true }, } var edbMonitorMessageClient = make(map[int]*websocket.Conn) // GetMonitorLevel // @Title 预警管理消息 // @Description 预警管理消息 // @Param request body request.EdbMonitorSaveRequest true "每页数据条数" // @Success 200 {object} models.EnglishReportEmailPageListResp // @router /message [get] func (m *EdbMonitorController) Message() { br := new(models.BaseResponse).Init() defer func() { m.Data["json"] = br m.ServeJSON() }() sysUser := m.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } conn, err := upgrader.Upgrade(m.Ctx.ResponseWriter, m.Ctx.Request, nil) if err != nil { return } edbMonitorMessageClient[sysUser.AdminId] = conn conn.SetCloseHandler(func(code int, text string) error { delete(edbMonitorMessageClient, sysUser.AdminId) return nil }) edbmonitor.SendMessages(conn, sysUser.AdminId) }