Exemplo n.º 1
0
        private List <MenuJson> GenerateMenuInfo(string rolePermission, DataTable dtMenu)
        {
            List <MenuJson> list = new List <MenuJson>();

            foreach (DataRow row in dtMenu.Rows)
            {
                int menuType = int.Parse(row["MenuType"].ToString());
                if (menuType != 0)
                {
                    continue;
                }

                MenuJson menu = new MenuJson();
                menu.id       = int.Parse(row["Id"].ToString());
                menu.text     = row["MenuText"].ToString();
                menu.Url      = row["Url"].ToString();
                menu.MenuType = menuType;
                menu.ParentId = int.Parse(row["ParentId"].ToString());
                menu.IsEnable = Convert.ToBoolean(row["IsEnable"]);

                GenerateChildren(menu, dtMenu, rolePermission.Split(','));

                list.Add(menu);
            }

            return(list);
        }
Exemplo n.º 2
0
        //
        // GET: /Test/
        public ActionResult Index()
        {
            MenuInfo menu  = new MenuInfo("开始训练", MenuInfo.ButtonType.view, "http://wx.zzd123.com/wechat/Calendar");
            MenuInfo menu2 = new MenuInfo("免费体验", new MenuInfo[] {
                new MenuInfo("免费行为测评", MenuInfo.ButtonType.view, "http://wx.zzd123.com/Free/FreeScale"),
                new MenuInfo("免费心理服务", MenuInfo.ButtonType.view, "http://wx.zzd123.com/Free/FreeHeartList")
            });
            //  MenuInfo menu2 = new MenuInfo("行为测评", MenuInfo.ButtonType.view, "http://www.sina.com");
            //MenuInfo relatedInfo = new MenuInfo("相关链接", new MenuInfo[] {
            //    new MenuInfo("公司介绍", MenuInfo.ButtonType.click, "Event_Company"),
            //    new MenuInfo("官方网站", MenuInfo.ButtonType.view, "http://www.iqidi.com"),
            //    new MenuInfo("提点建议", MenuInfo.ButtonType.click, "Event_Suggestion"),
            //    new MenuInfo("联系客服", MenuInfo.ButtonType.click, "Event_Contact"),
            //    new MenuInfo("发邮件", MenuInfo.ButtonType.view, "http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=S31yfX15fn8LOjplKCQm")
            //});

            MenuJson menujson = new MenuJson();

            menujson.button.AddRange(new MenuInfo[] { menu, menu2 });

            string token = AccessTokenService.GetAccessToken();

            string postData = JsonConvert.SerializeObject(menujson);

            ViewBag.x = WechatService.wechatApi("CreateMenu", token, postData);


            return(View());
        }
Exemplo n.º 3
0
        public ErrJson CreateMenu(string accessToken, MenuJson menuJson)
        {
            var    url      = string.Format("https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}", accessToken);
            string postData = menuJson.ToJson();

            return(GetWeiXinResultHelper.GetExecuteResult(url, postData));
        }
Exemplo n.º 4
0
        protected void GetBtn_Click(object sender, EventArgs e)
        {
            IMenuApi menuapi = new MenuApi();
            MenuJson MJ      = menuapi.GetMenu(token);

            lblMsg.Text = MJ.ToJson();
        }
Exemplo n.º 5
0
        public static MenuJson GetMenuJson()
        {
            MenuInfo BeneficialInfo = new MenuInfo("惠民服务", new MenuInfo[] {
                new MenuInfo("办理生育服务证", ButtonType.CLICK, "birth"),
                new MenuInfo("流动人口婚育证明", ButtonType.CLICK, "marriage"),
                new MenuInfo("办理各类计生证明", ButtonType.CLICK, "planning"),
                new MenuInfo("奖励/扶助", ButtonType.CLICK, "aids"),
                new MenuInfo("其他计生服务", ButtonType.VIEW, "http://spjs.chinacloudsites.cn/static/OtherPlanning.html")
            });

            MenuInfo PolicyInfo = new MenuInfo("政策宣传", new MenuInfo[] {
                new MenuInfo("单独两孩政策", ButtonType.CLICK, "oneTwo"),
                new MenuInfo("农村合作医疗", ButtonType.CLICK, "cooperative"),
                new MenuInfo("奖励/扶助", ButtonType.CLICK, "reward"),
                new MenuInfo("政策法规", ButtonType.CLICK, "law")
            });

            MenuInfo NotificationInfo = new MenuInfo("关注我们", new MenuInfo[] {
                new MenuInfo("通知通告", ButtonType.CLICK, "activity"),
                new MenuInfo("电话咨询服务", ButtonType.CLICK, "phone"),
                new MenuInfo("在线咨询服务", ButtonType.CLICK, "online"),
                new MenuInfo("特色工作", ButtonType.CLICK, "characteristic"),
                new MenuInfo("保健卫生知识", ButtonType.CLICK, "health")
            });

            MenuJson MJ = new MenuJson();

            MJ.button.AddRange(new MenuInfo[] { BeneficialInfo, PolicyInfo, NotificationInfo });

            return(MJ);
        }
Exemplo n.º 6
0
        protected void CreateBtn_Click(object sender, EventArgs e)
        {
            IMenuApi menuapi = new MenuApi();
            MenuJson MJ      = DealWithMenu.GetMenuJson();
            ErrJson  EJ      = menuapi.CreateMenu(token, MJ);

            lblMsg.Text = EJ.errcode + ":" + EJ.errmsg;
        }
Exemplo n.º 7
0
        private void btnGetMenuJson_Click(object sender, EventArgs e)
        {
            IMenuApi menuBLL = new MenuApi();
            MenuJson menu    = menuBLL.GetMenu(token);

            if (menu != null)
            {
                Console.WriteLine(menu.ToJson());
            }
        }
Exemplo n.º 8
0
        private void GenerateChildren(MenuJson menuInfo, DataTable dtMenu, string[] permission)
        {
            foreach (DataRow row in dtMenu.Rows)
            {
                int menuType = int.Parse(row["MenuType"].ToString());
                int parentId = int.Parse(row["ParentId"].ToString());

                if (menuInfo.id != parentId)
                {
                    continue;
                }

                MenuJson menu = new MenuJson();
                menu.id       = int.Parse(row["Id"].ToString());
                menu.text     = row["MenuText"].ToString();
                menu.Url      = row["Url"].ToString();
                menu.MenuType = menuType;
                menu.iconCls  = "tree-file";
                menu.ParentId = parentId;
                menu.IsEnable = Convert.ToBoolean(row["IsEnable"]);

                // 获取出所有的权限
                Hashtable htCondition = new Hashtable();
                htCondition.Add("MenuId", menu.id);
                var dbm = DataBaseFactory.Instance.Create();

                var dtPerm = dbm.GetDataTable("*", "Sys_Permission", htCondition, "Id");
                foreach (DataRow permissionRow in dtPerm.Rows)
                {
                    PermissionJson permissionJson = new PermissionJson();
                    permissionJson.id          = int.Parse(permissionRow["Id"].ToString());
                    permissionJson.Code        = permissionRow["Code"].ToString();
                    permissionJson.MenuId      = int.Parse(permissionRow["MenuId"].ToString());
                    permissionJson.text        = permissionRow["Text"].ToString();
                    permissionJson.Description = permissionRow["Description"].ToString();
                    permissionJson.iconCls     = "icon-man";
                    // TODO 张春雨 - 权限菜单 - 获取真实用户权限
                    permissionJson.Checked = permission.Contains(permissionRow["Code"].ToString());

                    if (menu.children == null)
                    {
                        menu.children = new List <BaseTreeItemJson>();
                    }
                    menu.children.Add(permissionJson);
                }

                if (menuInfo.children == null)
                {
                    menuInfo.children = new List <BaseTreeItemJson>();
                }
                menuInfo.children.Add(menu);

                GenerateChildren(menu, dtMenu, permission);
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// 获取菜单数据
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <returns></returns>
        public static MenuJson GetMenu(string accessToken)
        {
            MenuJson menu = null;

            var          url  = string.Format("https://api.weixin.qq.com/cgi-bin/menu/get?access_token={0}", accessToken);
            MenuListJson list = JsonHelper.ConvertJson <MenuListJson>(url);

            if (list != null)
            {
                menu = list.menu;
            }
            return(menu);
        }
Exemplo n.º 10
0
        public ActionResult CreateMenuold()
        {
            MenuInfo menu  = new MenuInfo("开始训练", MenuInfo.ButtonType.view, "http://wx.zzd123.com/wechat/Calendar");
            MenuInfo menu2 = new MenuInfo("免费体验", new MenuInfo[] {
                new MenuInfo("免费行为测评", MenuInfo.ButtonType.view, "http://wx.zzd123.com/Free/FreeScale"),
                new MenuInfo("免费心理服务", MenuInfo.ButtonType.view, "http://wx.zzd123.com/Free/FreeHeartList")
            });
            MenuJson menujson = new MenuJson();

            menujson.button.AddRange(new MenuInfo[] { menu, menu2 });

            string token = AccessTokenService.GetAccessToken();

            string postData = JsonConvert.SerializeObject(menujson);

            ViewBag.x = WechatService.wechatApi("CreateMenu", token, postData);


            return(View());
        }
Exemplo n.º 11
0
        private void FetchMenu(List <Menu> allMenus, Menu menu, List <long> userMenus, List <MenuJson> showMenus, Func <List <long>, Menu, bool> filter)
        {
            if (!filter(userMenus, menu))
            {
                return;
            }
            var menuJson = new MenuJson(menu);

            showMenus.Add(menuJson);
            var children = allMenus.Where(a => a.ParentId == menu.Id).OrderBy(a => a.ByOrder).ToList();

            if (children.Count > 0)
            {
                menuJson.children = new List <MenuJson>();
                foreach (var cMenu in children)
                {
                    FetchMenu(allMenus, cMenu, userMenus, menuJson.children, filter);
                }
            }
        }
Exemplo n.º 12
0
        /*For Controller****************************************************************************/

        public void UpdateMenuRecursive(MenuJson parent)
        {
            int internalOrder = 0;

            foreach (var item in parent.children)
            {
                BaseMenu menu = db.BaseMenus.Find(item.id);
                if (menu != null)
                {
                    menu.noOrder = internalOrder;
                    menu.menuID  = parent.id;
                    internalOrder++;
                    db.SaveChanges();
                    if (item.children != null)
                    {
                        UpdateMenuRecursive(item);
                    }
                }
            }
        }
Exemplo n.º 13
0
        // GET: Menu
        public ActionResult CreateDefault()
        {
            MenuInfo productInfo = new MenuInfo("软件产品", new MenuInfo[] {
                new MenuInfo("移动办公平台", MenuInfo.ButtonType.click, "patient"),
                new MenuInfo("安全审核办公平台", MenuInfo.ButtonType.click, "aqscgl")
            });

            MenuInfo frameworkInfo = new MenuInfo("框架产品", new MenuInfo[] {
                new MenuInfo("Web开发框架", MenuInfo.ButtonType.click, "web"),
                new MenuInfo("代码生成工具", MenuInfo.ButtonType.click, "database2sharp")
            });

            MenuInfo relatedInfo = new MenuInfo("相关链接", new MenuInfo[] {
                new MenuInfo("公司介绍", MenuInfo.ButtonType.click, "Event_Company"),
                new MenuInfo("官方网站", MenuInfo.ButtonType.view, "http://www.bjdflld.com/wx"),
                //new MenuInfo("官方网站", ButtonType.click, "http://www.bjdflld.com"),
                new MenuInfo("提点建议", MenuInfo.ButtonType.click, "Event_Suggestion"),
                new MenuInfo("联系客服", MenuInfo.ButtonType.click, "Event_Contact"),
                //new MenuInfo("发邮件", ButtonType.view, "http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=S31yfX15fn8LOjplKCQm")
                new MenuInfo("发邮件", MenuInfo.ButtonType.click, "Event_Mail")
            });

            MenuJson menuJson = new MenuJson();

            menuJson.button.AddRange(new MenuInfo[] { productInfo, frameworkInfo, relatedInfo });

            var auth = WXInterface.GetAccessToken(Config.AppID, Config.AppSecret);

            if (WXInterface.DeleteMenu(auth.access_token).Success)
            {
                var ret = WXInterface.CreateMenu(auth.access_token, menuJson);
                if (!ret.Success)
                {
                    return(Content("创建微信公众号菜单失败!\n" + ret.ErrorMessage));
                }
            }

            return(View());
        }
Exemplo n.º 14
0
        private void btnCreateMenu_Click(object sender, EventArgs e)
        {
            MenuInfo productInfo = new MenuInfo("软件产品", new MenuInfo[] {
                new MenuInfo("病人资料管理系统", ButtonType.click, "patient"),
                new MenuInfo("客户关系管理系统", ButtonType.click, "crm"),
                new MenuInfo("酒店管理系统", ButtonType.click, "hotel"),
                new MenuInfo("送水管理系统", ButtonType.click, "water")
            });

            MenuInfo frameworkInfo = new MenuInfo("框架产品", new MenuInfo[] {
                new MenuInfo("Win开发框架", ButtonType.click, "win"),
                new MenuInfo("WCF开发框架", ButtonType.click, "wcf"),
                new MenuInfo("混合式框架", ButtonType.click, "mix"),
                new MenuInfo("Web开发框架", ButtonType.click, "web"),
                new MenuInfo("代码生成工具", ButtonType.click, "database2sharp")
            });

            MenuInfo relatedInfo = new MenuInfo("相关链接", new MenuInfo[] {
                new MenuInfo("公司介绍", ButtonType.click, "Event_Company"),
                new MenuInfo("官方网站", ButtonType.view, "http://www.iqidi.com"),
                new MenuInfo("提点建议", ButtonType.click, "Event_Suggestion"),
                new MenuInfo("联系客服", ButtonType.click, "Event_Contact"),
                new MenuInfo("发邮件", ButtonType.view, "http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=S31yfX15fn8LOjplKCQm")
            });

            MenuJson menuJson = new MenuJson();

            menuJson.button.AddRange(new MenuInfo[] { productInfo, frameworkInfo, relatedInfo });

            //Console.WriteLine(menuJson.ToJson());

            //if (MessageUtil.ShowYesNoAndWarning("您确认要创建菜单吗") == System.Windows.Forms.DialogResult.Yes)
            //{
            //    IMenuApi menuBLL = new MenuApi();
            //    CommonResult result = menuBLL.CreateMenu(token, menuJson);
            //    Console.WriteLine("创建菜单:" + (result.Success ? "成功" : "失败:" + result.ErrorMessage));
            //}
        }
Exemplo n.º 15
0
        /// <summary>
        /// 创建菜单
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="menuJson">菜单对象</param>
        /// <returns></returns>
        public static CommonResult CreateMenu(string accessToken, MenuJson menuJson)
        {
            string postData = menuJson.ToJsonString();

            return(CreateMenu(accessToken, postData));
        }
Exemplo n.º 16
0
 public void GetMenuReference(ref MenuJson json)
 {
     json = menuJson;
 }