最近總有一些任務和微信的功能有聯繫,因此我開始去嘗試如何開發一個微信公衆平臺。爲了方便測試和使用各類功能,我使用的是公衆平臺測試號。瀏覽器
首先登錄微信公衆平臺官網,安全
點擊進入後,會提供一個appID和aapsecret,這兩個最爲重要。在往下是接口配置信息微信
由於URL是須要微信驗證的,因此此處要開始寫代碼了。app
新建項目後,安裝微信公衆平臺sdk:微信公衆平臺
代碼以下:ide
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 return 11 Content("failed:" + postModel.Signature + "," + CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, token) + 12 "。若是您在瀏覽器中看到這條信息,代表此Url能夠填入微信後臺。"); 13 } 14 }
發佈到網站後,再點擊接口配置信息保存便可驗證經過。接下來將本身的網站域名填入JS接口安全域名。post
到此微信方的配置基本結束,接下來開始建立自定義菜單測試
代碼以下:網站
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地址。url
理想狀態下是返回ok,而後用微信掃描測試號二維碼,便可看到效果。具體菜單有幾個一級菜單,幾個二級菜單,能夠根據實際修改代碼。