public int Rint_Para(string para) { string key = "&" + CurrentPage.PageParameter; key = RegexTool.GetRegValue(key, @"&(.*?)=\{" + para + @"\}"); return(Rint(key)); }
public bool CheckServer() { string sql = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ToString(); sql = RegexTool.GetRegValue(sql, "data source=(.*?);"); if (sql == ".") { sql = "localhost"; } sql = sql.Replace(@"\", "/"); if (sql.Contains("/")) { sql = sql.Substring(0, sql.IndexOf("/")); } IPAddress[] IPs = Dns.GetHostAddresses(sql); string webserverip = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList[0].ToString(); bool res = false; foreach (IPAddress ip in IPs) { if (ip.ToString().Trim() == webserverip.Trim()) { res = true; } } return(res); }
/// <summary> /// 商品分类查询页面-根据筛选规格返回查询参数 /// </summary> /// <param name="sel"></param> /// <returns></returns> public string Categorywhere(string sel) { if (sel == "") { return("1=1"); } string where = ""; string[] arr = sel.Split('$'); for (int i = 0; i < arr.Length; i++) { int id = 0; string id_ = RegexTool.GetRegValue(arr[i], @"[\d]*\|([\d]*)"); int.TryParse(id_, out id); if (id > 0) { if (where == "") { where = " ProPerty132 like '%" + id + "%'"; } else { where += " and ProPerty132 like '%" + id + "%'"; } } } if (where == "") { where = "1=1"; } return(where); }
/// <summary> /// id=1&pid=1 转化为 Page_{id}_{pid}.html 形式 /// </summary> /// <param name="ParaStr">参数字符串</param> /// <param name="FormatStr">格式字符串</param> /// <returns></returns> public static string StaticUrl(string ParaStr, string FormatStr) { ParaStr = ("&" + ParaStr + "&").ToLower(); string str = FormatStr.ToLower();//小写 string[,] Arry = RegexTool.GetRegResultArray(str, @"{(.*?)}"); for (int i = 0; i < Arry.GetUpperBound(0); i++) { string d = RegexTool.GetRegValue(ParaStr, @"&" + Arry[i, 1] + "=(.*?)&"); str = str.Replace("{" + Arry[i, 1] + "}", d); } return(str); }
/// <summary> /// 取得一个文件内的备注 /// </summary> /// <param name="theme"></param> /// <param name="skin"></param> /// <returns></returns> private string GetRemark(string filename) { string str = ""; string path = "/theme/system/" + filename; str = HtmlEngine.ReadTxt(path); if (str.IndexOf("<!--") == 0) { str = RegexTool.GetRegValue(str, @"<!--(.*?)-->"); str = str.Trim() + "\r\n"; //str = str.Replace("\r\n",""); } else { str = ""; } return(str); }
/// <summary> /// 将 取值部分 替换model.形式 /// 字段名替换 /// </summary> /// <returns></returns> private static string ReplaceModel(string strIn, string mod) { //字段名替换 //@id@ ==》model.id //$id$ ==》<%=model.id%> //@i@ ==》model_index //$i$ ==》<%=model_index%> string str = strIn; string temp = ""; string temp_key = ""; string key = ""; string key_ = ""; str = str.Replace("{i}", mod + "_index"); str = str.Replace("{%i%}", "<%=" + mod + "_index%>"); str = str.Replace("{I}", mod + "_index"); str = str.Replace("{%I%}", "<%=" + mod + "_index%>"); Regex r = new Regex(@"{[\w]*}|{%[\w]*%}", RegexOptions.Singleline); MatchCollection mc = r.Matches(str); foreach (Match m in mc) { temp = m.Value; temp_key = ""; key_ = RegexTool.GetRegValue(temp, @"({%[\w]*%})"); key = RegexTool.GetRegValue(temp, @"{%([\w]*)%}"); if (key_ != "") { //temp_key = temp.Replace(key_, mod + "." + key); temp_key = temp.Replace(key_, "<%=" + mod + "." + key + "%>"); } else { key_ = RegexTool.GetRegValue(temp, @"({[\w]*})"); key = RegexTool.GetRegValue(temp, @"{([\w]*)}"); if (key_ != "") { temp_key = temp.Replace(key_, mod + "." + key); } } str = str.Replace(temp, temp_key); } return(str); }
/// <summary> /// 文字内容里面的图片处理 /// </summary> /// <param name="str"></param> /// <param name="IsLazyLoad"></param> /// <returns></returns> public string ContentImage(string str, int IsLazyLoad = 0) { string[] imgs = RegexTool.GetSimpleRegResultArray(str, @"(<[Ii][Mm][Gg].*?>)"); string temp = ""; foreach (string img in imgs) { temp = img; temp = temp.Replace("'", "\"").Replace(" ", ""); temp = RegexTool.GetRegValue(img, "[Ss][Rr][Cc]=\"(.*?)\""); if (IsLazyLoad == 1) { str = str.Replace(img, "<img class=\"contentlazy\" data-original=\"" + Image(temp) + "\"/>"); } else { str = str.Replace(img, "<img src=\"" + Image(temp) + "\"/>"); } } return(str); }
protected void Page_Load(object sender, EventArgs e) { conekta.Api.version = "2.0.0"; int order_id = RequestTool.RequestInt("order_id", 0); Lebi_Order order = B_Lebi_Order.GetModel(order_id); if (order == null) { Response.Write("ERROR"); Response.End(); return; } Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id); if (order.IsPaid == 1) { Response.Write(Language.Tag("已付款", language.Code)); Response.End(); return; } order.Site_id_pay = CurrentSite.id; order.Language_id = CurrentLanguage.id; //SystemLog.Add("订单:" + order.Code + "-" + CurrentSite.id + "--" + CurrentLanguage.id); Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "conekta"); if (pay == null) { Response.Write("系统错误"); Response.End(); return; } conekta.Api.apiKey = pay.UserKey; if (pay.FreeFeeRate == 1) { pay.FeeRate = 0; } if (pay.FeeRate > 0) { order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100; } if (order.OnlinePay_id != pay.id) { order.OnlinePay_id = pay.id; order.OnlinePay_Code = pay.Code; order.OnlinePay = pay.Name; } B_Lebi_Order.Update(order); if (order.weixin_prepay_id.Contains("oxxopay")) { //"oxxopay:" + JsonConvert.SerializeObject(jo) + ";"; string oxxo = RegexTool.GetRegValue(order.weixin_prepay_id, "oxxopay:(.*?)};") + "}"; try { JObject jo = (JObject)JsonConvert.DeserializeObject(oxxo); reference = jo["reference"].ToString(); money = jo["money"].ToString(); } catch (Exception ex) { //Response.Write(ex.ToString()); } } else { } if (money == order.Money_Pay.ToString()) { return; } money = order.Money_Pay.ToString(); Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id); BaseConfig SYS = ShopCache.GetBaseConfig(); Shop.Bussiness.Site site = new Shop.Bussiness.Site(); ////////////////////////////////////////////请求参数//////////////////////////////////////////// //页面跳转同步通知页面路径 string return_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/conektapay/return_url.aspx"; //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/ //卖家支付宝帐户 string seller_email = pay.Email; //必填 //商户订单号 string out_trade_no = order.Code; //商户网站订单系统中唯一订单号,必填 //订单名称 string subject = order.Code; //必填 //付款金额 string total_fee = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100)) * 100).ToString("f0"); //必填 try { string ostring = @"{ ""line_items"": [{ ""name"": ""ordercode_{ordercode}"", ""unit_price"": {money}, ""quantity"": 1 }], ""shipping_lines"": [{ ""amount"": 0, ""carrier"": ""xxxxxx"" }], //shipping_lines - physical goods only ""currency"": ""MXN"", ""customer_info"": { ""name"": ""{u_name}"", ""email"": ""{u_email}"", ""phone"": ""{u_phone}"" }, ""shipping_contact"":{ ""address"": { ""street1"": ""xxx xxx"", ""postal_code"": ""06100"", ""country"": ""MX"" } }, //required only for physical goods ""charges"":[{ ""payment_method"": { ""type"": ""oxxo_cash"" } }] }"; ostring = ostring.Replace("{ordercode}", order.Code); ostring = ostring.Replace("{money}", total_fee); ostring = ostring.Replace("{u_name}", order.User_UserName); ostring = ostring.Replace("{u_email}", order.T_Email); ostring = ostring.Replace("{u_phone}", order.T_MobilePhone); ostring = ostring.Replace("{t_name}", order.T_Name); conekta.Order order1 = new conekta.Order().create(ostring); //ostring = string.Format(ostring, order.Code, total_fee, order.T_Name, order.T_Email, order.T_MobilePhone); //conekta.Order corder = new conekta.Order().create(ostring); //Response.Write("ID: " + order1.id); //Response.Write("ID111: " + order1.charges.toJSON()); //ID: ord_2jDzPMV51K1i9z9Ti //ID111: { "has_more":false,"data":[{"id":"5b91d84aedbb6e28f3ef1639","livemode":false,"created_at":1536284746,"currency":"MXN","payment_method":{"service_name":"OxxoPay","barcode_url":"https://s3.amazonaws.com/cash_payment_barcodes/sandbox_reference.png","object":"cash_payment","type":"oxxo","expires_at":1538870400,"store_name":"OXXO","reference":"98000000140098"},"object":"charge","description":"Payment from order","status":"pending_payment","amount":13500,"fee":549,"customer_id":"","order_id":"ord_2jDzPMV51K1i9z9Ti"}],"_type":"conekta.Charge, conekta, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"} //Response.Write("Payment Method: " + order1.charges[0].payment_method.service_name); //Response.Write("Reference: " + order1.charges[0].payment_method.reference); //Response.Write("$" + (order1.amount / 100) + order1.currency); //Response.Write("Order"); //Response.Write(order1.line_items[0].quantity + " - " // + order1.line_items[0].name + " - " // + (order1.line_items.unit_price / 100)); reference = RegexTool.GetRegValue(order1.charges.toJSON(), "\"reference\":\"(\\d+)\""); order.OnlinePay_Code = order1.id; JObject jo = new JObject(); jo["reference"] = reference; jo["money"] = money; order.weixin_prepay_id = "oxxopay:" + JsonConvert.SerializeObject(jo) + ";"; B_Lebi_Order.Update(order); } catch (ConektaException ex) { foreach (JObject obj in ex.details) { Response.Write("message:\t" + obj.GetValue("message") + "___" + "debug:\t" + obj.GetValue("debug_message") + "___" + "code:\t" + obj.GetValue("code")); Response.End(); SystemLog.Add("message:\t" + obj.GetValue("message") + "___" + "debug:\t" + obj.GetValue("debug_message") + "___" + "code:\t" + obj.GetValue("code")); //System.Console.WriteLine("\n [ERROR]:\n"); //System.Console.WriteLine("message:\t" + obj.GetValue("message")); //System.Console.WriteLine("debug:\t" + obj.GetValue("debug_message")); //System.Console.WriteLine("code:\t" + obj.GetValue("code")); } } }
public string Login(string back, int IsLogin = 1, int DT_id = 0) { string code = RequestTool.RequestString("code"); if (code != "") { try { StringBuilder sb = new StringBuilder(); sb.Append("?grant_type=authorization_code"); sb.Append("&client_id=" + appid); sb.Append("&client_secret=" + appkey); sb.Append("&code=" + code); string uri = reurnurl + "?backurl=" + back; uri = System.Web.HttpUtility.UrlEncode(uri); sb.Append("&redirect_uri=" + uri); string res = API("oauth2.0/token", sb.ToString()); res = res + "&"; string access_token = RegexTool.GetRegValue(res, "access_token=(.*?)&"); //获取openid sb = new StringBuilder(); sb.Append("?access_token=" + access_token); res = API("oauth2.0/me", sb.ToString()); string openid = RegexTool.GetRegValue(res, "openid\":\"(.*?)\"}"); //获取用户资料 sb = new StringBuilder(); sb.Append("?access_token=" + access_token); sb.Append("&oauth_consumer_key=" + appid); sb.Append("&openid=" + openid); res = API("user/get_user_info", sb.ToString()); JavaScriptSerializer jss = new JavaScriptSerializer(); Model.QQ.userinfo model = jss.Deserialize <Model.QQ.userinfo>(res); string where = "bind_qq_id='" + openid + "'"; //if (DT_id > 0) //{ // where += " and DT_id =" + DT_id + ""; //} Lebi_User user = B_Lebi_User.GetModel(where); Lebi_User CurrentUser = EX_User.CurrentUser(); if (CurrentUser.id > 0)//已经登录 { if (IsLogin == 0) { if (user != null) { if (CurrentUser.id != user.id) { return("已绑定其它帐号"); } } } CurrentUser.bind_qq_id = openid; CurrentUser.bind_qq_nickname = model.nickname; CurrentUser.bind_qq_token = access_token; if (CurrentUser.Face == "") { CurrentUser.Face = model.figureurl_qq_1;//头像 } CurrentUser.DT_id = DT_id; B_Lebi_User.Update(CurrentUser); } else { 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("会员注册已关闭"); } user = new Lebi_User(); user.bind_qq_id = openid; user.bind_qq_nickname = model.nickname; user.bind_qq_token = access_token; user.Face = model.figureurl_qq_1;//头像 user.UserName = "******" + openid; user.NickName = model.nickname; user.Password = EX_User.MD5(openid); user.Language = Language.CurrentLanguage().Code; user.Sex = model.gender; user.UserLevel_id = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id; user.IsPlatformAccount = 1; if (CurrentSite != null) { user.Site_id = CurrentSite.id; } user.DT_id = DT_id; B_Lebi_User.Add(user); user.id = B_Lebi_User.GetMaxId(); EX_User.LoginOK(user); } else { user.bind_qq_id = openid; user.bind_qq_nickname = model.nickname; user.bind_qq_token = access_token; if (user.Face == "") { user.Face = model.figureurl_qq_1;//头像 } //user.Sex = model.gender; user.DT_id = DT_id; B_Lebi_User.Update(user); EX_User.LoginOK(user); } } return("OK"); } catch { return("授权失败"); } } return("授权失败"); }
/// <summary> ///生成邮件任务 /// </summary> public void EmailTask_Create() { if (!EX_Admin.Power("emailtask_edit", "群发邮件")) { AjaxNoPower(); return; } int id = RequestTool.RequestInt("id", 0); Lebi_EmailTask model = B_Lebi_EmailTask.GetModel(id); if (model == null) { Response.Write("{\"msg\":\"" + Tag("参数错误") + "\"}"); return; } model.EmailContent = Language.RequestString("EmailContent"); model.EmailTitle = Language.RequestString("EmailTitle"); model.UserLevel_ids = RequestTool.RequestString("UserLevel_ids"); model.Time_task = RequestTool.RequestTime("Time_task"); B_Lebi_EmailTask.Update(model); //================= //处理图片 string content = model.EmailContent; Regex r = new Regex(@"[sS][rR][cC]=\\\"".*?\\\""", RegexOptions.Singleline); MatchCollection mc = r.Matches(content); string temp = ""; string src = ""; foreach (Match m in mc) { temp = m.Value; src = RegexTool.GetRegValue(temp, @"[sS][rR][cC]=\\\""(.*?)\\\"""); if (!Regex.IsMatch(src.ToLower(), @"http://.*?", RegexOptions.IgnoreCase)) //if (!src.ToLower().Contains("http://")) { src = SYS.Domain + "/" + src; src = ThemeUrl.CheckURL(src); content = content.Replace(temp, "src=\\\"" + src + "\""); } } //处理图片结束 //==================== List <Lebi_User> users = B_Lebi_User.GetList("UserLevel_id in (" + model.UserLevel_ids + ")", ""); Lebi_Email email = new Lebi_Email(); foreach (Lebi_User user in users) { email.Content = Language.Content(content, user.Language); email.Title = Language.Content(model.EmailTitle, user.Language); email.Time_Task = model.Time_task; email.User_id = user.id; email.User_Name = user.UserName; email.EmailTask_id = model.id; email.Email = user.Email; email.Count_send = 0; email.Type_id_EmailStatus = 270;//排队中的邮件 B_Lebi_Email.Add(email); } model.IsSubmit = 1; B_Lebi_EmailTask.Update(model); Response.Write("{\"msg\":\"OK\"}"); }
public string Login(string back, int IsLogin = 1, int DT_id = 0) { string code = RequestTool.RequestString("code"); string res = ""; StringBuilder sb; if (code != "") { try { sb = new StringBuilder(); sb.Append("?grant_type=authorization_code"); sb.Append("&client_id=" + appid); sb.Append("&client_secret=" + appkey); sb.Append("&code=" + code); string uri = reurnurl + "?backurl=" + ENBackuri(back); uri = System.Web.HttpUtility.UrlEncode(uri); sb.Append("&redirect_uri=" + uri); res = PostAPI("oauth/access_token", sb.ToString()); res = res + "&"; string access_token = RegexTool.GetRegValue(res, "access_token=(.*?)&"); JavaScriptSerializer jss = new JavaScriptSerializer(); //获取uid sb = new StringBuilder(); sb.Append("?access_token=" + access_token); res = GetAPI("me", sb.ToString()); Model.Facebook.userinfo model = jss.Deserialize <Model.Facebook.userinfo>(res); string uid = model.id; //return uid; string where = "bind_facebook_id='" + uid + "'"; //if (DT_id > 0) //{ // where += " and DT_id =" + DT_id + ""; //} Shop.Model.Lebi_User user = B_Lebi_User.GetModel(where); Lebi_User CurrentUser = EX_User.CurrentUser(); if (model == null) { model = new Model.Facebook.userinfo(); } if (model.picture == null) { model.picture = new Model.Facebook.userinfo.picture_(); } if (model.picture.data == null) { model.picture.data = new Model.Facebook.userinfo.picture_.data_(); model.picture.data.url = ""; } string username = model.last_name + model.first_name; if (CurrentUser.id > 0)//已经登录 { if (IsLogin == 0) { if (user != null) { if (CurrentUser.id != user.id) { return("已绑定其它帐号"); } } } CurrentUser.bind_facebook_id = uid; CurrentUser.bind_facebook_nickname = username; CurrentUser.bind_facebook_token = access_token; if (CurrentUser.Face == "") { CurrentUser.Face = model.picture.data.url;//头像 } B_Lebi_User.Update(CurrentUser); } else { 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("会员注册已关闭"); } user = new Lebi_User(); user.bind_facebook_id = uid; user.bind_facebook_nickname = username; user.bind_facebook_token = access_token; user.Face = model.picture.data.url; user.NickName = username; user.UserName = "******" + uid; user.Password = EX_User.MD5(uid); user.Language = Language.CurrentLanguage().Code; user.Sex = model.gender == "female" ? "女" : "男"; user.UserLevel_id = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id; user.IsPlatformAccount = 1; if (CurrentSite != null) { user.Site_id = CurrentSite.id; } B_Lebi_User.Add(user); user.id = B_Lebi_User.GetMaxId(); EX_User.LoginOK(user); } else { user.bind_facebook_id = uid; user.bind_facebook_nickname = username; user.bind_facebook_token = access_token; if (user.Face == "") { user.Face = model.picture.data.url; } //user.Sex = model.gender == "female" ? "女" : "男"; B_Lebi_User.Update(user); EX_User.LoginOK(user); } } return("OK"); } catch { return("授权失败"); } } return("授权失败"); }
/// <summary> /// 导入淘宝商品数据 /// </summary> public void taobao_product_in() { if (!Power("supplier_product_datainout", "导入导出")) { AjaxNoPower(); return; } int tb_typeid = RequestTool.RequestInt("tb_typeid", 0); string tb_file = RequestTool.RequestString("tb_file"); string tb_folder = RequestTool.RequestString("tb_folder"); string fileName = HttpContext.Current.Server.MapPath(@"~/" + WebPath + tb_file); int tb_split = RequestTool.RequestInt("tb_split", 0); string tbin_lang = RequestTool.RequestString("tbin_lang"); int i = 0; if (File.Exists(fileName)) { DataTable dt = new DataTable(); char flag = '\t'; if (tb_split == 2) { flag = ','; } using (FileStream fs = new FileStream(fileName, FileMode.Open)) { using (StreamReader reader = new StreamReader(fs, Encoding.Default)) { string text = string.Empty; while (!reader.EndOfStream) { text = reader.ReadLine(); if (i == 1) { string[] arr = text.Split(flag); foreach (string col in arr) { dt.Columns.Add(col); } } else if (i > 1) { string[] arr = text.Split(flag); DataRow r = dt.NewRow(); int j = 0; foreach (string col in arr) { if (j >= dt.Columns.Count) { break; } try { r[j] = col.Replace("\"", ""); } catch { r[j] = ""; } j++; } dt.Rows.Add(r); } i++; } } } //====================================== if (!dt.Columns.Contains("outer_id")) { Response.Write("{\"msg\":\"请检查是否包含outer_id字段\"}"); return; } string number = ""; int count = 0; for (int m = 0; m < dt.Rows.Count; m++) { try { if (dt.Columns.Contains("outer_id")) { number = dt.Rows[m]["outer_id"].ToString(); } bool addflag = false; Lebi_Product pro = B_Lebi_Product.GetModel("Supplier_id =" + CurrentSupplier.id + " and Number=lbsql{'" + number + "'}"); if (pro == null) { pro = new Lebi_Product(); addflag = true; pro.Number = dt.Rows[m]["outer_id"].ToString(); pro.Type_id_ProductStatus = 101; pro.Type_id_ProductType = 320; pro.Supplier_id = CurrentSupplier.id; pro.IsSupplierTransport = CurrentSupplierGroup.IsSubmit; } pro.Pro_Type_id = tb_typeid; if (dt.Columns.Contains("title")) { pro.Name = Language.GetString(dt.Rows[m]["title"].ToString(), pro.Name, tbin_lang); } if (dt.Columns.Contains("description")) { pro.Description = Language.GetString(dt.Rows[m]["description"].ToString(), pro.Description, tbin_lang); } if (dt.Columns.Contains("wireless_desc")) { pro.MobileDescription = Language.GetString(dt.Rows[m]["wireless_desc"].ToString(), pro.MobileDescription, tbin_lang); } if (dt.Columns.Contains("price")) { if (dt.Columns.Contains("price")) { string p = dt.Rows[m]["price"].ToString(); pro.Price = Convert.ToDecimal(p); } pro.Price_Market = pro.Price; pro.Price_Cost = pro.Price; } if (dt.Columns.Contains("num")) { int Count_Stock = 0; int.TryParse(Convert.ToString(dt.Rows[m]["num"]), out Count_Stock); pro.Count_Stock = Count_Stock; } if (dt.Columns.Contains("item_weight")) { int Weight = 0; int.TryParse(Convert.ToString(dt.Rows[m]["item_weight"]), out Weight); pro.Weight = Weight; } if (dt.Columns.Contains("VolumeL")) { int VolumeL = 0; int.TryParse(Convert.ToString(dt.Rows[m]["VolumeL"]), out VolumeL); pro.VolumeL = VolumeL; } if (dt.Columns.Contains("VolumeW")) { int VolumeW = 0; int.TryParse(Convert.ToString(dt.Rows[m]["VolumeW"]), out VolumeW); pro.VolumeW = VolumeW; } if (dt.Columns.Contains("VolumeH")) { int VolumeH = 0; int.TryParse(Convert.ToString(dt.Rows[m]["VolumeH"]), out VolumeH); pro.VolumeH = VolumeH; } if (dt.Columns.Contains("PackageRate")) { int PackageRate = 1; int.TryParse(Convert.ToString(dt.Rows[m]["PackageRate"]), out PackageRate); pro.PackageRate = PackageRate; } if (addflag) { B_Lebi_Product.Add(pro); pro.id = B_Lebi_Product.GetMaxId(); } else { B_Lebi_Product.Update(pro); } if (dt.Columns.Contains("picture")) { try { string img = dt.Rows[m]["picture"].ToString(); string images = ""; if (tb_folder == "") { //1f6edf58105f3abb1ef9665129eb6c52 //1f6edf58105f3abb1ef9665129eb6c52:1:0:|http://img01.taobaocdn.com/bao/uploaded/i1/T1Oys1FgNeXXXXXXXX_!!0-item_pic.jpg; //5327022ebfe958090d3abff999c8c800:1:1:|http://img02.taobaocdn.com/bao/uploaded/i2/24197542/T2wnCFXtNXXXXXXXXX_!!24197542.jpg; //b7972e16753d746d77f2f769002268d5:1:2:|http://img01.taobaocdn.com/bao/uploaded/i1/24197542/T2n6BuXvhXXXXXXXXX_!!24197542.jpg; //06e5fd8cdb3babd4664b7b736258290a:1:3:|http://img03.taobaocdn.com/bao/uploaded/i3/24197542/T2yX1BXwhXXXXXXXXX_!!24197542.jpg; //d1a5c9c441a994310db75a83005628b7:1:4:|http://img03.taobaocdn.com/bao/uploaded/i3/24197542/T2I4XAXpJaXXXXXXXX_!!24197542.jpg; //处理图片 string[,] arr = RegexTool.GetRegArray(img, @"\|(.*?);"); for (int ai = 0; ai < arr.GetUpperBound(0); ai++) { string v = RegexTool.GetRegValue(arr[ai, 1], @"\|(.*?);"); if (v == null || v == "") { continue; } LBimage lbimg = ImageHelper.DownLoadImage(v, pro); if (ai == 0) { pro.ImageBig = lbimg.big; pro.ImageMedium = lbimg.medium; pro.ImageOriginal = lbimg.original; pro.ImageSmall = lbimg.small; } else { images += "@" + lbimg.original; } } } else { //上传文件夹导入图片的方式 img = ";" + img; string[,] arr = RegexTool.GetRegArray(img, @";(.*?):"); string ServerPath = System.Web.HttpContext.Current.Server.MapPath("~/"); for (int ai = 0; ai < arr.GetUpperBound(0); ai++) { string v = RegexTool.GetRegValue(arr[ai, 1], @";(.*?):"); if (v == null || v == "") { continue; } v = ServerPath + tb_folder + "/" + v + ".tbi"; v = v.Replace("//", "/"); LBimage lbimg = ImageHelper.CreateTaobaoImage(v, pro); if (ai == 0) { pro.ImageBig = lbimg.big; pro.ImageMedium = lbimg.medium; pro.ImageOriginal = lbimg.original; pro.ImageSmall = lbimg.small; } else { images += "@" + lbimg.original; } } } pro.Images = images; B_Lebi_Product.Update(pro); } catch { } } count++; } catch { continue; } } Log.Add("导入淘宝商品", "Product", ""); Response.Write("{\"msg\":\"OK\",\"count\":\"" + count + "\"}"); } else { Response.Write("{\"msg\":\"" + Tag("数据文件错误") + "\"}"); return; } }
/// <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> /// <param name="strIn"></param> /// <returns></returns> private string GetName(string strIn) { string str = RegexTool.GetRegValue(strIn, @"[Nn][Aa][Mm][Ee]:(.*?)\r\n"); return(str); }
/// <summary> /// 处理一个标记块 /// </summary> /// <param name="StrIn"></param> /// <returns></returns> private static string DoPart(string StrIn, string type, string webpath) { string str = StrIn; //============================================================================ str = DoCodeConvert(str, type, webpath, "");//递归调用 //============================================================================ string str_Head = ""; string str_Foot = ""; string str_B = ""; //循环第一次的字符串 string str_E = ""; //循环最后一次的字符串 bool BEFlag = false; //开始结尾特殊处理标志 string temp = ""; string Table = ""; string Order = ""; string Where = ""; string PageSize = ""; string page = ""; string model = ""; //MODEL名字 string Source = ""; string Top = ""; string Tag = ""; //============================================================================ //参数处理 //------------------------------ temp = str.Replace("\r\n", ""); //string key_ = ""; //string key = ""; //------------------------------ //SQL = GetRegValue(temp, @"\$SQL:(.*?)[\n|\$]"); //这是SQL语句读取数据的方式,由于当前分页方式、分页存储过程的限制,不能实现 Table = RegexTool.GetRegValue(temp, @"#[tT][aA][bB][lL][eE][:=](.*?)[#;]").Trim(); //参数结尾标记兼容 '换行'(\n) 和 '#',分号,空格 model = RegexTool.GetRegValue(temp, @"#[mM][oO][dD][eE][lL][:=](.*?)[#;]").Trim(); Source = RegexTool.GetRegValue(temp, @"#[Ss][Oo][Uu][Rr][Cc][Ee][:=](.*?)[#;]").Trim(); model = RegexTool.GetRegValue(temp, @"#[mM][oO][dD][eE][lL][:=](.*?)[#;]").Trim(); Tag = RegexTool.GetRegValue(temp, @"#[Tt][Aa][Gg][:=](.*?)[#;]").Trim().ToLower(); Order = RegexTool.GetRegValue(temp, @"#[oO][rR][dD][eE][rR][:=](.*?)[#;]").Trim(); Where = RegexTool.GetRegValue(temp, @"#[wW][hH][eE][rR][eE][:=](.*?)[#;]").Trim(); PageSize = RegexTool.GetRegValue(temp, @"#[pP][aA][gG][eE][sS][iI][zZ][eE][:=](.*?)[#;]").Trim(); page = RegexTool.GetRegValue(temp, @"#[pP][aA][gG][eE][iI][nN][dD][eE][xX][:=](.*?)[#;]").Trim(); Top = RegexTool.GetRegValue(temp, @"#[Tt][Oo][Pp][:=](.*?)[#;]").Trim(); if (Top != "") { PageSize = Top; page = "1"; } //------------------------------- //过滤换行 Table = RegexTool.ReplaceRegValue(Table, @"\r\n"); Order = RegexTool.ReplaceRegValue(Order, @"\r\n"); Where = RegexTool.ReplaceRegValue(Where, @"\r\n"); PageSize = RegexTool.ReplaceRegValue(PageSize, @"\r\n"); page = RegexTool.ReplaceRegValue(page, @"\r\n"); model = RegexTool.ReplaceRegValue(model, @"\r\n"); Source = RegexTool.ReplaceRegValue(Source, @"\r\n"); //------------------------------- //------------------------------- //过滤多个空格 Regex r = new Regex(@" +", RegexOptions.Singleline);//目的:防止类似“///”“////”“//////”的情况 Table = r.Replace(Table, " "); Order = r.Replace(Order, " "); Where = r.Replace(Where, " "); PageSize = r.Replace(PageSize, " "); page = r.Replace(page, " "); model = r.Replace(model, " "); //------------------------------- if (model == "" || model == "$") { model = GetRnd(4, false, true, true, false, ""); //取8个字母的随机字符串作为MODEL名字 } string RowsIndex = model + "_index"; //行号的索引 //============================================================================ str_B = RegexTool.GetRegValue(str, @"[Bb]{(.*?)}[Bb]"); str_E = RegexTool.GetRegValue(str, @"[Ee]{(.*?)}[Ee]"); //============================================================================ //过滤掉参数部分 //str = ReplaceRegValue(str, @"#.*?[\n#;]"); str = RegexTool.ReplaceRegValue(str, @"#[tT][aA][bB][lL][eE][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"#[oO][rR][dD][eE][rR][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"#[wW][hH][eE][rR][eE][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"#[pP][aA][gG][eE][sS][iI][zZ][eE][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"#[pP][aA][gG][eE][iI][nN][dD][eE][xX][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"#[mM][oO][dD][eE][lL][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"#[Ss][Oo][Uu][Rr][Cc][Ee][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"#[tT][Oo][Pp][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"#[tT][Aa][Gg][:=](.*?)[#;]"); str = RegexTool.ReplaceRegValue(str, @"[Bb]{.*?}[Bb]"); str = RegexTool.ReplaceRegValue(str, @"[Ee]{.*?}[Ee]"); //============================================================================ //自定义格式 //=================================================================================== str_Head += "<%"; if (Table != "$") { str_Head += "Table=\"" + Table + "\";"; } if (Where != "$") { str_Head += "Where=\"" + Where + "\";"; } if (Order != "" && Order != "$") { str_Head += "Order=\"" + Order + "\";"; } if (PageSize == "") { str_Head += "PageSize=20;"; } else if (PageSize == "$") { } else { str_Head += "PageSize=" + PageSize + ";"; } if (page == "") { str_Head += "pageindex=Rint(\"page\");"; } else if (PageSize == "$") { } else { str_Head += "pageindex=" + page + ";"; } str_Head += "RecordCount=B_" + Table + ".Counts(Where);"; //str_Head += temp; str_Head += "int " + RowsIndex + "=1;\r\n";//循环的行号 str_Head += "List<" + Table + "> " + model + "s = B_" + Table + ".GetList(Where, Order,PageSize ,pageindex);"; str_Head += "foreach (" + Table + " " + model + " in " + model + "s)"; str_Head += "{"; str_Head += "%>"; str_Foot += "<%"; str_Foot += RowsIndex + "++;"; str_Foot += "}"; str_Foot += "%>"; if (str_B != "" || str_E != "") { BEFlag = true; } //============================================================================ if (BEFlag) { temp = ""; if (str_B != "") { temp += "<%if(" + RowsIndex + "==1)"; temp += "{%>"; temp += ReplaceModel(str_B, model); temp += "<%}%>"; if (str_E != "") { temp += "<%else if(" + RowsIndex + "==RecordCount || " + RowsIndex + "==PageSize)"; temp += "{%>"; temp += ReplaceModel(str_E, model); temp += "<%}%>"; } temp += "<%else"; temp += "{%>"; temp += ReplaceModel(str, model); temp += "<%}%>"; } else//没有开始匹配的时候 { temp += "<%if(" + RowsIndex + "==RecordCount || " + RowsIndex + "==PageSize)"; temp += "{%>"; temp += ReplaceModel(str_E, model); temp += "<%}%>"; temp += "<%else"; temp += "{%>"; temp += ReplaceModel(str, model); temp += "<%}%>"; } str = temp; } else { str = ReplaceModel(str, model); } //============================================================================ str = str_Head + str + str_Foot; return(str); }
/// <summary> /// 执行代码替换 /// 在${...}$内 /// </summary> /// <param name="strIn"></param> /// <returns></returns> public static string DoCodeConvert(string strIn, string type, string webpath, string mediapath) { strIn = DoLayout(strIn, type, webpath, mediapath); //====================================================== string[] PartArry = RegexTool.GetSimpleRegResultArray(strIn, @"({[Mm][Oo][Dd]:.*?})"); string partTag = ""; string partConten = ""; string partPara = ""; webpath = webpath.TrimEnd('/'); Lebi_Theme_Skin partskin = new Lebi_Theme_Skin(); foreach (string partStr in PartArry) { partTag = ""; partConten = ""; partPara = ""; if (partStr.Contains("(")) { partTag = RegexTool.GetRegValue(partStr, @"{[Mm][Oo][Dd]:(.*?)\(.*?}"); partPara = RegexTool.GetRegValue(partStr, @"{[Mm][Oo][Dd]:.*?\((.*?)\)}"); } else { partTag = RegexTool.GetRegValue(partStr, @"{[Mm][Oo][Dd]:(.*?)}"); } if (partTag != "") { //模块提取优先级 //1插件中的BLOCK文件夹 //2模板中的自定义设置 //3系统块 string[] plugins = ShopCache.GetBaseConfig().PluginUsed.ToLower().Split(','); foreach (string plugin in plugins) { partConten = HtmlEngine.ReadTxt(webpath + "/plugin/" + plugin + "/systempage/" + type + "/block/" + partTag + ".html"); if (partConten == "") { partConten = HtmlEngine.ReadTxt(webpath + "/plugin/" + plugin + "/block/" + partTag + ".html"); } if (partConten != "") { break; } } if (partConten == "") { partConten = HtmlEngine.ReadTxt(ThemeUrl.GetFullPath(webpath + "/system/" + type + "/block/" + partTag + ".html")); } if (partConten == "") { partConten = HtmlEngine.ReadTxt(ThemeUrl.GetFullPath(webpath + "/system/block/" + partTag + ".html")); } if (partConten != "") { partConten = "<!--MOD_start:" + partTag + "-->\r\n" + DoCodeConvert(partConten, type, webpath, "") + "<!--MOD_end:" + partTag + "-->\r\n"; strIn = RegexTool.ReplaceRegValue(strIn, @"{[Mm][Oo][Dd]:" + partTag + ".*?}", partConten); } } } //========================================================= string str = ""; Type t = typeof(ShopPage); string temp = ""; int[,] d = IndexFlagArry(strIn);//记录开始,结尾标记的数组 if (d.Length > 0) { int begin = 0; string[,] tempArry = new string[d.GetUpperBound(0) + 1, 2];//用于存放一个外层标记的临时数组 for (int i = 0; i < d.GetUpperBound(0); i++) { temp += RegexTool.GetSubString(strIn, begin, d[i, 0]) + "$$$" + i + "$$$";//挑选非标记部组合,将标记部分替换为$$$0$$$,$$$1$$$形式 begin = d[i, 1] + 2; tempArry[i, 0] = "$$$" + i + "$$$"; tempArry[i, 1] = RegexTool.GetSubString(strIn, d[i, 0] + 2, d[i, 1]);//截取不包含开始,结尾标记的块 } temp += RegexTool.GetSubString(strIn, begin, strIn.Length); str = temp;//str已经替除了全部的标记块 for (int i = 0; i < tempArry.GetUpperBound(0); i++) { temp = DoPart(tempArry[i, 1], type, webpath); str = str.Replace("$$$" + i + "$$$", temp); } } return(str); }
/// <summary> /// 载入布局文件 /// </summary> /// <param name="strIn"></param> /// <param name="theme"></param> /// <returns></returns> public static string DoLayout(string strIn, string type, string webpath, string mediapath) { string layout = RegexTool.GetRegValue(strIn, @"{[Ll][Aa][Yy][Oo][Uu][Tt]:(.*?)}"); string cs = RegexTool.GetRegValue(strIn, @"({[Cc][Ll][Aa][Ss][Ss]:.*?})"); if (layout == "") { return(cs + strIn); } string layoutpath = ""; string layoutContent = ""; if (mediapath != "") { layoutpath = webpath + mediapath + "/layout/" + layout + ".layout"; layoutpath = ThemeUrl.GetFullPath(layoutpath); layoutContent = HtmlEngine.ReadTxt(layoutpath); } if (layoutContent == "") { layoutpath = webpath + "/theme/system/systempage/" + type + "/layout/" + layout + ".layout"; layoutpath = ThemeUrl.GetFullPath(layoutpath); layoutContent = HtmlEngine.ReadTxt(layoutpath); } if (layoutContent == "") { layoutpath = webpath + "/theme/system/layout/" + layout + ".layout"; layoutpath = ThemeUrl.GetFullPath(layoutpath); layoutContent = HtmlEngine.ReadTxt(layoutpath); } if (layoutContent == "") { return(""); } string[] holderArray = RegexTool.GetSimpleRegResultArray(layoutContent, @"({[Hh][Oo][Ll][Dd][Ee][Rr]:.*?})"); foreach (string holder in holderArray) { string tag = RegexTool.GetRegValue(holder, @"{[Hh][Oo][Ll][Dd][Ee][Rr]:(.*?)}"); string regtag = ""; foreach (char t in tag) { regtag += "[" + t.ToString().ToUpper() + t.ToString().ToLower() + "]"; } string holdercontent = RegexTool.GetRegValue(strIn, @"<" + regtag + ">(.*?)</" + regtag + ">"); layoutContent = RegexTool.ReplaceRegValue(layoutContent, @"{[Hh][Oo][Ll][Dd][Ee][Rr]:" + tag + ".*?}", holdercontent); } //载入重写模块 string[] rewriteArray = RegexTool.GetSimpleRegResultArray(strIn, @"({[Rr][Ee][Ww][Rr][Ii][Tt][Ee]:.*?})"); foreach (string rewrite in rewriteArray) { string tag = RegexTool.GetRegValue(rewrite, @"{[Rr][Ee][Ww][Rr][Ii][Tt][Ee]:(.*?)}"); string from = ""; string to = ""; from = tag.Substring(0, tag.IndexOf(" ")); to = tag.Substring(tag.IndexOf(" ") + 1, tag.Length - from.Length - 1); string regfrom = ""; string regto = ""; foreach (char t in from) { regfrom += "[" + t.ToString().ToUpper() + t.ToString().ToLower() + "]"; } foreach (char t in to) { regto += "[" + t.ToString().ToUpper() + t.ToString().ToLower() + "]"; } string holdercontent = RegexTool.GetRegValue(strIn, @"<" + regto + ">(.*?)</" + regto + ">"); if (holdercontent == "") { holdercontent = "{MOD:" + to + "}"; } layoutContent = RegexTool.ReplaceRegValue(layoutContent, @"{[Mm][Oo][Dd]:" + regfrom + "}", holdercontent); } layoutContent = cs + layoutContent; return(layoutContent); }
/// <summary> /// 生成后台的单个文件 /// </summary> /// <param name="Path">生成文件名已经路径</param> /// <param name="Content"></param> /// <param name="WebPath"></param> /// <returns></returns> public static void CreatAdminAspx(string Path, string Content, string type, string mediapath) { if (Content == "") { return; } string FileName = ""; BaseConfig bf = ShopCache.GetBaseConfig(); string WebPath = Site.Instance.WebPath; string serverpath = ""; if (System.Web.HttpContext.Current == null) { serverpath = System.Web.HttpRuntime.AppDomainAppPath; } else { serverpath = System.Web.HttpContext.Current.Server.MapPath(@"~/"); } try { Path = ThemeUrl.GetFullPath(Path); FileName = ThemeUrl.GetFileName(Path); Path = ThemeUrl.GetPath(Path); string PhysicsPath = serverpath + Path; if (!Directory.Exists(PhysicsPath)) { Directory.CreateDirectory(PhysicsPath); } string PhysicsFileName = serverpath + Path + FileName; if (System.IO.File.Exists(PhysicsFileName)) { System.IO.File.Delete(PhysicsFileName); } Content = DoCodeConvert(Content, type, WebPath, mediapath); //============================================================= //处理特殊页面引用 string cs = RegexTool.GetRegValue(Content, @"{[Cc][Ll][Aa][Ss][Ss]:(.*?)}"); if (cs != "") { string pagehead = "<%@ Page Language=\"C#\" AutoEventWireup=\"true\" Inherits=\"" + cs + "\" validateRequest=\"false\"%>"; Content = RegexTool.ReplaceRegValue(Content, @"<%@ Page .*? %>", ""); Content = pagehead + Content; //if (type == "supplier") // Content = Content.Replace("Shop.Bussiness.SupplierPageBase", cs); //else // Content = Content.Replace("Shop.Bussiness.AdminPageBase", cs); } //处理资源路径 string Path_JS = WebPath + "/system/systempage/" + type + "/js"; string Path_Image = WebPath + "/system/systempage/" + type + "/images"; string Path_CSS = WebPath + "/system/systempage/" + type + "/css"; Path_JS = RegexTool.ReplaceRegValue(Path_JS, @"//*/", "/"); Path_Image = RegexTool.ReplaceRegValue(Path_Image, @"//*/", "/"); Path_CSS = RegexTool.ReplaceRegValue(Path_CSS, @"//*/", "/"); Content = RegexTool.ReplaceRegValue(Content, @"{/[Jj][Ss]}", Path_JS); Content = RegexTool.ReplaceRegValue(Content, @"{/[Cc][Ss][Ss]}", Path_CSS); Content = RegexTool.ReplaceRegValue(Content, @"{/[Ii][Mm][Aa][Gg][eE]}", Path_Image); Content = RegexTool.ReplaceRegValue(Content, @"<!--.*?-->", ""); Content = RegexTool.ReplaceRegValue(Content, @"{[Cc][Ll][Aa][Ss][Ss]:.*?}", ""); HtmlEngine.Instance.WriteFile(PhysicsFileName, Content); } catch (Exception ex) { } }
/// <summary> /// 提取限制页面 /// </summary> /// <param name="strIn"></param> /// <returns></returns> private string GetPage(string strIn) { string str = RegexTool.GetRegValue(strIn, @"[Pp][Aa][Gg][Ee]:(.*?)\r\n"); return(str); }
public string Login(string back, int IsLogin = 1) { string code = RequestTool.RequestString("code"); string res = ""; StringBuilder sb; if (code != "") { sb = new StringBuilder(); sb.Append("?grant_type=authorization_code"); sb.Append("&client_id=" + appid); sb.Append("&client_secret=" + appkey); sb.Append("&code=" + code); sb.Append("&redirect_uri=" + reurnurl); //res = APIURL("oauth/access_token", sb.ToString()); res = PostAPI("oauth/access_token", sb.ToString()); //access_token= //CAAGUzrOw7 //AMBADkwUNj //HkI9FwLPHD //fUamZCSBH1 //NbSFsKVVjF //D2QfmP0aXT //FtMTY8e8d5 //yse93demVg //YwCfEWXApj //ZAsGqt3ugg //YiHSmFQeN2 //EOwFindWuw //R9QHiTlAwr //kmuTmr1Qs4 //mwtSAZC15m //wTpLWvZCaj //OkVC1zlTZB //B5gjRZBmCm //C2j&expires=5183999 //HttpContext.Current.Response.Redirect(res); res = res + "&"; string access_token = RegexTool.GetRegValue(res, "access_token=(.*?)&"); JavaScriptSerializer jss = new JavaScriptSerializer(); //获取uid sb = new StringBuilder(); sb.Append("?access_token=" + access_token); res = GetAPI("me", sb.ToString()); Model.Facebook.userinfo model = jss.Deserialize <Model.Facebook.userinfo>(res); string uid = model.id; //return uid; Lebi_User user = B_Lebi_User.GetModel("bind_facebook_id='" + uid + "'"); if (model == null) { model = new Model.Facebook.userinfo(); } if (model.picture == null) { model.picture = new Model.Facebook.userinfo.picture_(); } if (model.picture.data == null) { model.picture.data = new Model.Facebook.userinfo.picture_.data_(); model.picture.data.url = ""; } string username = model.last_name + model.first_name; 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("会员注册已关闭"); } user = new Lebi_User(); user.bind_facebook_id = uid; user.bind_facebook_nickname = username; user.bind_facebook_token = access_token; user.Face = model.picture.data.url; user.UserName = username; user.Password = EX_User.MD5(uid); user.Language = Language.CurrentLanguage().Code; user.Sex = model.gender == "female" ? "女" : "男"; user.UserLevel_id = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id; user.IsPlatformAccount = 1; if (CurrentSite != null) { user.Site_id = CurrentSite.id; } user.DT_id = DT_id; B_Lebi_User.Add(user); user.id = B_Lebi_User.GetMaxId(); EX_User.LoginOK(user); } else { user.bind_facebook_id = uid; user.bind_facebook_nickname = username; user.bind_facebook_token = access_token; user.Face = model.picture.data.url; user.Sex = model.gender == "female" ? "女" : "男"; user.UserName = username; user.DT_id = DT_id; B_Lebi_User.Update(user); EX_User.LoginOK(user); } return("OK"); } return("授权失败"); }