最近总有一些任务和微信的功能有联系,所以我开始去尝试如何开发一个微信公众平台。为了方便测试和使用各种功能,我使用的是公众平台测试号。
首先登陆微信公众平台官网,
点击进入后,会提供一个appID和aapsecret,这两个最为重要。在往下是接口配置信息
因为URL是需要微信验证的,所以此处要开始写代码了。
新建项目后,安装微信公众平台sdk:
代码如下:
1 [HttpGet] 2 public ActionResult Get(PostModel postModel, string echostr) 3 { 4 if (!CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, token)) 5 { 6 return Content(echostr); //返回随机字符串则表示验证通过 7 } 8 else 9 {10 return11 Content("failed:" + postModel.Signature + "," + CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, token) +12 "。如果您在浏览器中看到这条信息,表明此Url可以填入微信后台。");13 }14 }
发布到网站后,再点击接口配置信息保存即可验证通过。接下来将自己的网站域名填入JS接口安全域名。
到此微信方的配置基本结束,接下来开始创建自定义菜单
代码如下:
1 public ActionResult CreateMenu() 2 { 3 var token = CommonApi.GetToken(appId, secret); 4 //初始化 5 GetMenuResultFull resultFull = new GetMenuResultFull(); 6 MenuFull_ButtonGroup menu = new MenuFull_ButtonGroup(); 7 menu.button = new List<MenuFull_RootButton>(); 8 menu.button.Add(new MenuFull_RootButton() { key = "link", name = "链接", type = ButtonType.view.ToString(), url = "http://www.baidu.com" }); 9 menu.button.Add(new MenuFull_RootButton() { key = "OneClick", name = "图文链接", type = ButtonType.click.ToString() });10 var subButton = new MenuFull_RootButton()11 {12 key = "OneClick",13 name = "二级菜单",14 type = ButtonType.click.ToString(),15 };16 subButton.sub_button = new List<MenuFull_RootButton>();17 subButton.sub_button.Add(new MenuFull_RootButton()18 {19 key = "SubClickRoot_Text",20 name = "文字信息",21 type = ButtonType.click.ToString(),22 });23 subButton.sub_button.Add(new MenuFull_RootButton()24 {25 key = "SubClickRoot_Text",26 name = "文字信息2",27 type = ButtonType.click.ToString(),28 });29 menu.button.Add(subButton);30 resultFull.menu = menu;31 var bg = CommonApi.GetMenuFromJsonResult(resultFull, new ButtonGroup()).menu;32 var result = CommonApi.CreateMenu(token.access_token, bg);33 return Content(result.errmsg);34 }
直接运行项目,跳转到http://localhost:****/Home/CreateMenu地址。
理想状态下是返回ok,然后用微信扫描测试号二维码,即可看到效果。具体菜单有几个一级菜单,几个二级菜单,可以根据实际修改代码。
新闻热点
疑难解答