|
@@ -109,7 +109,7 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
|
|
|
private static String TOKEN_VALID_CODE = "40001";
|
|
|
|
|
|
- private static Integer version = 0;
|
|
|
+ private volatile Integer version = 0;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -752,10 +752,6 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
@Override
|
|
|
public String getGotoWxAppLink(String linkStr,String appId) {
|
|
|
CloseableHttpClient client = null;
|
|
|
- if(ObjectUtils.isNull(appId)){
|
|
|
- appId="wx76cb55db092a41ae";
|
|
|
- }
|
|
|
-
|
|
|
try {
|
|
|
client = HttpClients.createDefault();
|
|
|
String[] split = linkStr.split("\\?");
|
|
@@ -774,12 +770,10 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
if (StringUtils.isBlank(miniprogramAppid)) {
|
|
|
return "未配置点播小程序id";
|
|
|
}
|
|
|
-// if(StringUtils.isBlank(code)){
|
|
|
-// return "参数错误,请传入code";
|
|
|
-// }
|
|
|
//获取微信token
|
|
|
final WxMaService wxService = WxMaConfiguration.getMaService(appId);
|
|
|
String token = wxService.getAccessToken();
|
|
|
+ log.info("小程序TOKEN值-------->刷新前TOKEN:{}", token);
|
|
|
HttpPost httpPost = new HttpPost("https://api.weixin.qq.com/wxa/generate_urllink?access_token=" + token);
|
|
|
JSONObject bodyObj = new JSONObject();
|
|
|
bodyObj.put("path", pageUrl);
|
|
@@ -788,17 +782,20 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
StringEntity entity = new StringEntity(bodyObj.toJSONString(),"UTF-8");
|
|
|
httpPost.setEntity(entity);
|
|
|
httpPost.setHeader("Content-type", "application/json");
|
|
|
+ httpPost.setHeader("cache-control","max-age=0");
|
|
|
HttpEntity response = client.execute(httpPost).getEntity();
|
|
|
String responseString = EntityUtils.toString(response);
|
|
|
log.info("微信小程序接口响应数据:{}", responseString);
|
|
|
JSONObject jsonObject = JSONObject.parseObject(responseString);
|
|
|
|
|
|
- if(TOKEN_VALID_CODE.equals(jsonObject.getString("code"))){
|
|
|
+ if(TOKEN_VALID_CODE.equals(jsonObject.getString("errcode"))){
|
|
|
Integer curVersion = Integer.valueOf(version);
|
|
|
synchronized (TOKEN_VALID_CODE){
|
|
|
if(curVersion.equals(version)){
|
|
|
+ log.info("小程序TOKEN:40001进入强制刷新-------->刷新前TOKEN:{}", token);
|
|
|
wxService.getAccessToken(true);
|
|
|
version = version.equals(Integer.MAX_VALUE) ? 0 : curVersion + 1;
|
|
|
+ log.info("小程序TOKEN:40001进入强制刷新-------->刷新后TOKEN:{}", wxService.getAccessToken());
|
|
|
}
|
|
|
return getGotoWxAppLink(linkStr,appId);
|
|
|
}
|
|
@@ -818,32 +815,6 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
|
|
|
} catch (IOException e) {
|
|
|
throw new RuntimeException(e);
|
|
|
}
|
|
|
-// String json = configService.selectConfigByKey("course.config");
|
|
|
-// CourseConfig config = JSON.parseObject(json, CourseConfig.class);
|
|
|
-// String miniprogramAppid = config.getMiniprogramAppid();
|
|
|
-// if (StringUtils.isBlank(miniprogramAppid)) {
|
|
|
-// return "未配置点播小程序id";
|
|
|
-// }
|
|
|
-//// String envVersion = "trial";
|
|
|
-//// String envVersion = version;
|
|
|
-// if (StringUtils.isNotBlank(linkStr)) {
|
|
|
-// //解析pageLink
|
|
|
-// String[] split = linkStr.split("\\?");
|
|
|
-// if (split.length == 2 && split[0].length() > 0 && split[1].length() > 0) {
|
|
|
-// //处理页面路径
|
|
|
-// String pageUrl =split[0];
|
|
|
-// if(pageUrl.startsWith("/")){
|
|
|
-// pageUrl = pageUrl.substring(1);
|
|
|
-// }
|
|
|
-// //处理参数
|
|
|
-// String query = split[1];
|
|
|
-//// query = query.replace("\\u003d", "=");
|
|
|
-// String wxAppLink = getWxAppLink(miniprogramAppid, pageUrl, query);
|
|
|
-// return wxAppLink;
|
|
|
-// } else {
|
|
|
-// return "页面链接错误,获取失败";
|
|
|
-// }
|
|
|
-// }
|
|
|
return "";
|
|
|
}
|
|
|
}
|