public async void SendCodeTest() { var code = new WeimiSmsCode { PhoneNumbers = new List <string> { "" }, TemplateId = "" }; code.TemplateParams.Add(1, "311920"); var response = await _client.SendCodeAsync(code); Assert.NotNull(response); Assert.True(response.IsSuccess(), $"{JsonConvert.SerializeObject(response)},{_messageIfError}"); }
public async Task <WeimiSmsResult> SendCodeAsync(WeimiSmsCode code) { if (code == null) { throw new ArgumentNullException(nameof(code)); } if (string.IsNullOrWhiteSpace(_weimiSmsAccount.Uid)) { throw new ArgumentNullException(nameof(_weimiSmsAccount.Uid)); } if (string.IsNullOrWhiteSpace(_weimiSmsAccount.Pas)) { throw new ArgumentNullException(nameof(_weimiSmsAccount.Pas)); } code.CheckParameters(); var bizParams = new Dictionary <string, string>(code.GetTemplateParams()) { { "uid", _weimiSmsAccount.Uid }, { "pas", _weimiSmsAccount.Pas }, { "mob", code.GetPhoneString() }, { "cid", code.TemplateId }, { "type", "json" } }; if (!string.IsNullOrWhiteSpace(code.Timing)) { bizParams.Add("timing", code.Timing); } var content = new FormUrlEncodedContent(bizParams); return(await _proxy.SendMessageAsync(content) .Retry(_config.RetryTimes) .Handle().WhenCatch <Exception>(e => { _exceptionHandler?.Invoke(e); return ReturnAsDefaultResponse(); })); }