Example #1
0
        /// <summary>
        /// 获取最新版本号
        /// </summary>
        /// <returns></returns>
        public static PCVersion GetLatestVersionNum()
        {
            var    config  = System.Configuration.ConfigurationManager.OpenExeConfiguration("IMUI.exe");
            string version = config.AppSettings.Settings["version"].Value ?? "1";

            var subgradeversion = "76";

            //string version = "0";
            if (config.AppSettings.Settings["updateversion"] != null)
            {
                subgradeversion = config.AppSettings.Settings["updateversion"].Value;
            }
            else
            {
                config.AppSettings.Settings.Add("updateversion", subgradeversion);
                config.Save();
            }
            SDKClient.logger.Info($"GetLatestVersionNum_升级包版本号:" + subgradeversion);
            PCVersion resp = new Util.Webs.Clients.WebClient().Get($"{ProtocolBase.LatestVersionNum}{version}&subgradeVersionNum={subgradeversion}")
                             .Header("token", SDKClient.Instance.property.CurrentAccount.token)
                             .Header("signature", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks + ProtocolBase.ImLinkSignUri))
                             .Header("version", SDKClient.Instance.property.CurrentAccount.httpVersion ?? "1.0")
                             .Header("timeStamp", SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks)
                             .OnFail((s, c) => SDKClient.logger.Error($"GetLatestVersionNum 调用失败: {s},错误码:{c.Value()}"))
                             .ContentType(Util.Webs.Clients.HttpContentType.Json)
                             .ResultFromJson <PCVersion>();

            SDKClient.logger.Info($"GetPCVersion: {Util.Helpers.Json.ToJson(resp)}");
            return(resp);
        }
Example #2
0
 /// <summary>
 /// 错误日志上报服务器
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public static WebResponse SendErrorToCloud(ErrorPackage request)
 {
     try
     {
         var response = new Util.Webs.Clients.WebClient().Post(ProtocolBase.AddMsgFaceBack)
                        .Header("token", SDKClient.Instance.property.CurrentAccount.token)
                        .Header("signature", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks + ProtocolBase.ImLinkSignUri))
                        .Header("version", SDKClient.Instance.property.CurrentAccount.httpVersion ?? "1.0")
                        .Header("timeStamp", SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks)
                        .Data(nameof(request.msgType), request.msgType)
                        .Data(nameof(request.receiverId), request.receiverId)
                        .Data(nameof(request.targetId), request.targetId)
                        .Data(nameof(request.senderId), request.senderId)
                        .Data(nameof(request.msgId), request.msgId)
                        .Data(nameof(request.imei), request.imei)
                        .Data(nameof(request.sourceOS), request.sourceOS)
                        .Data(nameof(request.content), request.content)
                        .ContentType(Util.Webs.Clients.HttpContentType.Json)
                        .OnFail((s, c) => SDKClient.logger.Error($"AddMsgFaceBack 调用失败: {s},错误码:{c.Value()}"))
                        .ResultFromJson <WebResponse>();
         SDKClient.logger.Info($"SendErrorToCloud: {Util.Helpers.Json.ToJson(response)}");
         return(response);
     }
     catch (Exception ex)
     {
         SDKClient.logger.Error($"SendErrorToCloud: {ex.Message}");
         return(null);
     }
 }
Example #3
0
        /// <summary>
        /// 获取离线消息
        /// </summary>
        /// <param name="package"></param>
        /// <returns></returns>
        public static Model.GetOfflineMessageListPackage GetOfflineMessageList(Model.GetOfflineMessageListPackage package)
        {
            var resp = new Util.Webs.Clients.WebClient().Post(IMServiceURL.GetOfflineMessageList)
                       .Header("token", SDKClient.Instance.property.CurrentAccount.token)
                       .Header("signature", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks + ProtocolBase.ImLinkSignUri))
                       .Header("version", SDKClient.Instance.property.CurrentAccount.httpVersion ?? "1.0")
                       .Header("timeStamp", SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks)
                       .JsonData <Model.GetOfflineMessageListPackage>(package)
                       .OnFail((s, c) => SDKClient.logger.Error($"GetOfflineMessageList 调用失败: {s},错误码:{(int)c}"))
                       .ContentType(Util.Webs.Clients.HttpContentType.Json)
                       .ResultFromJson <Model.GetOfflineMessageListPackage>();

            return(resp);
        }
Example #4
0
        /// <summary>
        /// 搜索联系人
        /// </summary>
        /// <param name="keyWord"></param>
        /// <param name="searchType"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public static SearchResult GetSearchResult(string keyWord, string searchType = "1,2", int pageIndex = 1, int pageSize = 30)
        {
            SearchResult result = new Util.Webs.Clients.WebClient().Post(ProtocolBase.SearchQuery)
                                  .Header("token", SDKClient.Instance.property.CurrentAccount.token)
                                  .Header("signature", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks + ProtocolBase.ImLinkSignUri))
                                  .Header("version", SDKClient.Instance.property.CurrentAccount.httpVersion ?? "1.2.0")
                                  .Header("timeStamp", SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks)
                                  .Data("keyWord", keyWord)
                                  .Data("searchType", searchType)
                                  .Data("pageIndex", pageIndex)
                                  .Data("pageSize", pageSize)
                                  .ContentType(Util.Webs.Clients.HttpContentType.Json)
                                  .ResultFromJson <SearchResult>();

            return(result);
        }
Example #5
0
        /// <summary>
        /// 获取敏感词列表
        /// </summary>
        /// <param name="lastUpdateTime"></param>
        /// <returns></returns>
        public static GetSensitiveWordsResponse GetBadWordUpdate(string lastUpdateTime)
        {
            string uri  = ProtocolBase.BadWordUpdateTimeUri + string.Format("?time={0}", lastUpdateTime);
            var    resp = new Util.Webs.Clients.WebClient().Get(uri)
                          .OnFail((s, c) => SDKClient.logger.Error($"获取最新更新时间调用失败: {s},错误码:{(int)c}"))
                          .ContentType(Util.Webs.Clients.HttpContentType.Json)
                          .ResultFromJson <GetSensitiveWordsResponse>();

            if (resp != null && resp.code == 0)
            {
                return(resp);
            }
            else
            {
                return(null);
            }
        }
Example #6
0
        /// <summary>
        /// 账号、密码验证登录
        /// </summary>
        /// <returns></returns>
        public static AuthResponse GetAuthByUserPassword()
        {
            var    config  = System.Configuration.ConfigurationManager.OpenExeConfiguration("IMUI.exe");
            string version = config.AppSettings.Settings["version"].Value ?? "1";
            var    resp    = new Util.Webs.Clients.WebClient().Post(ProtocolBase.AuthUri)
                             .Data("userMobile", SDKClient.Instance.property.CurrentAccount.loginId)
                             .Data("deviceModel", "PC")
                             .Data("imVersion", version)
                             .Data("imei", System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(N => N.NetworkInterfaceType != System.Net.NetworkInformation.NetworkInterfaceType.Loopback)?.GetPhysicalAddress().ToString())
                             .Data("userPwd", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.userPass, Encoding.UTF8).ToLower())
                             .OnFail((s, c) => SDKClient.logger.Error($"GetAuthByUserPassword 调用失败: {s},错误码:{c.Value()};请求参数:userPwd:{Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.userPass, Encoding.UTF8).ToLower()},imei:{System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(N => N.NetworkInterfaceType != System.Net.NetworkInformation.NetworkInterfaceType.Loopback)?.GetPhysicalAddress().ToString()}"))
                             .ContentType(Util.Webs.Clients.HttpContentType.Json)

                             .ResultFromJson <AuthResponse>();

            SDKClient.logger.Info($"GetAuthByUserPassword: {Util.Helpers.Json.ToJson(resp)}");
            return(resp);
        }
Example #7
0
        /// <summary>
        /// 获取二维码
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="userOrgroup"></param>
        /// <returns></returns>
        public static QrCodeResponse GetQrCode(string Id, string userOrgroup)
        {
            QrCodeRequest request = new QrCodeRequest()
            {
                keyId = Id, qrType = userOrgroup
            };
            var response = new Util.Webs.Clients.WebClient().Post(ProtocolBase.QrCodeInfoUri)
                           .Header("token", SDKClient.Instance.property.CurrentAccount.token)
                           .Header("signature", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks + ProtocolBase.ImLinkSignUri))
                           .Header("version", SDKClient.Instance.property.CurrentAccount.httpVersion ?? "1.0")
                           .Header("timeStamp", SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks)
                           .Data(nameof(request.keyId), request.keyId)
                           .Data(nameof(request.qrType), request.qrType)
                           .ContentType(Util.Webs.Clients.HttpContentType.Json)
                           .ResultFromJson <QrCodeResponse>();

            return(response);
        }
Example #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="friendApplyId">申请ID</param>
        /// <returns> 4、已过期 0、可操作</returns>
        public static int GetFriendApplyStatus(int friendApplyId)
        {
            var resp = new Util.Webs.Clients.WebClient().Post(IMServiceURL.GetFriendApplyStatus)
                       .Header("token", SDKClient.Instance.property.CurrentAccount.token)
                       .Header("signature", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks + ProtocolBase.ImLinkSignUri))
                       .Header("version", SDKClient.Instance.property.CurrentAccount.httpVersion ?? "1.0")
                       .Header("timeStamp", SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks)
                       //.Data("appName","kefang")
                       // .Data("appId", SDKClient.Instance.property.CurrentAccount.userID)
                       //.Data("appKey", SDKClient.Instance.property.CurrentAccount.userID)
                       .Data("friendApplyId", friendApplyId)
                       .OnFail((s, c) => SDKClient.logger.Error($"GetFriendApplyStatus 调用失败: {s},错误码:{(int)c}"))
                       .ContentType(Util.Webs.Clients.HttpContentType.Json)
                       .ResultFromJson <dynamic>();
            var auditStatus = 0;

            if (resp != null && resp.code == 0)
            {
                auditStatus = resp.auditStatus;
            }

            return(auditStatus);
        }