Esempio n. 1
0
        /// <summary>
        /// 短信验证码是否正确
        /// </summary>
        /// <param name="phone">手机号码</param>
        /// <param name="code">短信验证码</param>
        /// <returns></returns>
        public static bool CheckAuthCode(String phone, String code)
        {
            return(true);

            var nonce   = OSecurity.GetRandomString(16);
            var curTime = OSecurity.DateTimeToTimeStamp(DateTime.Now).ToString();
            var sha1    = OSecurity.SHA1(appSecret + nonce + curTime);
            var errcode = ORequest.RequestPost("https://api.netease.im/sms/verifycode.action",
                                               "&phone=" + phone,
                                               "code",
                                               new WebHeaderCollection
            {
                { "AppKey", appKey },
                { "Nonce", nonce },
                { "CurTime", curTime },
                { "CheckSum", sha1 }
            });


            if (errcode == "200")
            {
                return(true);
            }
            return(false);
        }
Esempio n. 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // 不是微信内置浏览器
            if (!WXManage.IsWXBrowser(Request))
            {
                Response.Redirect("/RequireWX.aspx?url=" + Request.Url);
                return;
            }
            // 未登录,作为报名页面
            if (Session["phone"] == null || Session["iden"] == null)
            {
                signBtn1.InnerText = "立即报名";
                signBtn2.InnerText = "立即报名";
            }
            // 普通会员、管理员可查看
            if (Session["iden"] != null &&
                Session["iden"].ToString() != "1" &&
                Session["iden"].ToString() != "5")
            {
                Response.Redirect("/UserIndex.aspx");
                return;
            }
            // 没有参数
            if (!Request.QueryString.AllKeys.Contains("aid"))
            {
                Response.Redirect("/Activity.aspx");
                return;
            }
            // 活动ID
            string aid = Request.QueryString["aid"].ToString();
            // 获取活动
            var activity = DataBase.Activity.Get(new Objects.Activity()
            {
                id = aid
            });

            activity_name.InnerText = activity_name.InnerText.Replace("#title#", activity.title);
            end_time.InnerText      = end_time.InnerText.Replace("#end-time#", activity.timeEnd.ToString("yyyy-MM-dd HH:mm:ss"));
            js_content.InnerHtml    = js_content.InnerHtml.Replace("#content#", activity.content);
            Title = activity.brief;

            /*
             * appId: appId
             * timestamp: timestamp
             * nonceStr: nonceStr
             * signature: signature
             */
            var    timestamp = OSecurity.DateTimeToTimeStamp(DateTime.Now);
            String script    = "var appId = '" + WXManage.appID + "';";

            script += "var timestamp = '" + timestamp.ToString() + "';";
            script += "var nonceStr = 'chenyanhong';";
            script += "var signature = '" + WXManage.WXJSSign("chenyanhong", timestamp, Request.Url.ToString().Split('#')[0]) + "';";
            script += "var imgUrl = '" + WXManage.QRCode(Request.Url.ToString() + "&uid=" + Session["phone"]) + "';";
            if (Session["phone"] != null)
            {
                script += "var uid = '" + Session["phone"].ToString() + "';";
            }
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "wxvar", script, true);
        }
Esempio n. 3
0
 /// <summary>
 /// 后去jsapi_ticket,每次调用接口都调用此函数,不要记录
 /// </summary>
 /// <returns></returns>
 public static string GetJsapiTicket()
 {
     if (access_token == String.Empty ||
         OSecurity.DateTimeToTimeStamp(DateTime.Now) > timeStamp)
     {
         RefreshAccessToken();
     }
     return(jsapi_ticket);
 }
Esempio n. 4
0
 /// <summary>
 /// 获取access_token,每次调用接口都调用此函数,不要记录
 /// </summary>
 /// <returns></returns>
 public static String GetAccessToken()
 {
     if (access_token == String.Empty ||
         OSecurity.DateTimeToTimeStamp(DateTime.Now) > timeStamp)
     {
         return(RefreshAccessToken());
     }
     return(access_token);
 }
Esempio n. 5
0
        /// <summary>
        /// 刷新access_token
        /// </summary>
        /// <returns></returns>
        public static string RefreshAccessToken()
        {
            string url        = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential";
            var    jsonObject = ORequest.RequestGet(url, new System.Collections.Generic.Dictionary <string, string>
            {
                { "appid", appID },
                { "secret", appsecret }
            });

            // 获取access_token,计算过期时间
            access_token = jsonObject["access_token"].ToString();
            timeStamp    = OSecurity.DateTimeToTimeStamp(DateTime.Now) +
                           Convert.ToInt64(jsonObject["expires_in"].ToString());
            RefreshJsapiTicket();
            return(access_token);
        }
Esempio n. 6
0
 protected void vcodeBtn_Click(object sender, EventArgs e)
 {
     if (OSecurity.ValidPhone(tel.Value))
     {
         // 发送间隔校验
         if (Session["vcodeSend"] != null)
         {
             if (OSecurity.DateTimeToTimeStamp(DateTime.Now) - Int64.Parse(Session["vcodeSend"].ToString()) < 60)
             {
                 return;
             }
         }
         Session["vcodeSend"] = OSecurity.DateTimeToTimeStamp(DateTime.Now);
         AuthCode.SendAuthCode(tel.Value);
         ScriptManager.RegisterStartupScript(this, GetType(), "success", "success(1, '验证码已发送', false);", true);
         ScriptManager.RegisterStartupScript(this, GetType(), "successcd", "startCountDown();", true);
     }
     else
     {
         ScriptManager.RegisterStartupScript(this, GetType(), "phoneError", "alterError($('input[name=tel]')[0]);", true);
     }
 }
Esempio n. 7
0
        protected void newActivity_Click(Object sender, EventArgs e)
        {
            // 新建活动,标题初始化为时间 + 一随机数
            var activity = new Objects.Activity()
            {
                timeStart        = DateTime.Now,
                timeEnd          = DateTime.Now,
                title            = OSecurity.DateTimeToTimeStamp(DateTime.Now).ToString() + new Random().Next(0, 100).ToString(),
                content          = "",
                brief            = "",
                template         = int.Parse(DataBase.Template.Gets()[0].id),
                templateAddition = ""
            };

            // 新建
            if (!DataBase.Activity.Add(activity))
            {
                ScriptManager.RegisterClientScriptBlock(this, GetType(), "error", "alert('新建失败,服务器错误')", true);
                return;
            }
            // 获取ID,转到编辑界面
            activity = DataBase.Activity.GetByTitle(activity);
            Response.Redirect("/ActivityEditor.aspx?aid=" + activity.id);
        }
Esempio n. 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // 不是微信内置浏览器
            if (!WXManage.IsWXBrowser(Request))
            {
                Response.Redirect("/RequireWX.aspx?url=" + Request.Url);
                return;
            }
            if (Session["phone"] == null || Session["iden"].ToString() != "5")
            {
                Response.Redirect("/UserIndex.aspx");
                return;
            }
            if (Request.QueryString["aid"] == null)
            {
                Response.Redirect("/Activity.aspx");
                return;
            }

            // 保存
            if (IsPostBack)
            {
                var      id               = Request.QueryString["aid"];
                DateTime timeStart        = DateTime.Parse(Request.Form["timeStart"]);
                DateTime timeEnd          = DateTime.Parse(Request.Form["timeEnd"]);
                var      title            = Request.Form["title"];
                var      content          = Request.Unvalidated["htmlInput"];
                int      template         = int.Parse(Request.Form["templateSelect"]);
                var      brief            = Request.Form["brief"];
                bool     valid            = checkValid.Checked;
                var      imgSrc           = "";
                var      templateAddition = Request.Form["templateAdditionInput"];

                if (title == "" ||
                    content == "" ||
                    brief == "" ||
                    templateAddition == "" ||
                    Request.Files.Count > 1)
                {
                    return;
                }

                if (Request.Files.Count == 1)
                {
                    var    imgName = Request.Files[0].FileName;
                    string path    = "/WXShare/uploads/" + DateTime.Now.ToString("yyyyMMdd");
                    if (!Directory.Exists("/WXShare/uploads"))
                    {
                        Directory.CreateDirectory("/WXShare/uploads");
                    }
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    path += "/" + OSecurity.DateTimeToTimeStamp(DateTime.Now) +
                            "." + imgName.Substring(imgName.LastIndexOf('.') + 1);
                    Request.Files[0].SaveAs(path);
                    imgSrc = path.Substring(8);
                }

                Objects.Activity modActivity = new Objects.Activity()
                {
                    id               = id,
                    timeStart        = timeStart,
                    timeEnd          = timeEnd,
                    title            = title,
                    content          = content,
                    template         = template,
                    brief            = brief,
                    valid            = valid,
                    imgSrc           = imgSrc,
                    templateAddition = templateAddition
                };
                if (!DataBase.Activity.Modify(modActivity))
                {
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "saveFailed", "alert('保存失败');", true);
                    return;
                }
                Response.Redirect(Request.Url.ToString());
            }

            // 显示
            var activityID = Request.QueryString["aid"];
            var activity   = DataBase.Activity.Get(new Objects.Activity()
            {
                id = activityID
            });

            timeStart.Value    = activity.timeStart.ToString("yyyy-MM-ddTHH:mm:ss");
            timeEnd.Value      = activity.timeEnd.ToString("yyyy-MM-ddTHH:mm:ss");
            title.Value        = activity.title;
            textarea.InnerHtml = activity.content;

            var templates = DataBase.Template.Gets();

            templateSelect.Items.Clear();
            foreach (var template in templates)
            {
                templateSelect.Items.Add(new ListItem(template.name, template.id));
                if (template.id == activity.id)
                {
                    templateSelect.SelectedIndex = templateSelect.Items.Count - 1;
                }
            }
            templateAdditionInput.Value = activity.templateAddition;

            brief.Value        = activity.brief;
            checkValid.Checked = activity.valid;
            if (activity.imgSrc != "")
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "showImgSrc", "showImgSrc('//" + Request.Url.Host + "" + activity.imgSrc + "');", true);
            }
        }
Esempio n. 9
0
 public override string ToXML()
 {
     CreateTime = OSecurity.DateTimeToTimeStamp(DateTime.Now);
     return(WXManage.ToXML(this));
 }
Esempio n. 10
0
 public XMLObject()
 {
     CreateTime = OSecurity.DateTimeToTimeStamp(DateTime.Now);
 }