/// <summary> /// 增加一条数据 /// </summary> public int Add(Lebi_weixin_qrcode model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into [Lebi_weixin_qrcode]("); strSql.Append("Time_add,User_id,DT_id)"); strSql.Append(" values ("); strSql.Append("@Time_add,@User_id,@DT_id)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@Time_add", model.Time_add), new SqlParameter("@User_id", model.User_id), new SqlParameter("@DT_id", model.DT_id) }; object obj = SqlUtils.SqlUtilsInstance.TextExecuteNonQuery(strSql.ToString(), parameters); if (obj == null) { return(1); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 对象实体绑定数据 /// </summary> public Lebi_weixin_qrcode ReaderBind(IDataReader dataReader) { Lebi_weixin_qrcode model = new Lebi_weixin_qrcode(); object ojb; ojb = dataReader["id"]; if (ojb != null && ojb != DBNull.Value) { model.id = (int)ojb; } ojb = dataReader["Time_add"]; if (ojb != null && ojb != DBNull.Value) { model.Time_add = (DateTime)ojb; } ojb = dataReader["User_id"]; if (ojb != null && ojb != DBNull.Value) { model.User_id = (int)ojb; } ojb = dataReader["DT_id"]; if (ojb != null && ojb != DBNull.Value) { model.DT_id = (int)ojb; } return(model); }
/// <summary> /// 安全方式绑定对象表单 /// </summary> public Lebi_weixin_qrcode SafeBindForm(Lebi_weixin_qrcode model) { if (HttpContext.Current.Request["Time_add"] != null) { model.Time_add = Shop.Tools.RequestTool.RequestTime("Time_add", System.DateTime.Now); } if (HttpContext.Current.Request["User_id"] != null) { model.User_id = Shop.Tools.RequestTool.RequestInt("User_id", 0); } if (HttpContext.Current.Request["DT_id"] != null) { model.DT_id = Shop.Tools.RequestTool.RequestInt("DT_id", 0); } return(model); }
/// <summary> /// 更新一条数据 /// </summary> public void Update(Lebi_weixin_qrcode model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update [Lebi_weixin_qrcode] set "); strSql.Append("[Time_add]=@Time_add,"); strSql.Append("[User_id]=@User_id,"); strSql.Append("[DT_id]=@DT_id"); strSql.Append(" where id=" + model.id); OleDbParameter[] parameters = { new OleDbParameter("@Time_add", model.Time_add.ToString("yyyy-MM-dd hh:mm:ss")), new OleDbParameter("@User_id", model.User_id), new OleDbParameter("@DT_id", model.DT_id) }; AccessUtils.Instance.TextExecuteNonQuery(strSql.ToString(), parameters); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Lebi_weixin_qrcode model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into [Lebi_weixin_qrcode]("); strSql.Append("[Time_add],[User_id],[DT_id])"); strSql.Append(" values ("); strSql.Append("@Time_add,@User_id,@DT_id)"); OleDbParameter[] parameters = { new OleDbParameter("@Time_add", model.Time_add.ToString("yyyy-MM-dd hh:mm:ss")), new OleDbParameter("@User_id", model.User_id), new OleDbParameter("@DT_id", model.DT_id) }; AccessUtils.Instance.TextExecuteNonQuery(strSql.ToString(), parameters); return(1); }
/// <summary> /// 得到一个对象实体 by id /// </summary> public Lebi_weixin_qrcode GetModel(int id) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 * from [Lebi_weixin_qrcode] "); strSql.Append(" where id=@id"); SqlParameter[] parameters = { new SqlParameter("@id", SqlDbType.Int, 4) }; parameters[0].Value = id; Lebi_weixin_qrcode model = new Lebi_weixin_qrcode(); DataSet ds = SqlUtils.SqlUtilsInstance.TextExecuteDataset(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["id"].ToString() != "") { model.id = int.Parse(ds.Tables[0].Rows[0]["id"].ToString()); } if (ds.Tables[0].Rows[0]["Time_add"].ToString() != "") { model.Time_add = DateTime.Parse(ds.Tables[0].Rows[0]["Time_add"].ToString()); } if (ds.Tables[0].Rows[0]["User_id"].ToString() != "") { model.User_id = int.Parse(ds.Tables[0].Rows[0]["User_id"].ToString()); } if (ds.Tables[0].Rows[0]["DT_id"].ToString() != "") { model.DT_id = int.Parse(ds.Tables[0].Rows[0]["DT_id"].ToString()); } return(model); } else { return(null); } }
/// <summary> /// 得到一个对象实体 by where条件 /// </summary> public Lebi_weixin_qrcode GetModel(string strWhere) { if (strWhere.IndexOf("lbsql{") > 0) { SQLPara para = new SQLPara(strWhere, "", ""); return(GetModel(para)); } StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 * from [Lebi_weixin_qrcode] "); strSql.Append(" where " + strWhere + ""); Lebi_weixin_qrcode model = new Lebi_weixin_qrcode(); DataSet ds = SqlUtils.SqlUtilsInstance.TextExecuteDataset(strSql.ToString()); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["id"].ToString() != "") { model.id = int.Parse(ds.Tables[0].Rows[0]["id"].ToString()); } if (ds.Tables[0].Rows[0]["Time_add"].ToString() != "") { model.Time_add = DateTime.Parse(ds.Tables[0].Rows[0]["Time_add"].ToString()); } if (ds.Tables[0].Rows[0]["User_id"].ToString() != "") { model.User_id = int.Parse(ds.Tables[0].Rows[0]["User_id"].ToString()); } if (ds.Tables[0].Rows[0]["DT_id"].ToString() != "") { model.DT_id = int.Parse(ds.Tables[0].Rows[0]["DT_id"].ToString()); } return(model); } else { return(null); } }
/// <summary> /// 更新一条数据 /// </summary> public void Update(Lebi_weixin_qrcode model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update [Lebi_weixin_qrcode] set "); strSql.Append("Time_add= @Time_add,"); strSql.Append("User_id= @User_id,"); strSql.Append("DT_id= @DT_id"); strSql.Append(" where id=@id"); SqlParameter[] parameters = { new SqlParameter("@id", SqlDbType.Int, 4), new SqlParameter("@Time_add", SqlDbType.DateTime), new SqlParameter("@User_id", SqlDbType.Int, 4), new SqlParameter("@DT_id", SqlDbType.Int, 4) }; parameters[0].Value = model.id; parameters[1].Value = model.Time_add; parameters[2].Value = model.User_id; parameters[3].Value = model.DT_id; SqlUtils.SqlUtilsInstance.TextExecuteNonQuery(strSql.ToString(), parameters); }
/// <summary> /// 验证微信是否已经授权-登陆账号 /// </summary> public void wechatlogin() { string cid = CookieTool.GetCookieString("qrcodeid"); int id = 0; if (cid != "") { int.TryParse(cid, out id); Lebi_weixin_qrcode model = B_Lebi_weixin_qrcode.GetModel(id); if (model != null) { if (model.User_id > 0) { //CookieTool.SetCookieString("qrcodeid", "0", -1); CookieTool.DeleteCookie("qrcodeid"); Lebi_User user = B_Lebi_User.GetModel(model.User_id); EX_User.LoginOK(user); Response.Write("{\"msg\":\"OK\"}"); return; } } } Response.Write("{\"msg\":\"NO\"}"); }
/// <summary> /// 生成登录二维码 /// </summary> public void GetQrCode() { string cid = CookieTool.GetCookieString("qrcodeid"); int id = 0; string url = ""; int DT_id = ShopPage.GetDT(); Lebi_weixin_qrcode model; int.TryParse(cid, out id); string where = "id='" + id + "'"; if (DT_id > 0) { where += " and DT_id =" + DT_id + ""; } model = B_Lebi_weixin_qrcode.GetModel(where); if (model == null) { model = new Lebi_weixin_qrcode(); model.User_id = CurrentUser.id; model.DT_id = DT_id; B_Lebi_weixin_qrcode.Add(model); id = B_Lebi_weixin_qrcode.GetMaxId(); CookieTool.SetCookieString("qrcodeid", id.ToString(), 60); } string token = RequestTool.RequestString("token"); string backurl = RequestTool.RequestString("url"); backurl = HttpUtility.UrlDecode(backurl); if (EX_User.MD5(SYS.InstallCode + backurl) != token) { backurl = URL("P_Index", ""); } if (backurl.Contains("?")) { backurl += "&qrcodeid=" + id; } else { backurl += "?qrcodeid=" + id; } backurl = HttpUtility.UrlEncode(backurl); url = Shop.Platform.weixin.GetInstance(DT_id, CurrentSite).LoginURL(backurl); //QRCode.Instance.CreateImage(url, id.ToString()); Bitmap image = QRCode.Instance.CreateImage(url); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = "image/Gif"; Response.BinaryWrite(ms.ToArray()); //删除60分钟前的二维码 //string where = "datediff(n,Time_add,'" + System.DateTime.Now + "')>60"; //List<Lebi_weixin_qrcode> qs = B_Lebi_weixin_qrcode.GetList(where, ""); //foreach (Lebi_weixin_qrcode q in qs) //{ // ImageHelper.DeleteImage("/qrcode/" + q.id + ".png"); //} //B_Lebi_weixin_qrcode.Delete(where); ////================ //Response.Write("{\"msg\":\"OK\",\"img\":\"" + WebPath + "/qrcode/" + id + ".png\"}"); }
/// <summary> /// 更新一条数据 /// </summary> public static void Update(Lebi_weixin_qrcode model) { D_Lebi_weixin_qrcode.Instance.Update(model); }
/// <summary> /// 增加一条数据 /// </summary> public static int Add(Lebi_weixin_qrcode model) { return D_Lebi_weixin_qrcode.Instance.Add(model); }
/// <summary> /// 安全方式绑定表单数据 /// </summary> public static Lebi_weixin_qrcode SafeBindForm(Lebi_weixin_qrcode model) { return D_Lebi_weixin_qrcode.Instance.SafeBindForm(model); }
/// <summary> /// 微信登录 /// https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code /// </summary> /// <param name="back"></param> /// <returns></returns> public string Login(string back, int IsLogin = 1) { string code = RequestTool.RequestString("code"); if (code != "") { try { string uri = reurnurl + "?backurl=" + ENBackuri(back); int userid = 0; uri = System.Web.HttpUtility.UrlEncode(uri); string res = Post("https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + appkey + "&code=" + code + "&grant_type=authorization_code"); JavaScriptSerializer jss = new JavaScriptSerializer(); Model.weixin.tokeninfo tokeninfo = jss.Deserialize <Model.weixin.tokeninfo>(res); string uid = tokeninfo.openid; //SystemLog.Add(uid); //获取用户资料 //https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN res = Post("https://api.weixin.qq.com/sns/userinfo?access_token=" + tokeninfo.access_token + "&openid=" + uid + "&lang=zh_CN"); Model.weixin.userinfo model = jss.Deserialize <Model.weixin.userinfo>(res); string where = "bind_weixin_id='" + uid + "' and bind_weixin_id!=''"; //if (DT_id > 0) //{ // where += " and DT_id =" + DT_id + ""; //} Lebi_User user = B_Lebi_User.GetModel(where); Lebi_User CurrentUser = null; string qrcodeid_ = RegexTool.GetRegValue((back + "&"), @"qrcodeid=(\d*)&"); int qrid = 0; int.TryParse(qrcodeid_, out qrid); if (qrid > 0) { //扫描二维码授权绑定当前账号 Lebi_weixin_qrcode qcode = B_Lebi_weixin_qrcode.GetModel(qrid); CurrentUser = B_Lebi_User.GetModel(qcode.User_id); if (IsLogin == 0) { if (user != null && CurrentUser != null) { return("已绑定其它帐号"); } } } if (user == null) { Lebi_UserLevel defaultlevel = B_Lebi_UserLevel.GetModel("Grade>0 order by Grade asc"); if (defaultlevel == null) { defaultlevel = new Lebi_UserLevel(); } if (defaultlevel.RegisterType == 0) //关闭注册 { return("会员注册已关闭"); } if (CurrentUser == null) { user = new Lebi_User(); user.bind_weixin_id = uid; user.bind_weixin_nickname = model.nickname; user.bind_weixin_token = tokeninfo.access_token; try { user.Face = DownLoadImage(model.headimgurl); } catch { user.Face = model.headimgurl; } user.NickName = model.nickname; user.UserName = "******" + uid; user.Password = EX_User.MD5(uid); user.Language = Language.CurrentLanguage().Code; user.Sex = model.sex == "2" ? "女" : "男"; user.UserLevel_id = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id; user.IsPlatformAccount = 1; //B_Lebi_User.Add(user); //user.id = B_Lebi_User.GetMaxId(); //userid = user.id; user.DT_id = DT_id; EX_User.UserReg(user); } else { CurrentUser.bind_weixin_id = uid; CurrentUser.bind_weixin_nickname = model.nickname; CurrentUser.bind_weixin_token = tokeninfo.access_token; try { CurrentUser.Face = DownLoadImage(model.headimgurl); } catch { CurrentUser.Face = model.headimgurl; } //CurrentUser.Face = model.headimgurl;//头像 50*50 if (CurrentUser.NickName == "") { CurrentUser.NickName = model.nickname; } CurrentUser.DT_id = DT_id; //B_Lebi_User.Update(CurrentUser); EX_User.LoginOK(CurrentUser, 0); userid = CurrentUser.id; } } else { user.bind_weixin_id = uid; user.bind_weixin_nickname = model.nickname; user.bind_weixin_token = tokeninfo.access_token;; try { user.Face = DownLoadImage(model.headimgurl); } catch (Exception ex) { user.Face = ""; LB.Tools.TxtLog.Add(ex.Message); } if (user.NickName == "") { user.NickName = model.nickname; } user.DT_id = DT_id; //user.Sex = model.gender == "f" ? "女" : "男"; //B_Lebi_User.Update(user); EX_User.LoginOK(user, 0); userid = user.id; } if (qrid > 0) { //扫描二维码登录 Lebi_weixin_qrcode qcode = B_Lebi_weixin_qrcode.GetModel(qrid); qcode.User_id = userid; B_Lebi_weixin_qrcode.Update(qcode); //Log.Add(back); } return("OK"); } catch (Exception ex) { LB.Tools.TxtLog.Add(ex.Message); return("授权失败" + ex.Message); } } return("授权失败"); }
/// <summary> /// 绑定表单数据 /// </summary> public static Lebi_weixin_qrcode BindForm(Lebi_weixin_qrcode model) { return(D_Lebi_weixin_qrcode.Instance.BindForm(model)); }