/// <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); }
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); }
/// <summary> /// 后去jsapi_ticket,每次调用接口都调用此函数,不要记录 /// </summary> /// <returns></returns> public static string GetJsapiTicket() { if (access_token == String.Empty || OSecurity.DateTimeToTimeStamp(DateTime.Now) > timeStamp) { RefreshAccessToken(); } return(jsapi_ticket); }
/// <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); }
/// <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); }
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); } }
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); }
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); } }
public override string ToXML() { CreateTime = OSecurity.DateTimeToTimeStamp(DateTime.Now); return(WXManage.ToXML(this)); }
public XMLObject() { CreateTime = OSecurity.DateTimeToTimeStamp(DateTime.Now); }