public async Task <LuosimaoSendResult> SendCodeAsync(LuosimaoSmsCode code) { if (code == null) { throw new ArgumentNullException(nameof(code)); } if (string.IsNullOrWhiteSpace(_luosimaoAccount.Password)) { throw new ArgumentNullException(nameof(_luosimaoAccount.Password)); } if (string.IsNullOrWhiteSpace(_config.SignName)) { throw new ArgumentNullException(nameof(_config.SignName)); } code.CheckParameters(); var auth = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes($"api:key-{_luosimaoAccount.Password}")); var bizParams = new Dictionary <string, string> { { "mobile", code.PhoneNumber }, { "message", $"{code.Content}{_config.SignName}" } }; var content = new FormUrlEncodedContent(bizParams); return(await _proxy.SendAsync(auth, content) .Retry(_config.RetryTimes) .Handle().WhenCatch <Exception>(e => { _exceptionHandler?.Invoke(e); return ReturnAsDefautlResponse(); })); }
public async void SendCodeTest() { var code = new LuosimaoSmsCode { PhoneNumber = "", Content = "模板是12345" }; var response = await _client.SendCodeAsync(code); Assert.True(response.Error == 0, JsonConvert.SerializeObject(response)); }