Exemplo n.º 1
0
        /// <summary>
        /// 获取微信菜单
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string QueryWeixinMenu(HttpContext context)
        {
            List <WeixinMenu> list;

            list = bllWeixin.GetList <WeixinMenu>(string.Format("UserID='{0}'", currentUserInfo.UserID));
            list = list.OrderBy(p => p.MenuSort).ToList();
            List <WeixinMenu> showList = new List <WeixinMenu>();

            MySpider.MyCategories m = new MySpider.MyCategories();

            foreach (ListItem item in m.GetCateListItem(m.GetCommCateModelList <WeixinMenu>("MenuID", "PreID", "NodeName", list), 0))
            {
                try
                {
                    WeixinMenu tmpModel = list.Where(p => p.MenuID.ToString().Equals(item.Value)).ToList()[0];
                    tmpModel.NodeName = item.Text;
                    showList.Add(tmpModel);
                }
                catch { }
            }

            int totalCount = showList.Count;

            return(Common.JSONHelper.ObjectToJson(
                       new
            {
                total = totalCount,
                rows = showList
            }));
        }
Exemplo n.º 2
0
        public async Task CreateMenuAsyncTest()
        {
            var menu     = WeixinMenu.Create();
            var menuItem = new MenuItem("会员事务");

            menuItem.AddMenuItem(new ViewButton(Client.MakeOAuth("http://weixin.ecard.chihank.com//test", WeiXinOAuthType.Base, "123"), "修改基础资料"));
            menuItem.AddMenuItem(new ViewButton("http://weixin.3ecard.net", "修改交易密码"));
            menuItem.AddMenuItem(new ViewButton("http://weixin.3ecard.net", "加盟商户"));
            menu.AddMenuItem(menuItem);

            menuItem = new MenuItem("会员交易");
            menuItem.AddMenuItem(new ViewButton("http://weixin.3ecard.net", "实时交易"));
            menuItem.AddMenuItem(new ViewButton("http://weixin.3ecard.net", "交易记录"));
            menu.AddMenuItem(menuItem);
            await Client.UpdateMenuAsync(menu);
        }
Exemplo n.º 3
0
        public async Task MenuTest()
        {
            MPClient client = MakeMPClient();

            var menuItem = new MenuItem("text");

            menuItem.AddMenuItem(new MenuButton("test1", "text"));
            menuItem.AddMenuItem(new MenuButton("test1", "text"));
            menuItem.AddMenuItem(new MediaButton("JdW_0g3R89AYK57-MXDpN83i_RngLTz_spquCwFY45E", "media1"));


            var menu = WeixinMenu.Create();

            menu.AddMenuItem(menuItem);
            await client.UpdateMenuAsync(menu);
        }
Exemplo n.º 4
0
        public void AddMenuItemTest()
        {
            var menu = WeixinMenu.Create();

            menu.AddMenuItem(new MenuButton("test1", "text"));
            menu.AddMenuItem(new MenuButton("test1", "text"));
            menu.AddMenuItem(new MenuButton("test1", "text"));
            try
            {
                menu.AddMenuItem(new MenuButton("test1", "text"));
                Assert.Fail("the max items count in root menu is 3");
            }
            catch (Exception)
            {
            }
            Assert.AreEqual(3, menu.Items.Count());
        }
Exemplo n.º 5
0
        private string EditWeixinMenu(HttpContext context)
        {
            string jsonData = context.Request["JsonData"];

            WeixinMenu menuInfo = ZentCloud.Common.JSONHelper.JsonToModel <WeixinMenu>(jsonData);

            WeixinMenu oldMenuInfo = bllWeixin.Get <WeixinMenu>(string.Format("MenuID={0} And UserID='{1}'", menuInfo.MenuID, currentUserInfo.UserID));

            if (menuInfo.PreID == 0)//上级是顶级菜单
            {
                if (bllWeixin.GetCount <WeixinMenu>(string.Format("UserID='{0}'and PreID=0", currentUserInfo.UserID)) >= 3 && (oldMenuInfo.PreID != 0) && (oldMenuInfo.PreID != menuInfo.PreID))
                {
                    return("一级菜单最多只能设置3个");
                }
            }
            else
            {
                var topMenu = bllWeixin.Get <WeixinMenu>(string.Format("MenuID='{0}'", menuInfo.PreID));
                if (topMenu != null)
                {
                    if (topMenu.PreID != 0)
                    {
                        return("只能设置二级菜单");
                    }
                }

                if (bllWeixin.GetCount <WeixinMenu>(string.Format("UserID='{0}'and PreID='{1}'", currentUserInfo.UserID, menuInfo.PreID)) >= 5 && (oldMenuInfo.PreID != menuInfo.PreID))
                {
                    return("最多可以设置5个二级菜单");
                }

                WeixinMenu lastSecondMenu = bllWeixin.Get <WeixinMenu>(string.Format("PreID='{0}' order by MenuSort DESC", menuInfo.PreID));
                if (lastSecondMenu != null)
                {
                    menuInfo.MenuSort = oldMenuInfo.MenuSort;
                }
                else
                {
                    menuInfo.MenuSort = 1;
                }
            }

            bool result = bllWeixin.Update(menuInfo);

            return(result.ToString().ToLower());
        }
Exemplo n.º 6
0
        public void ProcessRequest(HttpContext context)
        {
            // 调用接口获取access_token
            var accessToken = WeixinUtil.GetAccessToken(AppId, AppSecret);

            if (null == accessToken || null == accessToken.Access_token || string.IsNullOrEmpty(accessToken.Access_token)) return;

            // 调用接口创建菜单
            var weixinMenu = new WeixinMenu();
            var menu = weixinMenu.GetMenu();
            var result = weixinMenu.CreateMenu(menu, accessToken.Access_token);

            // 判断菜单创建结果
            if (0 == result)
            {
                Logger.Write(new LogEntity { Title = "菜单创建", Content = "菜单创建成功", Sevenrity = Sevenrity.Info });
                Logger.ShutDown();
            }
            else
            {
                Logger.Write(new LogEntity { Title = "菜单创建", Content = "菜单创建失败", Sevenrity = Sevenrity.Info });
                Logger.ShutDown();
            }
        }
Exemplo n.º 7
0
        public void ProcessRequest(HttpContext context)
        {
            //获取access_token
            string access_Token = WechatCommon.IsExistAccess_Token();

            if (!string.IsNullOrEmpty(access_Token) && access_Token != "error")
            {
                #region  除原菜单
                string url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/delete?access_token={0}", access_Token);
                //HTTP get 请求
                WebRequestPostOrGet(url, "");
                #endregion


                #region 创建菜单
                url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}", access_Token);
                List <Menu> menus = new List <Menu>();

                List <WechatMenuInfo> topMenuList = WechatMenuBLL.ReadRootList();
                //subbuttons.Clear();
                foreach (var topmenu in topMenuList)
                {
                    List <SubButton> subbuttons = new List <SubButton>();
                    foreach (var submenu in WechatMenuBLL.ReadChildList(topmenu.Id))
                    {
                        //if (submenu.Type == "click")
                        //{
                        //    subbuttons.Add(new SubButton { name = submenu.Name, type = submenu.Type, key = submenu.Key });
                        //}
                        //else
                        //{
                        subbuttons.Add(new SubButton {
                            name = submenu.Name, type = submenu.Type, url = submenu.Url, key = submenu.Key
                        });
                        //}
                    }
                    //if (subbuttons.Count > 0)
                    //{//如果有二级菜单
                    //    menus.Add(new Menu { name = topmenu.Name, sub_button = subbuttons.ToArray<Button>() });
                    //}
                    //else
                    //{
                    menus.Add(new Menu {
                        name = topmenu.Name, type = topmenu.Type, key = topmenu.Key, url = topmenu.Url, sub_button = subbuttons.ToArray <Button>()
                    });
                    //}
                }
                #region
                //           menus.Add(
                //               new Menu()
                //               {
                //                   name = "微商城",
                //                   sub_button = new SubButton[]
                //       {
                //           new SubButton()
                //           {
                //               name = "首页",
                //               url = "http://dzwz18.ncms5.hnjing.net/mobile",
                //               type = "view"
                //           },
                //           new SubButton()
                //           {
                //               name = "分类",
                //               url = "http://dzwz18.ncms5.hnjing.net/Mobile/ProductClass.html",
                //               type = "view"
                //           }
                //       }
                //               });
                //           menus.Add(
                //                new Menu()
                //                {
                //                    name = "个人中心",
                //                    sub_button = new SubButton[]
                //       {
                //           new SubButton()
                //           {
                //               name = "登录",
                //               url = "http://dzwz18.ncms5.hnjing.net/Mobile/User/login.html",
                //               type = "view"
                //           },
                //           new SubButton()
                //           {
                //               name = "注册",
                //               url = "http://dzwz18.ncms5.hnjing.net/Mobile/User/Register.html",
                //               type = "view"
                //           },
                //           new SubButton()
                //           {
                //               name = "我的竞网",
                //               url = "http://dzwz18.ncms5.hnjing.net/Mobile/User/index.html",
                //               type = "view"
                //           }
                //       }
                //                });
                //           menus.Add(
                //new Menu()
                //{
                //    name = "用户服务",
                //    sub_button = new SubButton[]
                //       {
                //           new SubButton()
                //           {
                //               name = "购物车",
                //               url = "http://dzwz18.ncms5.hnjing.net/Mobile/cart.html",
                //               type = "view"
                //           },
                //           new SubButton()
                //           {
                //               name = "找回密码",
                //               url = "http://dzwz18.ncms5.hnjing.net/Mobile/User/FindPasswordInit.html",
                //               type = "view"
                //           },
                //            new SubButton()
                //           {
                //               name = "男装搜索",
                //              key="男装",
                //               type = "click"
                //           }
                //       }
                //});
                #endregion

                WeixinMenu weixinMenu = new WeixinMenu()
                {
                    button = menus
                };

                //参数
                string param = JsonConvert.SerializeObject(weixinMenu);
                byte[] bs    = Encoding.UTF8.GetBytes(param);                    //参数转化为ascii码

                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); //创建request

                req.Method = "POST";                                             //确定传值的方式,此处为post方式传值

                req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";

                req.ContentLength = bs.Length;

                using (Stream reqStream = req.GetRequestStream())
                {
                    reqStream.Write(bs, 0, bs.Length);
                }
                string responseString = string.Empty;
                using (HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse())
                {
                    StreamReader sr = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
                    responseString = sr.ReadToEnd();
                }
                ReturnMsg msg = JsonConvert.DeserializeObject <ReturnMsg>(responseString);
                if (msg.errcode != "0")
                {
                    //context.Response.Write("系统忙,请稍后重试");
                    context.Response.Write("error|" + msg.errcode + ":" + msg.errmsg);
                    context.Response.End();
                }
                else
                {
                    context.Response.Write("ok|自定义菜单成功");
                    context.Response.End();
                }
                #endregion
            }
        }
Exemplo n.º 8
0
    /// <summary>
    /// 接受请求的网站是UTF-8编码,Http Post请求参数也需要用UTF-8编码
    /// HttpUtility.UrlEncode(merId, myEncoding)
    /// </summary>
    /// <param name="url">访问地址,不带参数</param>
    /// <param name="para">参数字符串</param>
    /// <returns></returns>
    public static string HtmlFromUrl(string url, string type, string aid)
    {
        String sResult = "";

        try
        {
            List <Button>   menus   = new List <Button>();
            List <WEC_MENU> listObj = new List <WEC_MENU>();
            WEC_MENU        conf    = new WEC_MENU();
            conf.PID = "0";
            conf.AID = Convert.ToDecimal(aid
                                         );
            listObj = BLLTable <WEC_MENU> .Select(new WEC_MENU(), conf);

            foreach (WEC_MENU me in listObj)
            {
                if (me.STATUS == 1)
                {
                    continue;
                }
                Menu m = new Menu();
                m.name   = me.MENU_NAME;
                conf.PID = me.ID;
                List <WEC_MENU> listObj2 = new List <WEC_MENU>();
                listObj2 = BLLTable <WEC_MENU> .Select(new WEC_MENU(), conf);

                foreach (WEC_MENU me2 in listObj2)
                {
                    if (me2.STATUS == 1)
                    {
                        continue;
                    }
                    SubButton sub_btn = new SubButton();

                    sub_btn.type = me2.MENU_TYPE;
                    sub_btn.name = me2.MENU_NAME;
                    if (me2.MENU_TYPE.Equals("click"))
                    {
                        WEC_REQUEST conf2 = new WEC_REQUEST();
                        conf2.TID   = Convert.ToDecimal(me2.MENU_KEY);
                        sub_btn.key = BLLTable <WEC_REQUEST> .GetRowData(new WEC_REQUEST(), conf2).KEYWORD;

                        sub_btn.url = "";
                    }
                    else if (me2.MENU_TYPE.Equals("view"))
                    {
                        sub_btn.key = "";
                        sub_btn.url = me2.URL;
                    }
                    m.sub_button.Add(sub_btn);
                }
                if (m.sub_button.Count == 0)
                {
                    SubButton sub = new SubButton();
                    sub.name = me.MENU_NAME;
                    // sub.key = me.MENU_KEY;
                    sub.type = me.MENU_TYPE;
                    // sub.url = me.URL;
                    if (me.MENU_TYPE.Equals("click"))
                    {
                        WEC_REQUEST conf2 = new WEC_REQUEST();
                        conf2.TID = Convert.ToDecimal(me.MENU_KEY);
                        sub.key   = BLLTable <WEC_REQUEST> .GetRowData(new WEC_REQUEST(), conf2).KEYWORD;

                        sub.url = "";
                    }
                    else if (me.MENU_TYPE.Equals("view"))
                    {
                        sub.key = "";
                        sub.url = me.URL;
                    }
                    menus.Add(sub);
                }
                else
                {
                    menus.Add(m);
                }
            }
            //menus.Add(
            //    new Menu()
            //    {
            //        name = "求职招聘",
            //        sub_button = new SubButton[]
            //            {
            //                new SubButton()
            //                {
            //                    name = "求职",
            //                    key = "menu_qiuzhi",
            //                    type = "click"
            //                },
            //                new SubButton()
            //                {
            //                    name = "招聘",
            //                    key = "menu_zhaopin",
            //                    type = "click"
            //                }
            //            }
            //    });

            WeixinMenu weixinMenu = new WeixinMenu()
            {
                button = menus
            };
            JavaScriptSerializer jss = new JavaScriptSerializer();
            string menusString       = jss.Serialize(weixinMenu);
            //  byte[] postBytes = Encoding.UTF8.GetBytes(menusString);
            //    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            //    request.Method = "POST";
            //    request.ContentType = "application/x-www-form-urlencoded";
            //    request.ContentLength = postBytes.Length;
            //    using (Stream reqStream = request.GetRequestStream())
            //    {
            //        reqStream.Write(postBytes, 0, postBytes.Length);
            //    }
            //    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            //    System.IO.Stream responseStream = response.GetResponseStream();
            //    System.IO.StreamReader sr = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
            //    string responseText = sr.ReadToEnd();
            //    sr.Close();
            //    sr.Dispose();
            //    responseStream.Close();
            //    string jsonData = responseText;
            //    //MenuResult menuResult = jss.Deserialize<MenuResult>(jsonData);
            //    //return url + "\n" + menuResult.Errcode + "\n" + menuResult.Errmsg;
            //    return url;
            //ASCIIEncoding encoding = new ASCIIEncoding();

            return(httpForm(menusString, url, type));
        }
        catch (Exception e)
        {
            sResult = e.Message;
            return(sResult);
        }
    }
Exemplo n.º 9
0
        /// <summary>
        /// 菜单排序
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string MoveMenu(HttpContext context)
        {
            int        menuID     = int.Parse(context.Request["MenuID"]);                            //步骤ID
            string     direction  = context.Request["Direction"];                                    //移动方向 up:上 down: 下
            WeixinMenu targetMenu = bllWeixin.Get <WeixinMenu>(string.Format("MenuID={0}", menuID)); //要移动的菜单
            int        index      = 0;                                                               //菜单所在同级的顺序

            #region 移动一级菜单

            if (targetMenu.PreID.ToString().Equals("0"))                                                                                              //移动的是一级菜单
            {
                List <WeixinMenu> firstLevelMenu = bllWeixin.GetList <WeixinMenu>(string.Format("UserID='{0}' and PreID=0", currentUserInfo.UserID)); //一级菜单
                firstLevelMenu = firstLevelMenu.OrderBy(p => p.MenuSort).ToList();


                //修改menusort
                for (int i = 0; i < firstLevelMenu.Count; i++)
                {
                    if (firstLevelMenu[i].MenuID == targetMenu.MenuID)
                    {
                        index = i;
                        break;
                    }
                }
                int tagetMenuSort = (int)firstLevelMenu[index].MenuSort;
                if (direction.Equals("up")) //一级菜单上移
                {
                    if (index == 0)         //一级菜单已经最靠前
                    {
                        return("选中菜单已经排最前");
                    }
                    else//一级菜单不是最靠前
                    {
                        //交换排序
                        int preMenuSort = (int)firstLevelMenu[index - 1].MenuSort;//上一条一级菜单排序
                        firstLevelMenu[index].MenuSort     = preMenuSort;
                        firstLevelMenu[index - 1].MenuSort = tagetMenuSort;
                        if (bllWeixin.Update(firstLevelMenu[index]) && bllWeixin.Update(firstLevelMenu[index - 1]))
                        {
                            return("true");
                        }
                        else
                        {
                            return("操作失败");
                        }
                    }
                }
                else//一级菜单下移
                {
                    if (firstLevelMenu[firstLevelMenu.Count - 1].MenuID == targetMenu.MenuID)//一级菜单已经最靠后
                    {
                        return("选中菜单已经排最后");
                    }
                    else//一级菜单不是最靠后
                    {
                        //交换排序

                        int nextMenuSort = (int)firstLevelMenu[index + 1].MenuSort;//下一条一级菜单排序

                        firstLevelMenu[index].MenuSort     = nextMenuSort;
                        firstLevelMenu[index + 1].MenuSort = tagetMenuSort;
                        if (bllWeixin.Update(firstLevelMenu[index]) && bllWeixin.Update(firstLevelMenu[index + 1]))
                        {
                            return("true");
                        }
                        else
                        {
                            return("操作失败");
                        }
                    }
                }
            }
            #endregion

            #region 移动二级菜单
            else//移动的是二级菜单
            {
                List <WeixinMenu> secondLevelMenu = bllWeixin.GetList <WeixinMenu>(string.Format("UserID='{0}' and PreID={1}", currentUserInfo.UserID, targetMenu.PreID));//二级菜单
                secondLevelMenu = secondLevelMenu.OrderBy(p => p.MenuSort).ToList();

                //修改menusort
                for (int i = 0; i < secondLevelMenu.Count; i++)
                {
                    if (secondLevelMenu[i].MenuID == targetMenu.MenuID)
                    {
                        index = i;
                        break;
                    }
                }
                int tagetMenuSort = (int)secondLevelMenu[index].MenuSort;
                if (direction.Equals("up")) //二级菜单上移
                {
                    if (index == 0)         //二级菜单已经最靠前
                    {
                        return("选中菜单已经排最前");
                    }
                    else//二级菜单不是最靠前
                    {
                        //交换排序
                        int preMenuSort = (int)secondLevelMenu[index - 1].MenuSort;//上一条二级菜单排序
                        secondLevelMenu[index].MenuSort     = preMenuSort;
                        secondLevelMenu[index - 1].MenuSort = tagetMenuSort;
                        if (bllWeixin.Update(secondLevelMenu[index]) && bllWeixin.Update(secondLevelMenu[index - 1]))
                        {
                            return("true");
                        }
                        else
                        {
                            return("操作失败");
                        }
                    }
                }
                else//二级菜单下移
                {
                    if (secondLevelMenu[secondLevelMenu.Count - 1].MenuID == targetMenu.MenuID)//一级菜单已经最靠后
                    {
                        return("选中菜单已经排最后");
                    }
                    else//二级菜单不是最靠后
                    {
                        //交换排序

                        int nextMenuSort = (int)secondLevelMenu[index + 1].MenuSort;//下一条二级菜单排序

                        secondLevelMenu[index].MenuSort     = nextMenuSort;
                        secondLevelMenu[index + 1].MenuSort = tagetMenuSort;
                        if (bllWeixin.Update(secondLevelMenu[index]) && bllWeixin.Update(secondLevelMenu[index + 1]))
                        {
                            return("true");
                        }
                        else
                        {
                            return("操作失败");
                        }
                    }
                }
            }
            #endregion
        }
Exemplo n.º 10
0
        /// <summary>
        /// 添加微信自定义菜单
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string AddWeixinMenu(HttpContext context)
        {
            string     jsonData = context.Request["JsonData"];
            WeixinMenu menuInfo = ZentCloud.Common.JSONHelper.JsonToModel <WeixinMenu>(jsonData);

            if (menuInfo.PreID == 0)//添加的是一级菜单
            {
                if (bllWeixin.GetCount <WeixinMenu>(string.Format("UserID='{0}'and PreID=0", currentUserInfo.UserID)) >= 3)
                {
                    return("最多可以添加3个一级菜单");
                }
            }
            else//添加是二级菜单
            {
                //var parentmenu = weixinBll.Get<WeixinMenu>(string.Format("MenuID='{0}'",menuInfo.PreID));
                var topMenu = bllWeixin.Get <WeixinMenu>(string.Format("MenuID='{0}'", menuInfo.PreID));
                if (topMenu != null)
                {
                    if (topMenu.PreID != 0)
                    {
                        return("只能添加二级菜单");
                    }
                }

                if (bllWeixin.GetCount <WeixinMenu>(string.Format("UserID='{0}'and PreID='{1}'", currentUserInfo.UserID, menuInfo.PreID)) >= 5)
                {
                    return("最多可以添加5个二级菜单");
                }
            }

            if (menuInfo.PreID == 0)//添加一级菜单
            {
                List <WeixinMenu> firstLevelMenu = bllWeixin.GetList <WeixinMenu>(string.Format("UserID='{0}' And PreID=0", currentUserInfo.UserID)).OrderBy(p => p.MenuSort).ToList();
                if (firstLevelMenu.Count == 0)
                {
                    menuInfo.MenuSort = 1;
                }
                else
                {
                    menuInfo.MenuSort = firstLevelMenu[firstLevelMenu.Count - 1].MenuSort + 1;
                }
            }
            else//添加二级菜单
            {
                List <WeixinMenu> secondLevelMenu = bllWeixin.GetList <WeixinMenu>(string.Format("UserID='{0}' And PreID={1}", currentUserInfo.UserID, menuInfo.PreID)).OrderBy(p => p.MenuSort).ToList();
                if (secondLevelMenu.Count == 0)
                {
                    menuInfo.MenuSort = 1;
                }
                else
                {
                    menuInfo.MenuSort = secondLevelMenu[secondLevelMenu.Count - 1].MenuSort + 1;
                }
            }

            menuInfo.MenuID = long.Parse(bllWeixin.GetGUID(ZentCloud.BLLJIMP.TransacType.WeixinMenuAdd));
            menuInfo.UserID = currentUserInfo.UserID;
            bool result = bllWeixin.Add(menuInfo);

            return(result.ToString().ToLower());
        }
Exemplo n.º 11
0
    /// <summary>
    /// 接受请求的网站是UTF-8编码,Http Post请求参数也需要用UTF-8编码
    /// HttpUtility.UrlEncode(merId, myEncoding)
    /// </summary>
    /// <param name="url">访问地址,不带参数</param>
    /// <param name="para">参数字符串</param>
    /// <returns></returns>
    public static string HtmlFromUrl(string url, string type, string aid)
    {
        String sResult = "";
        try
        {
            List<Button> menus = new List<Button>();
            List<WEC_MENU> listObj = new List<WEC_MENU>();
            WEC_MENU conf = new WEC_MENU();
            conf.PID = "0";
            conf.AID = Convert.ToDecimal(aid
        );
            listObj = BLLTable<WEC_MENU>.Select(new WEC_MENU(), conf);
            foreach (WEC_MENU me in listObj)
            {
                if (me.STATUS == 1) { continue; }
                Menu m = new Menu();
                m.name = me.MENU_NAME;
                conf.PID = me.ID;
                List<WEC_MENU> listObj2 = new List<WEC_MENU>();
                listObj2 = BLLTable<WEC_MENU>.Select(new WEC_MENU(), conf);
                foreach (WEC_MENU me2 in listObj2)
                {
                    if (me2.STATUS == 1) { continue; }
                    SubButton sub_btn = new SubButton();

                    sub_btn.type = me2.MENU_TYPE;
                    sub_btn.name = me2.MENU_NAME;
                    if (me2.MENU_TYPE.Equals("click"))
                    {
                        WEC_REQUEST conf2 = new WEC_REQUEST();
                        conf2.TID = Convert.ToDecimal(me2.MENU_KEY);
                        sub_btn.key = BLLTable<WEC_REQUEST>.GetRowData(new WEC_REQUEST(),conf2).KEYWORD;
                        sub_btn.url = "";
                    }
                    else if (me2.MENU_TYPE.Equals("view"))
                    {
                        sub_btn.key = "";
                        sub_btn.url = me2.URL;
                    }
                    m.sub_button.Add(sub_btn);
                }
                if (m.sub_button.Count == 0)
                {
                    SubButton sub = new SubButton();
                    sub.name = me.MENU_NAME;
                   // sub.key = me.MENU_KEY;
                    sub.type = me.MENU_TYPE;
                   // sub.url = me.URL;
                    if (me.MENU_TYPE.Equals("click"))
                    {
                        WEC_REQUEST conf2 = new WEC_REQUEST();
                        conf2.TID = Convert.ToDecimal(me.MENU_KEY);
                        sub.key = BLLTable<WEC_REQUEST>.GetRowData(new WEC_REQUEST(), conf2).KEYWORD;
                        sub.url = "";
                    }
                    else if (me.MENU_TYPE.Equals("view"))
                    {
                        sub.key = "";
                        sub.url = me.URL;
                    }
                    menus.Add(sub);
                }
                else
                {
                    menus.Add(m);
                }

            }
            //menus.Add(
            //    new Menu()
            //    {
            //        name = "求职招聘",
            //        sub_button = new SubButton[]
            //            {
            //                new SubButton()
            //                {
            //                    name = "求职",
            //                    key = "menu_qiuzhi",
            //                    type = "click"
            //                },
            //                new SubButton()
            //                {
            //                    name = "招聘",
            //                    key = "menu_zhaopin",
            //                    type = "click"
            //                }
            //            }
            //    });

            WeixinMenu weixinMenu = new WeixinMenu() { button = menus };
            JavaScriptSerializer jss = new JavaScriptSerializer();
            string menusString = jss.Serialize(weixinMenu);
            //  byte[] postBytes = Encoding.UTF8.GetBytes(menusString);
            //    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            //    request.Method = "POST";
            //    request.ContentType = "application/x-www-form-urlencoded";
            //    request.ContentLength = postBytes.Length;
            //    using (Stream reqStream = request.GetRequestStream())
            //    {
            //        reqStream.Write(postBytes, 0, postBytes.Length);
            //    }
            //    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            //    System.IO.Stream responseStream = response.GetResponseStream();
            //    System.IO.StreamReader sr = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
            //    string responseText = sr.ReadToEnd();
            //    sr.Close();
            //    sr.Dispose();
            //    responseStream.Close();
            //    string jsonData = responseText;
            //    //MenuResult menuResult = jss.Deserialize<MenuResult>(jsonData);
            //    //return url + "\n" + menuResult.Errcode + "\n" + menuResult.Errmsg;
            //    return url;
            //ASCIIEncoding encoding = new ASCIIEncoding();

            return httpForm(menusString,url,type);

        }
        catch (Exception e)
        {
            sResult = e.Message;
            return sResult;

        }
    }