public async void SendSmsTest() { var message = new RongCloudSmsMessage { Mobile = "", TemplateId = "123", }; message.Vars.Add(1, "311851"); var response = await _client.SendCodeAsync(message); Assert.True(response.Code == 200, JsonConvert.SerializeObject(response)); }
public async Task <RongCloudSmsResult> SendCodeAsync(RongCloudSmsMessage message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } if (string.IsNullOrWhiteSpace(_rongAccount.AppKey)) { throw new ArgumentNullException(nameof(_rongAccount.AppKey)); } if (string.IsNullOrWhiteSpace(_rongAccount.AppSecret)) { throw new ArgumentNullException(nameof(_rongAccount.AppSecret)); } message.CheckParameters(); var bizParams = new Dictionary <string, string> { { "mobile", message.Mobile }, { "templateId", message.TemplateId }, { "region", message.Region } }; foreach (var kvp in message.Vars) { bizParams.Add($"p{kvp.Key}", kvp.Value); } var signatureTuple = SignatureHelper.GenerateSignature(_rongAccount.AppSecret); var signatureBag = new RongCloudSignatureBag { AppKey = _rongAccount.AppKey, Nonce = signatureTuple.nonce, Signature = signatureTuple.signature, Timestamp = signatureTuple.timestamp }; var content = new FormUrlEncodedContent(bizParams); return(await _proxy.SendSmsAsync(signatureBag, content) .Retry(_config.RetryTimes) .Handle().WhenCatch <Exception>(e => { _exceptionHandler?.Invoke(e); return ReturnAsDefaultResponse(); })); }