Ejemplo n.º 1
0
        /// <summary>
        ///  自定义菜单创建接口
        /// </summary>
        /// <remarks>
        /// <![CDATA[https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013]]>
        /// </remarks>
        public async Task <JsonResultModel> CreateAsync(CreateMenuRequesetModel model)
        {
            if (model == null || model.Button == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            string url = $"{ServerHostConfig.DefaultApiHost}/cgi-bin/menu/create?access_token={_api.Token?.AccessToken}";

            return((await HttpService.PostAsync <JsonResultModel>(url, model)).Data);
        }
Ejemplo n.º 2
0
        public async Task MenuAPi_TestAsync()
        {
            var menuCreate = new CreateMenuRequesetModel();

            menuCreate.Button = new List <MenuButtonModel>();
            menuCreate.Button.Add(new MenuButtonModel()
            {
                Name = "今日歌曲",
                Type = MenuButtonType.Click,
                Key  = "001",
            });

            menuCreate.Button.Add(new MenuButtonModel()
            {
                Name       = "菜单",
                Sub_Button = new List <MenuButtonModel>()
                {
                    new MenuButtonModel()
                    {
                        Name = "搜索",
                        Type = MenuButtonType.View,
                        Url  = "http://www.soso.com/"
                    },

                    new MenuButtonModel()
                    {
                        Name = "赞一下我们",
                        Type = MenuButtonType.Click,
                        Key  = "V1001_GOOD"
                    }
                },
            });

            var result1 = await MpApi.MenuApi.CreateAsync(menuCreate);

            Assert.True(result1.ErrorCode == 0);

            var result2 = await MpApi.MenuApi.GetAsync();

            Assert.True(result2.ErrorCode == 0 && result2.Menu?.Button?.Count > 0);

            var result3 = await MpApi.MenuApi.DeleteAsync();

            Assert.True(result3.ErrorCode == 0);
        }