feat: 品牌裁剪弹窗/Markdown 行内短代码与详情视频块等
新增: - BrandCropModal 品牌图裁剪弹窗 + cropImage 工具 - Markdown 行内短代码(inlineShortcodes + remark 插件) - MdDetails 折叠块、MdVideo 视频块组件 - directiveBlocks/inlineShortcodes 测试 其它: - 聊天后端(handler/service chat)调整 - Markdown 渲染链路、编辑器、全局样式与品牌相关面板更新
This commit is contained in:
@@ -387,13 +387,12 @@ func (h *Handlers) SetChatMemberMute(c *gin.Context) {
|
||||
sysContent = targetName + " 的禁言已被解除"
|
||||
}
|
||||
sysMsg, _ := h.Chat.SendSystemMessage(roomID, sysContent)
|
||||
// 广播系统消息到房间(sender_id=0,前端按系统消息渲染)
|
||||
// 广播系统消息到房间(sender_id=0,前端按系统消息渲染);
|
||||
// Data 与普通消息一致直接放消息体(扁平结构),前端按 room_id 匹配后才能即时上屏
|
||||
if sysMsg != nil && sysMsg.ID > 0 {
|
||||
h.Hub.BroadcastRoom(realtime.RoomChat(roomID), realtime.Envelope{
|
||||
Type: realtime.EventChatMessage,
|
||||
Data: gin.H{
|
||||
"message": sysMsg,
|
||||
},
|
||||
Data: sysMsg,
|
||||
})
|
||||
}
|
||||
h.Hub.BroadcastRoom(realtime.RoomChat(roomID), realtime.Envelope{
|
||||
@@ -682,7 +681,9 @@ func (h *Handlers) broadcastChatRecalled(roomID uint, msg *model.ChatMessage, ne
|
||||
}
|
||||
env := realtime.Envelope{Type: realtime.EventChatRecalled, Data: data}
|
||||
h.Hub.BroadcastRoom(realtime.RoomChat(roomID), env)
|
||||
// 未订阅该房间的成员(侧栏在看别的会话)也需要实时改预览
|
||||
// 未订阅该房间的成员(侧栏在看别的会话)也需要实时改预览:
|
||||
// 已撤回正文不得残留在侧栏预览里。预览回滚到上一条真实消息由 RecallMessage
|
||||
// 回退 last_message_id 完成,本推送只负责即时抹掉正文、不产生角标与置顶。
|
||||
if h.Chat == nil {
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user