Exemple #1
0
        public async void SendCodeTest()
        {
            var code = new ChuangLanSmsCode()
            {
                Phone = "",
                Msg   = "3312047"
            };
            var response = await _client.SendCodeAsync(code);

            Assert.True(response.Code == "0", JsonConvert.SerializeObject(response));
        }
Exemple #2
0
        public async Task <ResponseData> SendCodeAsync(ChuangLanSmsCode code)
        {
            if (code == null)
            {
                throw new ArgumentNullException(nameof(code));
            }
            _chuangLanCodeAccount.CheckParameters();
            code.CheckParameters();

            var bizParams = new SortedDictionary <string, string>()
            {
                { "account", _chuangLanCodeAccount.SmsUser },
                { "password", _chuangLanCodeAccount.SmsKey },
                { "msg", code.Msg },
                { "phone", code.Phone },
            };

            if (code.SendTime.HasValue)
            {
                bizParams.Add("sendtime", code.SendTime.Value.ToString("yyyyMMddHHmm"));
            }

            if (code.Report.HasValue && code.Report.Value)
            {
                bizParams.Add("report", "true");
            }

            if (!string.IsNullOrWhiteSpace(code.Extend))
            {
                bizParams.Add("extend", code.Extend);
            }

            if (!string.IsNullOrWhiteSpace(code.Uid))
            {
                bizParams.Add("uid", code.Uid);
            }

            _proxy.ApiConfig.HttpHost = new Uri(_chuangLanCodeAccount.ApiUrl);
            return(await _proxy.SendCodeAsync(bizParams)
                   .Retry(_config.RetryTimes)
                   .Handle().WhenCatch <Exception>(e =>
            {
                _exceptionHandler?.Invoke(e);
                return ReturnAsDefautlResponse();
            }));
        }