public virtual async Task <ActionResult> GetJsSdkConfigParameters([FromQuery] string jsUrl) { if (string.IsNullOrEmpty(jsUrl)) { throw new UserFriendlyException("需要计算的 JS URL 参数不能够为空。"); } var nonceStr = RandomStringHelper.GetRandomString(); var timeStamp = DateTimeHelper.GetNowTimeStamp(); var ticket = await _jsTicketAccessor.GetTicketAsync(); var @params = new WeChatParameters(); @params.AddParameter("noncestr", nonceStr); @params.AddParameter("jsapi_ticket", await _jsTicketAccessor.GetTicketAsync()); @params.AddParameter("url", HttpUtility.UrlDecode(jsUrl)); @params.AddParameter("timestamp", timeStamp); var signStr = _signatureGenerator.Generate(@params, SHA1.Create()).ToLower(); return(new JsonResult(new { appid = _optionsResolver.Resolve().AppId, noncestr = nonceStr, timestamp = timeStamp, signature = signStr, jsapi_ticket = ticket })); }
public string DataParseFuntion(List <PrintItemModel> templetModels, List <int> indexs) { try { if (indexs == null || indexs.Count < 1) { throw new Exception(string.Format("请正确设置数据条目中使用FunctionName=\"{0}\"的ProviderIndexs值.", this.GetType().Name)); } string reValue = string.Empty; int index = indexs[0]; PrintItemModel temp = templetModels.FirstOrDefault(p => { return(p.Index == index); }); if (temp == null) { throw new Exception(string.Format("未查询到Index={0}的打印条目", index)); } return(reValue = RandomStringHelper.GetRandomString(temp.FunctionData.RandomType, temp.FunctionData.RandomLength)); } catch (Exception ex) { throw new Exception(string.Format("执行{0}异常:{1}", this.GetType().Name, ex.Message)); } }
public virtual async Task <ActionResult> GetJsSdkWeChatPayParameters([FromQuery] string appId, string prepayId) { if (string.IsNullOrEmpty(prepayId)) { throw new UserFriendlyException("请传入有效的预支付订单 Id。"); } var nonceStr = RandomStringHelper.GetRandomString(); var timeStamp = DateTimeHelper.GetNowTimeStamp(); var package = $"prepay_id={prepayId}"; var signType = "MD5"; var option = await _optionsResolver.ResolveAsync(); var @params = new WeChatParameters(); @params.AddParameter("appId", appId); @params.AddParameter("nonceStr", nonceStr); @params.AddParameter("timeStamp", timeStamp); @params.AddParameter("package", package); @params.AddParameter("signType", signType); var paySignStr = _signatureGenerator.Generate(@params, MD5.Create(), option.ApiKey); return(new JsonResult(new { nonceStr, timeStamp, package, signType, paySign = paySignStr })); }
public void FillInEmailEntry() { _topEmailSignUp.Click(); _topEmailSignUp.Clear(); var email = $"{RandomStringHelper.GetRandomString(6)}.{RandomStringHelper.GetRandomString(8)}@random.com"; _topEmailSignUp.SendKeys(email); Thread.Sleep(1000); }