/// <summary> /// H5页面 /// </summary> public ActionResult HFive(string routerMainLinkDiscription, string linkUrl, string linkId, string noLinkId, int linkKind) { ViewBag.linkId = linkId; ViewBag.noLinkId = noLinkId; ViewBag.linkKind = linkKind; var valid = false; //标志是否解析 var routerManager = new RouterManager(); var content = routerManager.GetMainLink(routerMainLinkDiscription, linkKind).Content; var list = new List <string>(); if (linkUrl != "") { var array = linkUrl.Split('?'); if (content == array[0]) { valid = true; } if (linkKind == 1 && valid) { try { ViewBag.paraArray = array[1]; //paraArray 是参数以&分隔的字符串 var arrayLatter = array[1].Split('&'); var url = arrayLatter[0].Split('='); ViewBag.url = url[1]; if (arrayLatter.Length >= 2) { var title = arrayLatter[1].Split('='); if (title[0] == "title") { ViewBag.Pagetitle = title[1]; for (var i = 2; i < arrayLatter.Length; i++) { list.Add(arrayLatter[i]); } } else { for (var i = 1; i < arrayLatter.Length; i++) { list.Add(arrayLatter[i]); } } } } catch (Exception) { // ignored } } if (linkKind == 2 && valid) { var arrayLatter = array[1].Split('&'); var hash = arrayLatter[0].Split('='); ViewBag.hash = hash[1]; } } if (valid) { return(View(routerManager.GetParameterStateList(routerMainLinkDiscription, list, linkKind))); //进入解析页面 } return(View(routerManager.GetParameterList(routerMainLinkDiscription, linkKind))); //进入空白页面 }
/// <summary> /// 保养页面 /// </summary> public ActionResult Maintenance(string routerMainLinkDiscription, string linkUrl, string linkId, string noLinkId, int linkKind) { ViewBag.linkId = linkId; ViewBag.noLinkId = noLinkId; ViewBag.linkKind = linkKind; var valid = false; //标志是否解析 var routerManager = new RouterManager(); var content = routerManager.GetMainLink(routerMainLinkDiscription, linkKind).Content; var list = new List <string>(); var type = ""; string[] aid; var aId = ""; if (linkKind == 1) { type = "type"; aId = "aid"; } if (linkKind == 2) { type = "baoyangtypes"; aId = "actid"; } if (linkUrl != "") { //解析格式APP/maintenance? type=xxx;xxx;xxx&aid=xxx&produceIds=xx,xx&productActivityId=xx&IsTuhuRecommend=x //小程序 /pages/keep_list2/keep_list2?baoyangtypes=xxx&actid=xxxx try { var array = linkUrl.Split('?'); var arrayLatter = array[1].Split('&'); ViewBag.paraArray = array[1]; //paraArray 是参数以&分隔的字符串 var typeString = arrayLatter[0].Split('='); ViewBag.typeArray = typeString[1]; //typeArray 是种类以;分隔的字符串 if (typeString[0] == type && array[0] == content) { valid = true; } if (arrayLatter.Length >= 2) { aid = arrayLatter[1].Split('='); if (aid[0] == aId) { ViewBag.aid = aid[1]; for (var i = 2; i < arrayLatter.Length; i++) { list.Add(arrayLatter[i]); } } else { for (var i = 1; i < arrayLatter.Length; i++) { list.Add(arrayLatter[i]); } } } } catch (Exception) { // ignored } } if (valid) { return(View(routerManager.GetParameterStateList(routerMainLinkDiscription, list, linkKind))); //进入解析页面 } return(View(routerManager.GetParameterList(routerMainLinkDiscription, linkKind))); //进入空白页面 }
/// <summary> /// 商品详情页面 /// </summary> public ActionResult ProductDetail(string routerMainLinkDiscription, string linkUrl, string linkId, string noLinkId, int linkKind) { ViewBag.linkId = linkId; ViewBag.noLinkId = noLinkId; ViewBag.linkKind = linkKind; var routerManager = new RouterManager(); if (linkUrl == "" && linkUrl.IndexOf("pid=", StringComparison.Ordinal) > 0) { return(View(routerManager.GetParameterList(routerMainLinkDiscription, linkKind))); } var array = linkUrl.Split('?'); var list = new List <string>(); var validState = true; var pId = ""; var vId = ""; var aId = ""; if (linkKind == 1) //APP前缀判断 { switch (array[0]) { case "/tire/item": ViewBag.state = 1; break; case "/wheelRim/item": ViewBag.state = 2; break; case "/accessory/item": ViewBag.state = 3; break; default: validState = false; //若主链接不符合则不进入下面的判断 break; } pId = "pid"; vId = "vid"; aId = "aid"; } else if (linkKind == 2) //小程序前缀判断 { switch (array[0]) { case "/pages/tireDetail/tireDetail": ViewBag.state = 1; break; case "/pages/hubs/detail": ViewBag.state = 2; break; case "/pages/chepin/detail": ViewBag.state = 3; break; default: validState = false; //若主链接不符合则不进入下面的判断 break; } pId = "productid"; vId = "variantid"; aId = "vid"; } if (validState) { try { ViewBag.paraArray = array[1]; //paraArray 是参数以&分隔的字符串 var arrayLatter = array[1].Split('&'); var pid = arrayLatter[0].Split('='); if (arrayLatter.Length == 1 && pid[0] == pId) //?pid=xxx的格式 { ViewBag.pid = pid[1]; ViewBag.pName = GetProductNameByIdString(pid[1]); for (var i = 2; i < arrayLatter.Length; i++) { list.Add(arrayLatter[i]); } } else if (arrayLatter.Length >= 2 && pid[0] == pId) { var vid = arrayLatter[1].Split('='); if (vid[0] == vId) //?pid=xxx|x&vid=xxx的格式 { ViewBag.pid = pid[1] + "|" + vid[1]; ViewBag.pName = GetProductNameByIdString(pid[1] + "|" + vid[1]); if (arrayLatter.Length >= 3) { var aid = arrayLatter[2].Split('='); if (aid[0] == aId) { ViewBag.aid = aid[1]; //?pid=xxx|x&vid=xxx&aid=xx的格式 } } for (var i = 3; i < arrayLatter.Length; i++) { list.Add(arrayLatter[i]); } } else if (vid[0] == aId) //?pid=xxx&aid=xx的格式 { ViewBag.aid = vid[1]; ViewBag.pid = pid[1]; ViewBag.pName = GetProductNameByIdString(pid[1]); for (var i = 2; i < arrayLatter.Length; i++) { list.Add(arrayLatter[i]); } } else//?pid=xxx&...&...的格式 { ViewBag.pid = pid[1]; ViewBag.pName = GetProductNameByIdString(pid[1]); for (var i = 2; i < arrayLatter.Length; i++) { list.Add(arrayLatter[i]); } } } } catch (Exception) { // ignored } } return(View(routerManager.GetParameterStateList(routerMainLinkDiscription, list, linkKind))); }