/// <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); }
public virtual async Task <string> Getwxacodeunlimit(string scene, string page = "pages/index/index") { var key = "SoMall:QR:Mini"; var cache = await _redisClient.HashGetAsync(key, scene); if (cache.HasValue) { return(cache.ToString()); } var appId = await _setting.GetOrNullAsync(WeixinManagementSetting.MiniAppId); var appSec = await _setting.GetOrNullAsync(WeixinManagementSetting.MiniAppSecret); var token = await GetAccessTokenAsync(appId, appSec); var url = $"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={token}"; var img = HttpEx.PostGotImageByte(url, new { scene, page }); var upyun = await GetUploader(); var result = upyun.writeFile($"/somall/mini_qr/{scene}.jpg", img, true); if (result) { var path = $"{upyun.Domain}/somall/mini_qr/{scene}.jpg"; await _redisClient.HashSetAsync(key, scene, path); return(path); } throw new UserFriendlyException("生成小程序二维码失败"); }
/// <summary> /// 添加用户到黑名单 /// </summary> /// <param name="ownerUserName"></param> /// <param name="users"></param> /// <returns></returns> public bool AddToBlacklist(string ownerUserName, List <string> users) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string requestBody = "{\"usernames\":["; foreach (var item in users) { requestBody += "\"" + item + "\""; } requestBody += "]}"; string json = HttpEx.SyncPost(UrlBase + "users/" + ownerUserName + "/blocks/users", headers); if (string.IsNullOrEmpty(json)) { return(false); } return(true); }
/// <summary> /// 批量注册用户 /// </summary> /// <param name="users">username-password list</param> /// <returns></returns> public bool RegisterUsers(List <Tuple <string, string> > users) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string requestBody = "["; foreach (var item in users) { if (requestBody.Length > 1) { requestBody += ","; } requestBody += "{\"username\":\"" + item.Item1 + "\",\"password\":\"" + item.Item2 + "\"}"; } requestBody += "]"; string json = HttpEx.SyncPost(UrlBase + "users", requestBody, Encoding.UTF8, headers); if (string.IsNullOrEmpty(json)) { return(false); } return(true); }
/// <summary> /// 删除指定数量的用户 /// </summary> /// <param name="userName"></param> /// <returns></returns> public string DeleteUsers(int count) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string json = HttpEx.SyncDelete(UrlBase + "users?limit=" + count.ToString()); return(json); }
/// <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="userName"></param> /// <returns></returns> public bool DeleteUser(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.SyncDelete(UrlBase + "users/" + userName, headers); if (string.IsNullOrEmpty(json)) { return(false); } return(true); }
/// <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> /// <param name="password"></param> /// <returns></returns> public bool RegisterUser(string userName, string password) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string requestBody = "{\"username\":\"" + userName + "\",\"password\":\"" + password + "\"}"; string json = HttpEx.SyncPost(UrlBase + "users", requestBody, Encoding.UTF8, headers); if (string.IsNullOrEmpty(json)) { return(false); } return(true); }
public void refreshData() { servers = null; getUpgradePkgListData(); if (selectedServer == null) { return; } // string __httpBaseUrl = PStr.b ().a ("http://").a (Net.self.gateHost).a (":").a (Net.self.gatePort).e (); // string url = PStr.b ().a (__httpBaseUrl).a ("/KokDirServer/ServerServlet").e (); string url = selectedServer.getServerListUrl; if (string.IsNullOrEmpty(url)) { return; } Dictionary <string, object> paras = new Dictionary <string, object> (); paras ["serverType"] = 1; HttpWebResponse response = HttpEx.CreatePostHttpResponse(url, paras, 10000, System.Text.Encoding.UTF8); if (response == null) { return; } string str = HttpEx.readString(response); response.Close(); // Debug.Log (url); // string str = HttpEx.readString (url, null); Debug.Log(str); servers = JSON.DecodeMap(str); Hashtable server = null; Hashtable pkg = null; if (servers != null) { foreach (DictionaryEntry cell in servers) { server = cell.Value as Hashtable; pkg = getUpgradePkgByMd5(MapEx.getString(server, "version")); server ["pkgName"] = MapEx.getString(pkg, "name"); server ["pkgRemark"] = MapEx.getString(pkg, "remark"); } } }
/// <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="userName"></param> /// <param name="nick"></param> /// <returns></returns> public bool SetUserNick(string userName, string nick) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string requestBody = "{\"nickname\":\"" + nick + "\"}"; string json = HttpEx.SyncPut(UrlBase + "users/" + userName, requestBody, Encoding.UTF8, headers); if (string.IsNullOrEmpty(json)) { return(false); } return(true); }
/// <summary> /// 为用户添加好友 /// </summary> /// <param name="ownerUserName"></param> /// <param name="friendUserName"></param> /// <returns></returns> public bool AddContacts(string ownerUserName, string friendUserName) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string json = HttpEx.SyncPost(UrlBase + "users/" + ownerUserName + "/contacts/users/" + friendUserName, headers); if (string.IsNullOrEmpty(json)) { return(false); } return(true); }
/// <summary> /// 从黑名单里删人 /// </summary> /// <param name="ownerUserName"></param> /// <param name="blackedUserName"></param> /// <returns></returns> public bool RemoveFromBlacklist(string ownerUserName, string blackedUserName) { Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); headers.Add("Authorization", "Bearer " + this.mTokenProvider.GetToken()); string json = HttpEx.SyncDelete(UrlBase + "users/" + ownerUserName + "/blocks/users/" + blackedUserName, headers); if (string.IsNullOrEmpty(json)) { return(false); } return(true); }
public void saveData(string serverID, string version, string verType) { // string __httpBaseUrl = PStr.b ().a ("http://").a (Net.self.gateHost).a (":").a (Net.self.gatePort).e (); // string url = PStr.b ().a (__httpBaseUrl).a ("/KokDirServer/UpdateVerServlet").e (); string url = selectedServer.setServerPkgMd5Url; Dictionary <string, object> paras = new Dictionary <string, object> (); paras ["serverid"] = serverID; paras ["version"] = version; paras ["versionType"] = verType; HttpWebResponse response = HttpEx.CreatePostHttpResponse(url, paras, 10000, System.Text.Encoding.UTF8); if (response == null) { return; } response.Close(); }
/// <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="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); }