1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package com.hhsx.minigame.utils;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.hhsx.minigame.constant.Constant;
- import org.apache.commons.lang3.StringEscapeUtils;
- import java.io.IOException;
- import java.security.KeyManagementException;
- import java.security.NoSuchAlgorithmException;
- import java.security.NoSuchProviderException;
- import java.util.Date;
- /**
- * Author: 吴涛涛 cuiyi@itany.com
- * Date : 2019 - 09 - 17 10:04
- * Description:<描述>
- * Version: 1.0
- */
- public class AccessToken {
- private static String wechatAppId = Constant.WECHAT_APPID;
- private static String wechatSecret = Constant.WECHAT_APPSECRET;
- private static String oldAccessToken = null;
- private static Date time = new Date();//oldAccessToken值创建时间
- private static Long expiresIn = 7200L*1000;//accessToken值有效时长 单位毫秒
- public static String getNewAccessToken() throws Exception {
- if(oldAccessToken == null || (oldAccessToken != null && System.currentTimeMillis() > time.getTime()+expiresIn)){
- String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + wechatAppId + "&secret=" + wechatSecret;
- String resp = HttpKit.get(url, true);
- resp = StringEscapeUtils.unescapeJava(resp);
- JSONObject json = (JSONObject) JSON.parse(resp);
- //获取值赋值给全局变量
- if (!json.containsKey("errcode")) {
- String newAccessToken = json.getString("access_token");
- String newExpiresIn = json.getString("expires_in");
- oldAccessToken = newAccessToken;
- expiresIn = Long.parseLong(newExpiresIn) * 1000;
- time = new Date();
- System.out.println("获取新access_token==>" + oldAccessToken);
- }
- }
- return oldAccessToken;
- }
- }
|