public async void SendVariableTest() { var message = new ChuangLanSmsVariableMessage() { Content = "亲爱的会员,您在{$var}月{$var}日{$var}的服务项目已经预约成功,请关注【{$var}】公众号,查看预约详情。", Params = new List <string>() { "手机号码,03,04,测试店,公众号名" } }; var response = await _client.SendVariableAsync(message); Assert.NotNull(response); Assert.True(response.Code == "0", JsonConvert.SerializeObject(response)); }
public async Task <VariableResponseData> SendVariableAsync(ChuangLanSmsVariableMessage message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } if (_config.UseMarketingSms) { _chuangLanMarketingAccount.CheckParameters(); } else { _chuangLanCodeAccount.CheckParameters(); } message.CheckParameters(); var bizParams = new SortedDictionary <string, string>() { { "account", _config.UseMarketingSms ? _chuangLanMarketingAccount.SmsUser : _chuangLanCodeAccount.SmsUser }, { "password", _config.UseMarketingSms ? _chuangLanMarketingAccount.SmsKey : _chuangLanCodeAccount.SmsKey }, { "msg", message.Content }, { "params", message.GetParamsString() }, }; if (message.SendTime.HasValue) { bizParams.Add("sendtime", message.SendTime.Value.ToString("yyyyMMddHHmm")); } if (message.Report.HasValue && message.Report.Value) { bizParams.Add("report", "true"); } if (!string.IsNullOrWhiteSpace(message.Extend)) { bizParams.Add("extend", message.Extend); } if (!string.IsNullOrWhiteSpace(message.Uid)) { bizParams.Add("uid", message.Uid); } _proxy.ApiConfig.HttpHost = new Uri(_config.UseMarketingSms ? _chuangLanMarketingAccount.ApiUrl : _chuangLanCodeAccount.ApiUrl); return(await _proxy.SendVariableMessageAsync(bizParams) .Retry(_config.RetryTimes) .Handle().WhenCatch <Exception>(e => { _exceptionHandler?.Invoke(e); return ReturnAsVariableDefautlResponse(); })); }