示例#1
0
        public void TestMenuButtons()
        {
            WXMenuDefine menu = new WXMenuDefine()
            {
                Buttons = new List <MenuItem>()
                {
                    new MenuClickButton()
                    {
                        Name = "今日歌曲", Key = "V1001_TODAY_MUSIC"
                    },
                    new MenuContainer()
                    {
                        Name = "菜单", SubButtons = new List <MenuItem>()
                        {
                            new MenuViewButton()
                            {
                                Name = "搜索", Url = "http://www.soso.com/"
                            },
                            new MenuMiniProgramButton()
                            {
                                Name = "wxa", Url = "http://mp.weixin.qq.com", AppId = "wx286b93c14bbf93aa", PagePath = "pages/lunar/index"
                            },
                            new MenuContainer()
                            {
                                Name       = "二级菜单",
                                SubButtons = new List <MenuItem>()
                                {
                                    new MenuViewButton()
                                    {
                                        Name = "view", Url = "testurl"
                                    }
                                }
                            }
                        }
                    }
                }
            };

            JsonHelper jsonHelper = new JsonHelper();

            var json = jsonHelper.ToJson(menu);

            WXMenuDefine m = jsonHelper.ToObject <WXMenuDefine>(json);

            Assert.Equal(2, m.Buttons.Count);
            Assert.IsType <MenuClickButton>(menu.Buttons[0]);
            Assert.IsType <MenuContainer>(menu.Buttons[1]);
            Assert.IsType <MenuViewButton>((menu.Buttons[1] as MenuContainer).SubButtons[0]);

            Assert.Equal("wx286b93c14bbf93aa", ((menu.Buttons[1] as MenuContainer).SubButtons[1] as MenuMiniProgramButton).AppId);
            Assert.IsType <MenuViewButton>(((menu.Buttons[1] as MenuContainer).SubButtons[2] as MenuContainer).SubButtons[0]);
        }
示例#2
0
 /// <summary>
 /// 创建个性化菜单
 /// </summary>
 /// <param name="menu"></param>
 /// <returns></returns>
 public async Task <WXConditionalMenuResponse> CreateConditionMenu(WXMenuDefine menu)
 {
     return(await _client.PostAsync <WXConditionalMenuResponse>("cgi-bin/menu/addconditional", menu));
 }
示例#3
0
 /// <summary>
 /// 创建自定义菜单
 /// </summary>
 /// <param name="menu"></param>
 /// <returns></returns>
 public async Task <WXResponse> CreateMenu(WXMenuDefine menu)
 {
     return(await _client.PostAsync <WXResponse>("cgi-bin/menu/create", menu));
 }