/**
* 根据code获取Userid后跳转到需要带用户信息的最终页面
*
* @param request
* @param code
* 获取微信重定向到自己设置的URL中code参数
* @param oauth2url
* 跳转到最终页面的地址
* @return
*/
@RequestMapping(value = { "/oauth2url.do" })
public String Oauth2MeUrl(HttpServletRequest request, @RequestParam String code, @RequestParam String oauth2url,String activityId) {
AccessToken accessToken = QiYeUtil.getAccessToken(Constants.CORPID,Constants.SECRET);
HttpSession session = request.getSession();
if (accessToken != null && accessToken.getToken() != null) {
String weChatId = getMemberGuidByCode(accessToken.getToken(), code, Constants.AGENTID);
if (weChatId != null) {
session.setAttribute("weChatId", weChatId);
}
}
// 这里简单处理,存储到session中
return "redirect:" + oauth2url + "&activityId=" + activityId;
}
多参数的url中有“&”符号,过OAuth2Controller时会理解错误,“&”符号后边的参数都不认为是oauth2url中的。比如我的URL有两个参数,第二个为activityId,则需在Oauth2MeUrl方法中多加入String activityId这样的形参便可以接到参数值。
目前我只需要多这一个参数值,若参数情况多变,请在此地方想办法。