public void SaveCalcConfigs(List <CalcConfigData> data)
 {
     lock (_locker) {
         _dicByCoinCode = data.ToDictionary(a => a.CoinCode, a => a, StringComparer.OrdinalIgnoreCase);
         OfficialServer.SaveCalcConfigsAsync(data, null);
     }
 }
Exemple #2
0
        public void AliOSSUrlTest()
        {
            Uri uri = new Uri($"{OfficialServer.NTMinerBucket}packages/HSPMinerAE2.1.2.zip?Expires=1554472712&OSSAccessKeyId=LTAIHNApO2ImeMxI&Signature=FVTf+nX4grLKcPRxpJd9nf3Py7I=");

            Console.WriteLine(uri.ToString());
            Console.WriteLine(OfficialServer.SignatureSafeUrl(uri));
        }
Exemple #3
0
        private void Init()
        {
            DateTime now = DateTime.Now;

            if (_initedOn.AddMinutes(10) < now)
            {
                lock (_locker) {
                    if (_initedOn.AddMinutes(10) < now)
                    {
                        var list = _root.CoinSet.OrderBy(a => a.SortNumber).Select(a => new CalcConfigData {
                            CoinCode     = a.Code,
                            CreatedOn    = DateTime.Now,
                            IncomePerDay = 0,
                            ModifiedOn   = DateTime.Now,
                            Speed        = 0,
                            SpeedUnit    = "H/s"
                        }).ToList();
                        var response = OfficialServer.GetCalcConfigs();
                        if (response != null)
                        {
                            foreach (var item in list)
                            {
                                var exist = response.Data.FirstOrDefault(a => string.Equals(a.CoinCode, item.CoinCode, StringComparison.OrdinalIgnoreCase));
                                if (exist != null)
                                {
                                    item.Update(exist);
                                }
                            }
                        }
                        _dicByCoinCode = list.ToDictionary(a => a.CoinCode, a => a, StringComparer.OrdinalIgnoreCase);
                        _initedOn      = now;
                    }
                }
            }
        }
 public string LiteDbExplorerUrl()
 {
     try {
         var req = new GeneratePresignedUriRequest("ntminer", "LiteDBExplorerPortable.zip", SignHttpMethod.Get);
         var uri = HostRoot.Instance.OssClient.GeneratePresignedUri(req);
         return(OfficialServer.SignatureSafeUrl(uri));
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(string.Empty);
     }
 }
        public string NTMinerUrl([FromBody] NTMinerUrlRequest request)
        {
            if (request == null || string.IsNullOrEmpty(request.FileName))
            {
                return(string.Empty);
            }
            var req = new GeneratePresignedUriRequest("ntminer", request.FileName, SignHttpMethod.Get)
            {
                Expiration = DateTime.Now.AddMinutes(10)
            };
            var uri = HostRoot.Instance.OssClient.GeneratePresignedUri(req);

            return(OfficialServer.SignatureSafeUrl(uri));
        }
        private void Init()
        {
            DateTime now = DateTime.Now;

            // 如果未显示主界面则收益计算器也不用更新了
            if ((_initedOn == DateTime.MinValue || NTMinerRoot.IsUiVisible) && _initedOn.AddMinutes(10) < now)
            {
                _initedOn = now;
                OfficialServer.GetCalcConfigsAsync(data => {
                    Init(data);
                    VirtualRoot.Happened(new CalcConfigSetInitedEvent());
                });
            }
        }
 public string MinerJsonPutUrl([FromBody] MinerJsonPutUrlRequest request)
 {
     if (request == null || string.IsNullOrEmpty(request.FileName))
     {
         return(string.Empty);
     }
     try {
         var req = new GeneratePresignedUriRequest("minerjson", request.FileName, SignHttpMethod.Put);
         var uri = HostRoot.Instance.OssClient.GeneratePresignedUri(req);
         return(OfficialServer.SignatureSafeUrl(uri));
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(string.Empty);
     }
 }
 public string PackageUrl([FromBody] PackageUrlRequest request)
 {
     try {
         if (request == null || string.IsNullOrEmpty(request.Package))
         {
             return(string.Empty);
         }
         var req = new GeneratePresignedUriRequest("ntminer", $"packages/{request.Package}", SignHttpMethod.Get)
         {
             Expiration = DateTime.Now.AddMinutes(10)
         };
         var uri = HostRoot.Instance.OssClient.GeneratePresignedUri(req);
         return(OfficialServer.SignatureSafeUrl(uri));
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(string.Empty);
     }
 }
 public string NTMinerUpdaterUrl()
 {
     try {
         string ntminerUpdaterFileName;
         if (!HostRoot.Instance.AppSettingSet.TryGetAppSetting(VirtualRoot.NTMinerUpdaterFileNameAppSettingKey, out IAppSetting ntminerUpdaterFileNameSetting))
         {
             ntminerUpdaterFileName = "NTMinerUpdater.exe";
         }
         else
         {
             ntminerUpdaterFileName = (string)ntminerUpdaterFileNameSetting.Value;
         }
         var req = new GeneratePresignedUriRequest("ntminer", ntminerUpdaterFileName, SignHttpMethod.Get);
         var uri = HostRoot.Instance.OssClient.GeneratePresignedUri(req);
         return(OfficialServer.SignatureSafeUrl(uri));
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(string.Empty);
     }
 }