java微信网页授权获取用户信息以及JSSDK自定义分享等功能<四>
2015-12-08 13:47
1036 查看
其他忘记附上源码的类。以及全部的jar下载
项目结构如下:
public class AccessToken { /** * 获取到的凭证 */ private String token; /** * 凭证有效时间,单位:秒 */ private int expiresIn; public String getToken() { return null==token?"":token; } public void setToken(String token) { this.token = token; } public int getExpiresIn() { return expiresIn; } public void setExpiresIn(int expiresIn) { this.expiresIn = expiresIn; } }</span>
public class JsapiTicket { /** * 有效时长 */ private int expiresIn; /** * js调用票据 */ private String ticket; public int getExpiresIn() { return expiresIn; } public void setExpiresIn(int expiresIn) { this.expiresIn = expiresIn; } public String getTicket() { return null==ticket?"":ticket; } public void setTicket(String ticket) { this.ticket = ticket; } }
public class TokenUtil extends Thread { // 第三方用户唯一凭证 public static String appid = ""; // 第三方用户唯一凭证密钥 public static String appsecret = ""; public static AccessToken accessToken = null; public static JsapiTicket jsapiTicket = null; public void run() { while (true) { try { accessToken = CommonUtil.getAccessToken(appid, appsecret); jsapiTicket = CommonUtil.getJsapiTicket(accessToken.getToken()); if (null != accessToken&&null!=jsapiTicket) { System.out.println("获取access_token成功,有效时长"+accessToken.getExpiresIn()+"秒 ,token:"+accessToken.getToken()); System.out.println("获取jsapi_ticket成功,有效时长"+jsapiTicket.getExpiresIn()+"秒,jsapi_ticket:"+jsapiTicket.getTicket()); // 休眠7000秒 Thread.sleep((accessToken.getExpiresIn() - 200) * 1000); } else { // 如果access_token为null,60秒后再获取 Thread.sleep(60 * 1000); } } catch (Exception e) { try { Thread.sleep(60 * 1000); } catch (InterruptedException e1) { } } } } }
public class MyX509TrustManager implements X509TrustManager { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return null; } }
public class CheckInterceptor implements HandlerInterceptor{ public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } /** * 返回true,表示允许继续调用Controller * 返回false,表示阻止Controller执行 */ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception { return true; } }
项目结构如下:
相关文章推荐
- MFC 手把手 写一个文件播放小程序(这个是直接copy的 我会动手做一遍 然后发自己原创的)
- java微信网页授权获取用户信息以及JSSDK自定义分享等功能<三>
- 微信自定义回复
- iOS之微信支付交互图分析
- JS判断当前页面是否在微信浏览器打开的方法
- [Android]不经过第三方SDK直接调用系统自带分享QQ、微信
- 安卓微信浏览器加border-radius出现模糊(锯齿)
- java微信网页授权获取用户信息以及JSSDK自定义分享等功能<二>
- iOS 集成微信支付
- 如何查看微信分享jar包的版本号
- 微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版
- 微信web开发 - 自动拨打拨打电话问题
- 微信营销
- 微信开发
- JS判断当前页面是否在微信浏览器打开的方法
- 公司微信1.0开发,今天抓到了那条滑溜的鱼
- 灯泡开关小程序
- Django搭建微信公众平台详解 三
- iOS微信图片浏览模仿
- 集成微信支付详细步骤及说明——解决点击微信支付只有一个确定按钮的情况