# 云雀消息服务-消息推送业务实现-go版 **Repository Path**: wokaixin/yunque-message-client-go ## Basic Information - **Project Name**: 云雀消息服务-消息推送业务实现-go版 - **Description**: 云雀消息推送系统-推送消息业务实现 go版 - **Primary Language**: Go - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-09-24 - **Last Updated**: 2024-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 云雀消息推送服务系统 -推送消息业务实现 go版 作者 yichen email 2782268022@qq.com ### 安装 ``` git clone https://gitee.com/wokaixin/yunque-message-client-go.git ``` >云雀主服务 websocket 链接服务端地址: https://gitee.com/wokaixin/yunque-socket.git >云雀推消息业务实现 php版 https://gitee.com/wokaixin/yunque-message-client-php >云雀推消息业务实现 java版 https://gitee.com/wokaixin/yunque-message-client-java >云雀推消息业务实现 go版 https://gitee.com/wokaixin/yunque-message-client-go ### 使用方法 参考service 目录 ### 消息服务推送 service.Message.go ### 业务推送 service.ReplyBody.go 使用方法 参考service 目录 ### 推送消息更多方法如下: ```markdown func (*Message) Send(sendAct ProtoModel.SendActProto, data []byte) error /* * 推送消息给指定用户 批量 */ func (this *Message) SendTos(uids []string, msgs []*ProtoModel.MessageProto) error /* * 推送消息给指定多个用户 * 多个uid 逗号分割 * params $uids=uid1,uid2,uid3 */ func (this *Message) SendToUid(uid string, msgs []*ProtoModel.MessageProto) error /* * 批量推送消息给指定用户的某个设备 */ func (this *Message) SendToDid(uid string, did string, msgs []*ProtoModel.MessageProto) error /* * 推送消息给所有人 * @params $msg =MessageProto */ func (this *Message) SendToAll(msgs []*ProtoModel.MessageProto) error /* * 遍历消息推给接收人 * @params $msg =[MessageProto] */ func (this *Message) SendList(msgs []*ProtoModel.MessageProto) error ``` 使用:推送消息 ```markdown // 消息体 func message() *ProtoModel.MessageProto { msg := &ProtoModel.MessageProto{} msg.Id = 1 msg.Receiver = "1074" msg.Sender = "1078" msg.Content = map[string]string{"text": "你好,这是一条消息"} msg.SendTime = time.Now().Unix() return msg } // 遍历推送给读消息用户 func sendToList() { msgservice := &service.Message{} msgs := []*ProtoModel.MessageProto{this.message()} err := msgservice.SendList(msgs) if err != nil { return } } ``` 推送业务更多方法如下: ```markdown func (*ReplyBody) Send(sendAct ProtoModel.SendActProto, data []byte) error /* * 推送消息给指定用户 批量 */ func (this *ReplyBody) SendTos(uids []string, msgs []*ProtoModel.ReplyBodyProto) error /* * 推送消息给指定多个用户 * 多个uid 逗号分割 * params $uids=uid1,uid2,uid3 */ func (this *ReplyBody) SendToUid(uid string, msgs []*ProtoModel.ReplyBodyProto) error /* * 批量推送消息给指定用户的某个设备 */ func (this *ReplyBody) SendToDid(uid string, did string, msgs []*ProtoModel.ReplyBodyProto) error /* * 推送消息给所有人 * @params $msg =ReplyBodyProto */ func (this *ReplyBody) SendToAll(msgs []*ProtoModel.ReplyBodyProto) error /* * 遍历消息推给接收人 * @params $msg =[ReplyBodyProto] */ func (this *ReplyBody) SendList(msgs []*ProtoModel.ReplyBodyProto) error ``` 使用:推送业务 ```markdown // 回复体 func replybody() *ProtoModel.ReplyBodyProto { msg := &ProtoModel.ReplyBodyProto{} msg.Code = "200" msg.Key = "1234546" msg.Data = map[string]string{"text": "你好,这是一条消息"} msg.Timestamp = time.Now().Unix() return msg } // 遍历推送给读请求的用户 func sendToList() { msgservice := &service.ReplyBody{} msgs := []*ProtoModel.ReplyBodyProto{replybody()} err := msgservice.SendList(msgs) if err != nil { return } } ```