第一步:配置文件
#微信开放平台 appid wx.open.app_id=wxed9954c01bb89b47 #微信开放平台 appsecret wx.open.app_secret=a7482517235173ddb4083788de60b90e # 微信开放平台 重定向url(guli.shop需要在微信开放平台配置) wx.open.redirect_url=http://guli.shop/api/ucenter/wx/callback
第二步:编写utis类
//读取配置文件的配置 @Component public class MyWxUtil implements InitializingBean { @Value("${wx.open.app_id}") private String appid; @Value("${wx.open.app_secret}") private String appsecret; @Value("${wx.open.redirect_url}") private String redirecturl; public static String WX_OPEN_APP_ID; public static String WX_OPEN_APP_SECRET; public static String WX_OPEN_REDIRECT_URL; @Override public void afterPropertiesSet() throws Exception { WX_OPEN_APP_SECRET=appsecret; WX_OPEN_APP_ID=appid; WX_OPEN_REDIRECT_URL=redirecturl; } }
第三步:编写controller
@Controller @RequestMapping("/wx") public class wxController { /*生成微信二维码的方法*/ @GetMapping("/api/login") public String wx(){ /*微信平台的baseUrl*/ // 微信开放平台授权baseUrl %s相当于?代表占位符 String baseUrl = "https://open.weixin.qq.com/connect/qrconnect" + "?appid=%s" + "&redirect_uri=%s" + "&response_type=code" + "&scope=snsapi_login" + "&state=%s" + "#wechat_redirect"; //对redirect_url进行URLEncoder编码 String redirectUrl = MyWxUtil.WX_OPEN_REDIRECT_URL; try { redirectUrl = URLEncoder.encode(redirectUrl, "utf-8"); }catch(Exception e) { } //设置%s里面值 String url = String.format( baseUrl, MyWxUtil.WX_OPEN_APP_ID, redirectUrl, "atguigu" ); //重定向到请求微信地址里面 return "redirect:"+url; } }