你的位置:首页 > ASP.net教程

[ASP.net教程]微信公众平台开发学习系列(一):公众平台测试号申请与自定义菜单创建


最近总有一些任务和微信的功能有联系,所以我开始去尝试如何开发一个微信公众平台。为了方便测试和使用各种功能,我使用的是公众平台测试号。

首先登陆微信公众平台官网,

点击进入后,会提供一个appID和aapsecret,这两个最为重要。在往下是接口配置信息

因为URL是需要微信验证的,所以此处要开始写代码了。

新建项目后,安装微信公众平台sdk:

代码如下:

public ActionResult Get(string signature, string timestamp, string nonce, string echostr)

        {

            if (CheckSignature.Check(signature, timestamp, nonce, token))

            {

                return Content(echostr); //返回随机字符串则表示验证通过

            }

            else

            {

                return Content("failed:" + signature + "," + CheckSignature.GetSignature(timestamp, nonce, token) + "。如果您在浏览器中看到这条信息,表明此Url可以填入微信后台。");

            }

        }

发布到网站后,再点击接口配置信息保存即可验证通过。接下来将自己的网站域名填入JS接口安全域名。

到此微信方的配置基本结束,接下来开始创建自定义菜单

代码如下:

public ActionResult CreateMenu()

        {

            var token = CommonApi.GetToken(appId, secret);

            //初始化

            GetMenuResultFull resultFull = new GetMenuResultFull();

            MenuFull_ButtonGroup menu = new MenuFull_ButtonGroup();

            menu.button = new List<MenuFull_RootButton>();

            menu.button.Add(new MenuFull_RootButton() { key = "1", name = "一级菜单", type = ButtonType.click.ToString() ,url="http://www.baidu.com"});

            menu.button.Add(new MenuFull_RootButton() { key = "2", name = "一级菜单", type = ButtonType.click.ToString(), url = "2" });

            var subButton = new MenuFull_RootButton()

            {

                key="3",

                name = "二级菜单",

                type=ButtonType.click.ToString(),

                url="3"

            };

            subButton.sub_button = new List<MenuFull_RootButton>();

            subButton.sub_button.Add(new MenuFull_RootButton()

            {

                key = "3-1",

                name = "我要录音",

                type = ButtonType.click.ToString(),

                url = "3"

            });

            subButton.sub_button.Add(new MenuFull_RootButton()

            {

                key = "3-2",

                name = "我要点歌",

                type = ButtonType.click.ToString(),

               // url = "3"

            });

            menu.button.Add(subButton);

            resultFull.menu = menu;

            var bg = CommonApi.GetMenuFromJsonResult(resultFull,new ButtonGroup()).menu;

            var result = CommonApi.CreateMenu(token.access_token, bg);

            return Content(result.errmsg);

        }

MenuFull_RootButton类里除了url字段外其他字段均是必填字段

直接运行项目,跳转到http://localhost:****/Home/CreateMenu地址。

理想状态下是返回ok,然后用微信扫描测试号二维码,即可看到效果。具体菜单有几个一级菜单,几个二级菜单,可以根据实际修改代码。