示例#1
0
        public async Task <ChinaMobileHttpRsp> SendNormalSms(ChinaMobileHttpNormalSms input)
        {
            var dic = new Dictionary <string, string>
            {
                { "ecName", input.EcName },
                { "apId", input.ApId },
                { "secretKey", input.SecretKey },
                { "mobiles", string.Join(",", input.Mobiles) },
                { "content", input.Content },
                { "sign", input.Sign },
                { "addSerial", input.AddSerial }
            };

            var sb = new StringBuilder();

            sb.Append(dic["ecName"]);
            sb.Append(dic["apId"]);
            sb.Append(dic["secretKey"]);
            sb.Append(dic["mobiles"]);
            sb.Append(dic["content"]);
            sb.Append(dic["sign"]);
            sb.Append(dic["addSerial"]);
            dic.Add("mac", Md5(sb.ToString()));

            var data       = JsonConvert.SerializeObject(dic);
            var encodeData = Base64(data);

            var result = await ApiCallerHelper.Execute <ChinaMobileHttpRsp>(input.Url, HttpMethod.Post, encodeData);

            return(result);
        }
        public async Task <SmsRsp> SendNormalSms(string[] mobiles, string content, string sign = "")
        {
            var result = new SmsRsp();

            try
            {
                var input = new ChinaMobileHttpNormalSms
                {
                    EcName    = _options.EcName,
                    ApId      = _options.AppId,
                    SecretKey = _options.AppSecret,
                    Mobiles   = mobiles,
                    Content   = content,
                    Sign      = string.IsNullOrWhiteSpace(sign) ? _options.Sign : sign,
                    AddSerial = _options.AddSerial,
                    Url       = _options.NorSubmitUrl
                };

                var rsp = await _client.SendNormalSms(input);

                result.Success = rsp.Success;
                result.RspCode = rsp.Rspcod;
                result.RspMsg  = EnumHelper.GetEnumDesc <ChinaMobileHttpRspCode>(rsp.Rspcod);
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.RspCode = string.Empty;
                result.RspMsg  = ex.Message;
            }

            return(result);
        }