/// <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); }
/// <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"); } }
/// <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); }
/// <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); }
/// <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); }