配置好了,就可以进行开发了,首先来看一下具体的流程:
其实很多功能点,前面已经实现过,只用改一下调用地址和参数即可。
首先,调用的定义链接:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
链接中需要使用urlEncode对链接进行处理,可以在工具类中添加一个转码方法:
1 /**
2 * 对URL地址进行EnCode处理3 *@paramurl4 *@return
5 */
6 public staticString urlEnCode(String url)7 {8 String enCodedUrl = "";9
10 try
11 {12 enCodedUrl = URLEncoder.encode(url, "utf-8");13 }14 catch(UnsupportedEncodingException e)15 {16 //TODO Auto-generated catch block
17 e.printStackTrace();18 System.out.println("转码失败!");19 }20
21 returnenCodedUrl;22 }
View Code
另外将其他参数补充完整,可以得到一个访问链接。
在这里,可以结合之前学的菜单的处理,可以定义一个菜单进行专门的授权验证,这里需要改造上一节学到的点,具体如下:
1 /**
2 * 定义菜单属性3 *@return
4 */
5 privateMenu getMenu()6 {7 Menu menu = newMenu();8
9 //建3个导航菜单
10 LevelMenu tLevelMenuOne = newLevelMenu();11 tLevelMenuOne.setName("Damon");12 LevelMenu tLevelMenuTwo = newLevelMenu();13 tLevelMenuTwo.setName("Panou");14 LevelMenu tLevelMenuThree = newLevelMenu();15 tLevelMenuThree.setName("Papaw");16
17 //第一个导航菜单的子菜单
18 SubMenuButton tSubMenuButton_oneone = newSubMenuButton();19 tSubMenuButton_oneone.setType(SysCon.WECHAT_MENU_TYPE_VIEW);20 tSubMenuButton_oneone.setName("网页授权");21 tSubMenuButton_oneone.setKey("11");22 tSubMenuButton_oneone.setUrl(getAuthorUrl());23
24 SubMenuButton tSubMenuButton_onetwo = newSubMenuButton();25 tSubMenuButton_onetwo.setType(SysCon.WECHAT_MENU_TYPE_CLICK);26 tSubMenuButton_onetwo.setName("swimming");27 tSubMenuButton_onetwo.setKey("12");28
29 //加入导航菜单
30 tLevelMenuOne.setSub_button(newSubMenuButton[]31 { tSubMenuButton_oneone, tSubMenuButton_onetwo });32
33 //第二 个导航菜单的子菜单
34 SubMenuButton tSubMenuButton_twoone = newSubMenuButton();35 tSubMenuButton_twoone.setType(SysCon.WECHAT_MENU_TYPE_CLICK);36 tSubMenuButton_twoone.setName("watching TV");37 tSubMenuButton_twoone.setKey("21");38
39 SubMenuButton tSubMenuButton_twotwo = newSubMenuButton();40 tSubMenuButton_twotwo.setType(SysCon.WECHAT_MENU_TYPE_CLICK);41 tSubMenuButton_twotwo.setNam