Ejemplo n.º 1
0
        public static string Send(string[] msg, string number = "15802600278")
        {
            string ret = null;

            CCPRestSDK.CCPRestSDK api = new CCPRestSDK.CCPRestSDK();
            //ip格式如下,不带https://
            bool isInit = api.init("app.cloopen.com", "8883"); //  生产) Rest URL:https://app.cloopen.com:8883   测试sandboxapp.cloopen.com

            api.setAccount("aaf98f894e2360b4014e32c97baf0d57", "0740a208144f4fa3a5b38666da37acb9");
            api.setAppId("8a48b55153cb69470153e5b9ee1e255b");

            try
            {
                if (isInit)
                {
                    Dictionary <string, object> retData = api.SendTemplateSMS(number, "78674", msg);
                    ret = getDictionaryData(retData);
                }
                else
                {
                    ret = "初始化失败";
                }
            }
            catch (Exception exc)
            {
                ret = exc.Message;
            }

            return(ret);
        }
Ejemplo n.º 2
0
        public Result <dynamic> Send(string mobile, byte smsType)
        {
            int smsCode = GenerateSMSCode();
            var entity  = new SmsModel()
            {
                MobilePhone = mobile,
                SmsType     = smsType,
                SmsCode     = smsCode,
                SmsStatus   = 0,
                ExpireTime  = DateTime.Now.AddMinutes(10),
                CreateTime  = DateTime.Now
            };

            if (SmsRepository.Add(entity))
            {
                var account_id    = ConfigurationManager.AppSettings["SMS_Account_Sid"];
                var account_token = ConfigurationManager.AppSettings["SMS_Account_Token"];
                var app_Id        = ConfigurationManager.AppSettings["SMS_App_Id"];

                string result = string.Empty;

                CCPRestSDK.CCPRestSDK api = new CCPRestSDK.CCPRestSDK();
                bool init = api.init("sandboxapp.cloopen.com", "8883");
                api.setAccount(account_id, account_token);
                api.setAppId(app_Id);
                try
                {
                    if (init)
                    {
                        string[] param = { smsCode.ToString(), "10分钟" };
                        Dictionary <string, object> retApiData = api.SendTemplateSMS(mobile, "125246", param);
                        result = GetDictionaryData(retApiData);
                    }
                    else
                    {
                        return(new Result <dynamic>()
                        {
                            Code = ResultCode.Error,
                            Message = "初始化失败"
                        });
                    }
                }
                catch { }
                if (result.ToLower().Contains("statuscode=000000;statusmsg=成功"))
                {
                    /* 调用短信接口发送短信验证码 */
                    return(new Result <dynamic>()
                    {
                        Code = ResultCode.Success,
                        Message = "验证码发送成功"
                    });
                }
            }
            return(new Result <dynamic>()
            {
                Code = ResultCode.Error,
                Message = "验证码发送失败"
            });
        }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> GetSmsCode([FromBody] string PhoneNumber)
        {
            var result = new ApiResult <string>();

            CCPRestSDK.CCPRestSDK api = new CCPRestSDK.CCPRestSDK();
            //ip格式如下,不带https://
            bool isInit = api.init("app.cloopen.com", "8883");

            api.setAccount("8aaf0708588b1d2301588ff10eb00346", "3e902b274a844cb899b672bcaf4fde2f");
            api.setAppId("8aaf0708588b1d2301588ff10f16034b");

            var expireMin  = 10;
            var expireTime = DateTime.Now.AddMinutes(expireMin);

            //1分钟内不允许再次发送
            var limitTime      = DateTime.Now.AddMinutes(-1);
            var hasSendInLimit = SmsCodeService.GetAll().Count(x => x.PhoneNumber == PhoneNumber && x.CreateTime > limitTime) > 0;

            if (hasSendInLimit)
            {
                result.Code = 3;
                result.Info = "短信已发送给您,请耐心等待!";
                return(Ok(result));
            }

            var smsCode = new SmsCode()
            {
                Code        = getRandCode(6),
                CodeType    = CodeType.Register,
                CreateTime  = DateTime.Now,
                ExpireTime  = expireTime,
                PhoneNumber = PhoneNumber
            };

            try
            {
                if (isInit)
                {
                    Dictionary <string, object> retData = api.SendTemplateSMS(PhoneNumber, "1", new string[] { smsCode.Code, expireMin.ToString() });

                    if (retData["statusCode"].ToString() == "000000")
                    {
                        await SmsCodeService.InsertAsync(smsCode);
                    }
                }
                else
                {
                    result.Code = 2;
                    result.Info = "短信验证码服务,初始化失败!";
                    return(Ok(result));
                }
            }
            catch (Exception exc)
            {
                result.Code = 1;
                result.Info = exc.Message;
                return(Ok(result));
            }

            result.Info = "短信发送成功";
            result.Data = "success";
            return(Ok(result));
        }