Beispiel #1
0
        /// <summary>
        /// 发送音频消息
        /// </summary>
        /// <param name="targetType"></param>
        /// <param name="targets"></param>
        /// <param name="url"></param>
        /// <param name="filename"></param>
        /// <param name="secret"></param>
        /// <param name="length"></param>
        /// <param name="from"></param>
        /// <param name="ex"></param>
        /// <returns></returns>
        public bool SendAudioMessage(MessageTargetType targetType, List <string> targets, string url, string filename, string secret, Int32 length, string from, object ex = null)
        {
            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("Content-Type", "application/json");
            headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken());

            string messageJson = "{\"type\":\"audio\",\"url\":\"" + url + "\",\"filename\":\"" + filename + "\",\"secret\":\"" + secret + "\"\"length\":" + length.ToString() + "}";
            string json        = HttpEx.SyncPost(UrlBase + "messages", WarpMessageWarp(targetType, targets, from, messageJson, ex), Encoding.UTF8, headers);

            if (string.IsNullOrEmpty(json))
            {
                return(false);
            }

            return(true);
        }
Beispiel #2
0
        /// <summary>
        /// 得到发送目标字符串表示
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        private string GetTargetType(MessageTargetType t)
        {
            switch (t)
            {
            case MessageTargetType.chatgroups:
                return("chatgroups");

            case MessageTargetType.chatrooms:
                return("chatrooms");

            case MessageTargetType.users:
                return("users");

            default:
                return("users");
            }
        }
Beispiel #3
0
        /// <summary>
        /// 发送文件消息
        /// </summary>
        /// <param name="targetType"></param>
        /// <param name="targets"></param>
        /// <param name="message"></param>
        /// <param name="from"></param>
        /// <param name="ex"></param>
        /// <returns></returns>
        public bool SendTextMessage(MessageTargetType targetType, List <string> targets, string message, string from, object ex = null)
        {
            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("Content-Type", "application/json");
            headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken());

            string messageJson = "{\"type\":\"txt\",\"msg\":\"" + message + "\"}";

            string json = HttpEx.SyncPost(UrlBase + "messages", WarpMessageWarp(targetType, targets, from, messageJson, ex), Encoding.UTF8, headers);

            if (string.IsNullOrEmpty(json))
            {
                return(false);
            }

            return(true);
        }
Beispiel #4
0
        /// <summary>
        /// 包裹消息
        /// </summary>
        /// <param name="targetType">目标类型</param>
        /// <param name="targets">接收用户列表</param>
        /// <param name="from">发送者,可为空</param>
        /// <param name="messageJson">消息</param>
        /// <param name="ex">附加消息,可为空</param>
        /// <returns></returns>
        private string WarpMessageWarp(MessageTargetType targetType, List <string> targets, string from, string messageJson, object ex = null)
        {
            string requestBody = "{";

            requestBody += "\"target_type\" : \"" + GetTargetType(targetType) + "\",";
            requestBody += "\"target\" : " + ConcatStringToJsonArray(targets) + ",";
            requestBody += "\"msg\":" + messageJson;
            if (!string.IsNullOrEmpty(from))
            {
                requestBody += ",\"from\":\"" + from + "\"";
            }
            if (ex != null)
            {
                requestBody += ",\"ext\":" + Json.JsonBuilder.ToJsonString(ex);
            }
            requestBody += "}";

            return(requestBody);
        }
Beispiel #5
0
        /// <summary>
        /// 发送透视频消息
        /// </summary>
        /// <param name="targetType"></param>
        /// <param name="targets"></param>
        /// <param name="action"></param>
        /// <param name="from"></param>
        /// <param name="ex"></param>
        /// <returns></returns>
        public bool SendCommandMessage(MessageTargetType targetType, List <string> targets, string action, string from, object ex = null)
        {
            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("Content-Type", "application/json");
            headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken());

            string messageJson = "{\"type\":\"cmd\",\"action\":\"" + action + "\"}";
            string requestData = WarpMessageWarp(targetType, targets, from, messageJson, ex);

            ZTImage.Log.Trace.Debug("easemob message:" + requestData);
            string json = HttpEx.SyncPost(UrlBase + "messages", requestData, Encoding.UTF8, headers);

            if (string.IsNullOrEmpty(json))
            {
                return(false);
            }

            return(true);
        }