1、jdbc.properties
(下面瞎写的值)
WEIXIN_APP_ID=wx5438496a99c8d26acb WEIXIN_APP_SECRET=d070fjcwiefhwr38942dw
2、获取配置属性
/** * @Author:Mujiutian * @Description:微信参数 * @Date: Created in 下午2:50 2018/11/7 */ public class WeiXinConfig { private Logger logger = LoggerFactory.getLogger(getClass()); private static final String DEFAULT_PROPERFILES = "properties/application.properties"; //https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code public static String WEIXIN_APP_GET_ACCESSTOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?"; //https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN public static String WEIXIN_APP_GET_REFRESHTOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/refresh_token?"; //https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID public static String WEIXIN_APP_TEST_ACCESSTOKEN_URL = "https://api.weixin.qq.com/sns/auth?"; //https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID public static String WEIXIN_APP_GET_USERINFO_URL = "https://api.weixin.qq.com/sns/userinfo?"; public static String WEIXIN_APP_ID; public static String WEIXIN_APP_SECRET; public static String WEIXIN_AUTOREPLY_TOKEN; public static String WEIXIN_AUTOREPLY_ENCODINGAESKEY; //证书存放路径 public static String WEIXIN_SHOP_CERT_FILE_PATH; static { try { Resource resource = new ClassPathResource(DEFAULT_PROPERFILES); Properties proper = PropertiesLoaderUtils.loadProperties(resource); WEIXIN_APP_ID = proper.getProperty("WEIXIN_APP_ID"); WEIXIN_APP_SECRET = proper.getProperty("WEIXIN_APP_SECRET"); }catch (IOException e){ e.printStackTrace(); } } }
3、controller远程调用
(下面方法都需要远程调用才可以,没写)
/** * @Author:Mujiutian * @Description: * @Date: Created in 上午9:51 2018/11/7 */ @Controller @RequestMapping(value = "/member/weixin") public class WeiXinLoginController { private Logger logger = LoggerFactory.getLogger(WeiXinLoginController.class); public static final String APP_ID = WeiXinConfig.WEIXIN_APP_ID; public static final String APP_SECRET = WeiXinConfig.WEIXIN_APP_SECRET; public static final String ASSCESS_TOKEN_URL = WeiXinConfig.WEIXIN_APP_GET_ACCESSTOKEN_URL; public static final String REFRESH_TOKEN_URL = WeiXinConfig.WEIXIN_APP_GET_REFRESHTOKEN_URL; public static final String EXAMINE_TOKEN_URL = WeiXinConfig.WEIXIN_APP_TEST_ACCESSTOKEN_URL; public static final String GET_USERINFO_URL = WeiXinConfig.WEIXIN_APP_GET_USERINFO_URL; /** * * @Description:移动应用端:用户授权,通过code获取微信access_token * @Date:2018/11/7 下午2:30 * @Author:Mujiutian * @UpdateRemark: * @Version:1.0 * */ @RequestMapping(value = "/getWeixinAccessToken.html") public String getWeixinAccessToken(String code){ String url = ASSCESS_TOKEN_URL+"appid="+APP_ID+"&secret="+APP_SECRET+"&code="+code+"&grant_type=authorization_code"; String result = HttpClientUtil.doGet(url); return result; } /** * * @Description:重置acess_token * @Date:2018/11/7 下午2:36 * @Author:Mujiutian * @UpdateRemark: * @Version:1.0 * */ @RequestMapping(value = "/getRefreshAccessToken.html") public String getRefreshAccessToken(String refreshToken){ String url = REFRESH_TOKEN_URL+"appid="+APP_ID+"&grant_type=refresh_token"+"&refresh_token="+refreshToken; String result = HttpClientUtil.doGet(url); return result; } /** * * @Description:检验access_token是否有效 * @Date:2018/11/7 下午4:00 * @Author:Mujiutian * @UpdateRemark: * @Version:1.0 * */ @RequestMapping(value = "/examineAccessToken.html") public String examineAccessToken(String accessToken,String openid){ String url = EXAMINE_TOKEN_URL+"access_token="+accessToken+"&openid="+openid; String result = HttpClientUtil.doGet(url); return result; } /** * * @Description:通过openid、access_token获取微信用户基本信息 * @Date:2018/11/7 下午2:41 * @Author:Mujiutian * @UpdateRemark: * @Version:1.0 * */ @RequestMapping(value = "/getUserInfo.html") public String getUserInfo(String accessToken,String openid){ String url = GET_USERINFO_URL+"access_token="+accessToken+"&openid"+openid; String result = HttpClientUtil.doGet(url); return result; } }