Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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("生成小程序二维码失败");
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        /// <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));
        }
Esempio n. 8
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);
        }
Esempio n. 9
0
        /// <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);
        }
Esempio n. 10
0
        /// <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);
        }
Esempio n. 11
0
        /// <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");
            }
        }
    }
Esempio n. 13
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);
        }
Esempio n. 14
0
        /// <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);
        }
Esempio n. 15
0
        /// <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);
        }
Esempio n. 16
0
        /// <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();
    }
Esempio n. 18
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);
        }
Esempio n. 19
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);
        }