Example #1
0
        /// <summary>
        /// 获取短信条数
        /// </summary>
        /// <param name="marks"></param>
        /// <returns></returns>
        protected void GetNumber()
        {
            string marks = WeiSha.Common.Request.QueryString["id"].Decrypt().String;
            int    num   = -1;

            try
            {
                //账号与密码
                string smsacc = Business.Do <ISystemPara>().GetValue(marks + "SmsAcc");
                string smspw  = Business.Do <ISystemPara>().GetValue(marks + "SmsPw");
                if (!string.IsNullOrWhiteSpace(smspw))
                {
                    smspw = WeiSha.Common.DataConvert.DecryptForBase64(smspw);    //将密码解密
                    //短信平台操作对象
                    WeiSha.SMS.ISMS sms = WeiSha.SMS.Gatway.GetService(marks);
                    //设置账号与密码
                    sms.Current.User     = smsacc;
                    sms.Current.Password = smspw;
                    num = sms.Query();
                    string json = "{\"num\":" + num + ",\"marks\":\"" + marks + "\"}";
                    Response.Write(json);
                }
                else
                {
                    throw new Exception("未填写密码!");
                }
            }
            catch (Exception ex)
            {
                num = -1;
                string json = "{\"num\":" + num + ",\"marks\":\"" + marks + "\",\"desc\":\"" + ex.Message + "\"}";
                Response.Write(json);
            }
            Response.End();
        }
Example #2
0
 /// <summary>
 /// 设置初始界面
 /// </summary>
 private void fill()
 {
     WeiSha.SMS.ISMS sms = WeiSha.SMS.Gatway.GetService(remarks);
     //短信平台名称
     ltName.Text = sms.Current.Name;
     //账号与密码
     tbSmsAcc.Text = Business.Do <ISystemPara>().GetValue(remarks + "SmsAcc");
     //tbSmsPw.Text = Business.Do<ISystemPara>().GetValue(remarks + "SmsPw");
 }
Example #3
0
        /// <summary>
        /// 发送短信验证码
        /// </summary>
        /// <param name="keyname">写入cookis的key值名称</param>
        public bool SendVcode(string phone, string keyname)
        {
            //获取短信接口
            string smsCurr = Business.Do <ISystemPara>().GetValue("SmsCurrent");

            WeiSha.SMS.ISMS sms = WeiSha.SMS.Gatway.GetService(smsCurr);
            sms.Current.User = Business.Do <ISystemPara>().GetValue(smsCurr + "SmsAcc");
            //生成短信内容
            string rnd = WeiSha.Common.Request.Random(6, 1);    //验证码,随机四位数字
            string msg = Business.Do <ISystemPara>().GetValue(smsCurr + "_SmsTemplate");

            msg = this.MessageFormat(msg, rnd);
            if (string.IsNullOrWhiteSpace(msg))
            {
                return(false);
            }
            //发送状态
            try
            {
                //密码
                string smspw = Business.Do <ISystemPara>().GetValue(smsCurr + "SmsPw");
                smspw = WeiSha.Common.DataConvert.DecryptForBase64(smspw);    //将密码解密
                sms.Current.Password = smspw;

                WeiSha.SMS.SmsState state   = sms.Send(phone, msg);
                HttpContext         context = System.Web.HttpContext.Current;
                if (state.Success)
                {
                    //存储随机数
                    HttpCookie cookie = new HttpCookie(keyname);
                    //将随机字符转用MD5加密
                    cookie.Value = new WeiSha.Common.Param.Method.ConvertToAnyValue(rnd).MD5;
                    //如果是多机构,又不用IP访问,则用根域写入cookie
                    int multi = Business.Do <ISystemPara>()["MultiOrgan"].Int32 ?? 0;
                    if (multi == 0 && !WeiSha.Common.Server.IsLocalIP)
                    {
                        cookie.Domain = WeiSha.Common.Server.MainName;
                    }
                    cookie.Expires = DateTime.Now.AddMinutes(10);
                    context.Response.Cookies.Add(cookie);
                    return(true);
                }
                else
                {
                    throw new Exception(state.Description + ";状态码" + state.Code);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }