public void SaveCalcConfigs(List <CalcConfigData> data) { lock (_locker) { _dicByCoinCode = data.ToDictionary(a => a.CoinCode, a => a, StringComparer.OrdinalIgnoreCase); OfficialServer.SaveCalcConfigsAsync(data, null); } }
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)); }
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); } }