From f82f8b0d24dfb0ed64d39cd84e2098ecab36ee8c Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 18 Sep 2023 18:46:18 +0800 Subject: [PATCH] fix --- .../internal/logic/ws_render_image.go | 7 ++++- utils/websocket_data/render_data.go | 27 +++++++++++-------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 3b1f6c28..39bb7fbf 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -96,10 +96,15 @@ func (w *wsConnectItem) renderImage(data []byte) { //logx.Info("消费渲染数据:", string(data)) var renderImageData websocket_data.RenderImageReqMsg if err := json.Unmarshal(data, &renderImageData); err != nil { - w.incomeDataFormatErrResponse("invalid format of render data:" + string(data)) + w.renderErrResponse("", "", "", "数据格式错误", 0, 0, 0, 0, 0, 0, 0) logx.Error("invalid format of websocket render image message", err) return } + lenColor := len(renderImageData.RenderData.TemplateTagColor.Color) + if renderImageData.RenderData.TemplateTagColor.SelectedIndex >= lenColor || lenColor == 0 { + w.renderErrResponse("", "", "", "请传入模板标签选择的颜色", 0, 0, 0, 0, 0, 0, 0) + return + } //获取产品信息(部分字段) productInfo, err := w.logic.svcCtx.AllModels.FsProduct.FindOne(w.logic.ctx, renderImageData.RenderData.ProductId, "id,is_customization") if err != nil { diff --git a/utils/websocket_data/render_data.go b/utils/websocket_data/render_data.go index 16f3326b..d79032d5 100644 --- a/utils/websocket_data/render_data.go +++ b/utils/websocket_data/render_data.go @@ -15,17 +15,22 @@ type RenderImageReqMsg struct { RenderData RenderData `json:"render_data"` } type RenderData struct { - TemplateTag string `json:"template_tag"` //模板标签(必须) - ProductId int64 `json:"product_id"` //产品id(必须) - Website string `json:"website"` //网站(可选) - Slogan string `json:"slogan"` //slogan(可选) - Address string `json:"address"` //地址(可选) - Phone string `json:"phone"` //电话(可选) - Qrcode string `json:"qrcode"` //二维码(可选) - ProductSizeId int64 `json:"product_size_id"` //尺寸id(可选) - UserId int64 `json:"user_id"` //用户id(websocket连接建立再赋值) - GuestId int64 `json:"guest_id"` //游客id(websocket连接建立再赋值) - Logo string `json:"logo"` //log资源地址(websocket连接建立再赋值) + TemplateTag string `json:"template_tag"` //模板标签(必须) + TemplateTagColor TemplateTagColor `json:"template_tag_color"` //模板标签组合颜色 + ProductId int64 `json:"product_id"` //产品id(必须) + Website string `json:"website"` //网站(可选) + Slogan string `json:"slogan"` //slogan(可选) + Address string `json:"address"` //地址(可选) + Phone string `json:"phone"` //电话(可选) + Qrcode string `json:"qrcode"` //二维码(可选) + ProductSizeId int64 `json:"product_size_id"` //尺寸id(可选) + UserId int64 `json:"user_id"` //用户id(websocket连接建立再赋值) + GuestId int64 `json:"guest_id"` //游客id(websocket连接建立再赋值) + Logo string `json:"logo"` //log资源地址(websocket连接建立再赋值) +} +type TemplateTagColor struct { + Color [][]string `json:"color"` //颜色组合 + SelectedIndex int `json:"selected_index"` //主色的下标索引 } // websocket发送渲染完的数据