package logic import ( "encoding/json" "fusenapi/constants" "fusenapi/utils/auth" "fusenapi/utils/websocket_data" "github.com/gorilla/websocket" "time" ) // 获取唯一标识失败通知 func (l *DataTransferLogic) sendGetUniqueIdErrResponse(conn *websocket.Conn, debug *auth.Debug) { rsp := websocket_data.DataTransferData{ T: constants.WEBSOCKET_CONNECT_ERR, D: websocket_data.ConnectErrMsg{Message: "err to gen unique id "}, Debug: debug != nil, } b, _ := json.Marshal(rsp) //先发一条正常信息 _ = conn.WriteMessage(websocket.TextMessage, b) //发送关闭信息 _ = conn.WriteMessage(websocket.CloseMessage, nil) } // 鉴权失败通知 func (l *DataTransferLogic) unAuthResponse(conn *websocket.Conn, isFirefoxBrowser bool, errMessage string) { rsp := websocket_data.DataTransferData{ T: constants.WEBSOCKET_UNAUTH, D: websocket_data.ConnectUnAuth{Message: errMessage}, Debug: false, } b, _ := json.Marshal(rsp) if isFirefoxBrowser { time.Sleep(time.Second * 1) //兼容下火狐(直接发回去收不到第一条消息:有待研究) } //先发一条正常信息 _ = conn.WriteMessage(websocket.TextMessage, b) //发送关闭信息 _ = conn.WriteMessage(websocket.CloseMessage, nil) } // 通用入口数据格式错误 func (w *wsConnectItem) incomeDataFormatErrResponse(data interface{}) { if w.debug == nil { return } w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_ERR_DATA_FORMAT, data)) } // 渲染错误通知 func (w *wsConnectItem) renderErrResponse(requestId, templateTag, taskId, description string, productId, userId, guestId, templateId, modelId, sizeId, elementModelId int64) { if w.debug == nil { return } data := make(map[string]interface{}) data["request_id"] = requestId data["description"] = description data["template_tag"] = templateTag data["product_id"] = productId if taskId != "" { data["task_id"] = taskId } if userId >= 0 { data["user_id"] = userId } if guestId >= 0 { data["guest_id"] = guestId } if templateId > 0 { data["template_id"] = templateId } if modelId > 0 { data["model_id"] = modelId } if sizeId > 0 { data["size_id"] = sizeId } if elementModelId > 0 { data["element_model_id"] = elementModelId } w.sendToOutChan(w.respondDataFormat(constants.WEBSOCKET_RENDER_IMAGE_ERR, data)) }