Ver código fonte

小程序页面复制链接代码优化

yjwang 1 dia atrás
pai
commit
228d237442

+ 6 - 35
fs-service/src/main/java/com/fs/course/service/impl/FsCourseLinkServiceImpl.java

@@ -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 "";
     }
 }