Example #1
0
        /// <summary>
        /// 发送单条消息
        /// </summary>
        /// <param name="messageContent">消息封包</param>
        /// <param name="messageReceiver">接收者</param>
        /// <param name="personMessageReceiverIdType">接收者id类型,参考PersonMessageReceiverIdType</param>
        public virtual SendMessageResult SendSingleMessage(MessageContent messageContent, PersonMessageReceiver messageReceiver, PersonMessageReceiverIdType personMessageReceiverIdType)
        {
            Guard.GuardReqiredObject(messageContent, "message content must be set value.");
            GuardMessageReceiver(messageReceiver);

            IList <PersonMessageReceiver> messageReceivers = new List <PersonMessageReceiver>();

            messageReceivers.Add(messageReceiver);
            MultiMessageReceiver multiMessageReceiver = new MultiMessageReceiver(messageReceivers, personMessageReceiverIdType);

            return(SendMultiMessage(messageContent, multiMessageReceiver));
        }
Example #2
0
        public void TestSendMultiTextMessage()
        {
            List <PersonMessageReceiver> personMessageReceivers = new List <PersonMessageReceiver>
            {
                new PersonMessageReceiver("zhongt", "钟涛"),
                new PersonMessageReceiver("wuyang", "武扬")
            };
            MultiMessageReceiver multiMessageReceiver = new MultiMessageReceiver(personMessageReceivers, PersonMessageReceiverIdType.LoginId);
            SendMessageResult    result = _messageClient.SendMultiMessage(new TextMessageContent("简单文本消息"), multiMessageReceiver);

            Assert.AreEqual(true, result.Success);
        }
Example #3
0
        /// <summary>
        /// 发送多条消息</summary>
        /// <param name="messageContent">消息封包</param>
        /// <param name="messageReceivers">消息接收者</param>
        public virtual SendMessageResult SendMultiMessage(MessageContent messageContent, MultiMessageReceiver messageReceivers)
        {
            Message message = new Message {
                Type = messageContent.Type, Content = messageContent
            };

            // 获取token,检查token的有效性
            AccessToken token = GetAccessToken();

            if (!token.Success)
            {
                return(new SendMessageResult(false, token.Error));
            }

            NameValueCollection parameters = new NameValueCollection();

            parameters.Add("access_token", token.Token);
            parameters.Add("message", SerializeMessage(message));

            if (messageReceivers.IdType == PersonMessageReceiverIdType.LoginId)
            {
                parameters.Add("loginIds", messageReceivers.ToId);
            }
            else if (messageReceivers.IdType == PersonMessageReceiverIdType.UserId)
            {
                parameters.Add("userIds", messageReceivers.ToId);
            }

            parameters.Add("userNames", messageReceivers.ToName);
            parameters.Add("id_type", ((int)messageReceivers.IdType).ToString());
            parameters.Add("msgIds", MakeMessageIds(messageReceivers.Length));

            HttpRequestResult requestResult = DoPost(_messageSendServiceUrl, parameters);

            if (!requestResult.Success)
            {
                return(new SendMessageResult(false, requestResult.Result));
            }

            return(JsonConvert.DeserializeObject <SendMessageResult>(requestResult.Result));
        }