/// <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(); }
/// <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"); }
/// <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; } }