コード例 #1
0
        /// <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)));                //进入空白页面
        }
コード例 #2
0
        /// <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)));                //进入空白页面
        }
コード例 #3
0
        /// <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)));
        }