go语言聊天室实现(十一)用户发送消息的设置

对于用户发送消息的方面,首先我们应该修改一下之前的UserMessage结构体,如下:

type UserMessage struct {
    Type        string `json:"type"`
    UserId      int    `json:"user_id"`
    FirstTopic  int    `json:"first_topic"`
    SecondTopic int    `json:"second_topic"`
    MsgType int `json:"msg_type"`
    MsgContent string `json:"msg_content"`
}

这里加入了一个MsgType和一个MsgContent。用户发送消息的类型和具体的消息内容。
然后我们就可以通过Type是否为Message来判断是否是用户发送的消息。

case "message":
            messageContent:=common.MessageContent{
                FirstTopic: umsg.FirstTopic,
                SecondTopic: umsg.SecondTopic,
                MsgType: umsg.MsgType,
                MsgContent: umsg.MsgContent,
                UserId: umsg.UserId,
            }
            fds:=new(user.UserService).GetFdByGroup(umsg.FirstTopic,umsg.SecondTopic)
            fmt.Println("fds===================",fds)
            PushToAllObj:=new(push.PushToAllMessage)
            PushToAllObj.Status=0;
            PushToAllObj.Data=messageContent
            PushToAllObj.Fds=fds
            messageservice:=new(message.MessageService)
            messageservice.Add(PushToAllObj)
            messageservice.Update()

break

这里我们新建了一个MessagService,这个Service只是为了继承一下PushEventGenerator,从而对用户发送通知。
OK,至此所有的发送消息的功能与之前Swoole_chat的功能都一致了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容