Beispiel #1
0
        public bool GetCreateJson(ref string str)
        {
            var 所有菜单     = _cms.GetCustomMenuList(CurrentMerchants.ID);
            var 微信零级菜单   = new Wechat_Level0Menu();
            var 微信一级菜单列表 = new List <Wechat_Level1Menu>();

            //var i = 1;
            //var path = "D:/menulog.txt";
            //File.AppendAllText(path, "\r\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + " ");

            foreach (var 一级菜单 in 所有菜单.Where(cm => cm.Depth == 1).OrderBy(cm => cm.OrderNum))
            {
                var 二级菜单集合 = 所有菜单.Where(cm => cm.ParentID == 一级菜单.ID).OrderBy(cm => cm.OrderNum);
                if (二级菜单集合.Count() > 0)
                {
                    var 微信一级菜单 = new Wechat_Level1Menu_hasChild();
                    微信一级菜单.name = 一级菜单.Name;
                    var 微信二级菜单集合 = new List <Wechat_Level2Menu>();

                    foreach (var 二级菜单 in 二级菜单集合)
                    {
                        if (!二级菜单.Type.HasValue)
                        {
                            str = string.Format("{0}-{1}没有配置响应动作。", 一级菜单.Name, 二级菜单.Name);
                            return(false);//
                        }
                        else if (二级菜单.Type == 4 && !string.IsNullOrEmpty(二级菜单.Content))
                        {
                            var      wechat_Level2Menu = new Wechat_Level2Menu_miniprogram();
                            string[] arrTemp           = 二级菜单.Content.Split(',');
                            wechat_Level2Menu.name     = 二级菜单.Name;
                            wechat_Level2Menu.appid    = arrTemp[0];
                            wechat_Level2Menu.pagepath = arrTemp[1];
                            wechat_Level2Menu.url      = arrTemp[2];
                            微信二级菜单集合.Add(wechat_Level2Menu);
                        }
                        else if (二级菜单.Type == 7 && string.IsNullOrEmpty(二级菜单.Media_ID)) //多客服
                        {
                            var wechat_Level2Menu = new Wechat_Level2Menu_click();
                            wechat_Level2Menu.name = 二级菜单.Name;
                            wechat_Level2Menu.key  = "dkf";
                            微信二级菜单集合.Add(wechat_Level2Menu);
                        }
                        else if (二级菜单.Type != 3 && string.IsNullOrEmpty(二级菜单.Media_ID)) //不是外链
                        {
                            var wechat_Level2Menu = new Wechat_Level2Menu_click();
                            wechat_Level2Menu.name = 二级菜单.Name;
                            wechat_Level2Menu.key  = 二级菜单.ID.ToString();
                            微信二级菜单集合.Add(wechat_Level2Menu);
                        }
                        else if (二级菜单.Type == 1 && !string.IsNullOrEmpty(二级菜单.Media_ID))
                        {
                            var wechat_Level2Menu = new Wechat_Level2Menu_click();
                            wechat_Level2Menu.name     = 二级菜单.Name;
                            wechat_Level2Menu.type     = "media_id";
                            wechat_Level2Menu.media_id = 二级菜单.Media_ID;
                            微信二级菜单集合.Add(wechat_Level2Menu);
                        }
                        else
                        {
                            var wechat_Level2Menu = new Wechat_Level2Menu_view();
                            wechat_Level2Menu.name = 二级菜单.Name;
                            wechat_Level2Menu.type = "view";
                            wechat_Level2Menu.url  = 二级菜单.Url;

                            if (二级菜单.Url.Contains(ConfigurationManager.AppSettings["ServerIP"]))
                            {
                                if (二级菜单.Url.Contains("?"))
                                {
                                    二级菜单.Url = 二级菜单.Url + "&ToUserName="******"?ToUserName="******"https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect",
                                                                      GetAppid(), 二级菜单.Url);
                                ;
                            }
                            微信二级菜单集合.Add(wechat_Level2Menu);
                        }
                        //File.AppendAllText(path, i++.ToString() + ",");
                    }
                    微信一级菜单.sub_button = 微信二级菜单集合.ToArray();
                    微信一级菜单列表.Add(微信一级菜单);
                    //File.AppendAllText(
                }
                else
                {
                    if (!一级菜单.Type.HasValue)
                    {
                        str = string.Format("{0}没有配置响应动作。", 一级菜单.Name);
                        return(false);
                    }
                    else if (一级菜单.Type == 4 && string.IsNullOrEmpty(一级菜单.Content)) //小程序
                    {
                        var      微信一级菜单  = new Wechat_Level1Menu_noChild_miniprogram();
                        string[] arrTemp = 一级菜单.Content.Split(',');
                        微信一级菜单.name     = 一级菜单.Name;
                        微信一级菜单.type     = "miniprogram";
                        微信一级菜单.appid    = arrTemp[0];
                        微信一级菜单.pagepath = arrTemp[1];
                        微信一级菜单.url      = arrTemp[2];
                        微信一级菜单列表.Add(微信一级菜单);
                    }
                    else if (一级菜单.Type == 1 && !string.IsNullOrEmpty(一级菜单.Media_ID))
                    {
                        var 微信一级菜单 = new Wechat_Level1Menu_noChild_view();
                        微信一级菜单.name     = 一级菜单.Name;
                        微信一级菜单.type     = "media_id";
                        微信一级菜单.media_id = 一级菜单.Media_ID;
                        微信一级菜单列表.Add(微信一级菜单);
                    }

                    else if (一级菜单.Type == 7 && string.IsNullOrEmpty(一级菜单.Media_ID)) //多客服
                    {
                        var 微信一级菜单 = new Wechat_Level1Menu_noChild_click();
                        微信一级菜单.name = 一级菜单.Name;
                        微信一级菜单.key  = "dkf";
                        微信一级菜单列表.Add(微信一级菜单);
                    }
                    else if (一级菜单.Type != 3 && string.IsNullOrEmpty(一级菜单.Media_ID)) //不是外链
                    {
                        var 微信一级菜单 = new Wechat_Level1Menu_noChild_click();
                        微信一级菜单.name = 一级菜单.Name;
                        微信一级菜单.key  = 一级菜单.ID.ToString();
                        微信一级菜单列表.Add(微信一级菜单);
                    }
                    else
                    {
                        var 微信一级菜单 = new Wechat_Level1Menu_noChild_view();
                        微信一级菜单.name = 一级菜单.Name;
                        微信一级菜单.type = "view";
                        微信一级菜单.url  = 一级菜单.Url;
                        微信一级菜单列表.Add(微信一级菜单);
                    }
                }
            }
            微信零级菜单.button = 微信一级菜单列表.ToArray();
            str           = JsonConvert.SerializeObject(微信零级菜单);
            return(true);
        }