Ejemplo n.º 1
0
        public async void SendCodeTest()
        {
            var code = new HuaweiCloudSmsCode {
                PhoneNumberList = new List <PhoneNumberEntity> {
                    new PhoneNumberEntity("86", "13800100001")
                },
                Params = new List <string> {
                    "311920"
                }
            };

            var response = await _client.SendCodeAsync(code);

            Assert.NotNull(response);
            Assert.True(response.IsSuccess(), $"{JsonConvert.SerializeObject(response)},{_messageIfError}");
            //Assert.True(string.IsNullOrWhiteSpace(response), response);
        }
Ejemplo n.º 2
0
        public async Task <HuaweiCloudSmsResult> SendCodeAsync(HuaweiCloudSmsCode code)
        {
            if (code == null)
            {
                throw new ArgumentNullException(nameof(code));
            }
            if (string.IsNullOrWhiteSpace(_huaweiCloudAccount.AppKey))
            {
                throw new ArgumentNullException(nameof(_huaweiCloudAccount.AppKey));
            }
            if (string.IsNullOrWhiteSpace(_huaweiCloudAccount.AppSecret))
            {
                throw new ArgumentNullException(nameof(_huaweiCloudAccount.AppSecret));
            }

            code.CheckParameters();

            var bizParams = new Dictionary <string, string>
            {
                { "from", _config.Sender },
                { "to", code.PhoneNumberList.ToReceiver() },
                { "templateId", _config.TemplateId },
                { "templateParas", code.Params.ToTemplateParas() },
                { "statusCallback", _config.StatusCallBackUri },
                { "signature", _config.Signature }
            };

            var content = new FormUrlEncodedContent(bizParams);
            var wsseObj = new WsseObject(_huaweiCloudAccount);

            return(await _proxy.SendCodeAsync(content, wsseObj)
                   .Retry(_config.RetryTimes)
                   .Handle().WhenCatch <Exception>(e =>
            {
                _exceptionHandler?.Invoke(e);
                return ReturnAsDefaultResponse();
            }));
        }