/// <summary> /// 查询用户是否在线 /// </summary> /// <param name="userName"></param> /// <returns></returns> public bool IsOnline(string userName) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string json = HttpEx.SyncGet(UrlBase + "users/" + userName + "/status", headers); if (string.IsNullOrEmpty(json)) { return(false); } Dictionary <string, object> entities = null; try { entities = ZTImage.Json.JsonParser.ToDictionary(json); } catch (Exception ex) { return(false); } if (!entities.ContainsKey("data")) { return(false); } if (entities["data"] == null) { return(false); } Dictionary <string, object> names = entities["data"] as Dictionary <string, object>; if (names == null) { return(false); } if (!names.ContainsKey(userName)) { return(false); } if (names[userName] == null) { return(false); } string val = names[userName].ToString(); if (val.Equals("online", StringComparison.OrdinalIgnoreCase)) { return(true); } return(false); }
/// <summary> /// 得到用户 /// </summary> /// <param name="userName"></param> /// <returns></returns> public string GetUser(string userName) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string json = HttpEx.SyncGet(UrlBase + "users/" + userName, headers); return(json); }
/// <summary> /// 得到离线消息数目 /// </summary> /// <param name="userName"></param> /// <returns></returns> public Int32 GetOfflineMessageCount(string userName) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string json = HttpEx.SyncGet(UrlBase + "users/" + userName + "/offline_msg_count", headers); if (string.IsNullOrEmpty(json)) { return(0); } Dictionary <string, object> entities = null; try { entities = ZTImage.Json.JsonParser.ToDictionary(json); } catch (Exception ex) { return(0); } if (!entities.ContainsKey("data")) { return(0); } if (entities["data"] == null) { return(0); } Dictionary <string, object> names = entities["data"] as Dictionary <string, object>; if (names == null) { return(0); } if (!names.ContainsKey(userName)) { return(0); } if (names[userName] == null) { return(0); } return(ZTImage.TypeConverter.ObjectToInt(names[userName], 0)); }
/// <summary> /// 得到黑名单 /// </summary> /// <param name="ownerUserName"></param> /// <returns></returns> public List <string> GetBlacklist(string ownerUserName) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string json = HttpEx.SyncGet(UrlBase + "users/" + ownerUserName + "/blocks/users", headers); if (string.IsNullOrEmpty(json)) { return(new List <string>()); } Dictionary <string, object> entities = null; try { entities = ZTImage.Json.JsonParser.ToDictionary(json); } catch (Exception ex) { return(new List <string>()); } if (!entities.ContainsKey("data")) { return(new List <string>()); } if (entities["data"] == null) { return(new List <string>()); } object[] names = entities["data"] as object[]; if (names == null) { return(new List <string>()); } List <string> _names = new List <string>(); foreach (var item in names) { _names.Add(item.ToString()); } return(_names); }
/// <summary> /// 批量得到用户 /// </summary> /// <param name="limit"></param> /// <param name="cursor"></param> /// <returns></returns> public string GetUsers(Int32 limit, string cursor) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string requestPar = "?limit=" + limit.ToString(); if (!string.IsNullOrEmpty(cursor)) { requestPar += "&cursor=" + cursor; } string json = HttpEx.SyncGet(UrlBase + "users" + requestPar, headers); return(json); }
/// <summary> /// 强制用户下线 /// </summary> /// <param name="userName"></param> /// <returns></returns> public bool ForceOffline(string userName) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string json = HttpEx.SyncGet(UrlBase + "users/" + userName + "/disconnect", headers); if (string.IsNullOrEmpty(json)) { return(false); } return(true); }