From c18ec3846c8483975de2224c1ecac9470e9b2804 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 16 八月 2023 19:21:36 +0800 Subject: [PATCH] 同步代码 --- user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/weChat/WeChatUtil.java | 70 +++++++++++++++++++++++++++-------- 1 files changed, 54 insertions(+), 16 deletions(-) diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/weChat/WeChatUtil.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/weChat/WeChatUtil.java index c23f490..90e657d 100644 --- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/weChat/WeChatUtil.java +++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/weChat/WeChatUtil.java @@ -65,22 +65,22 @@ @Override public void run() { try { - Thread.sleep(30000); - new Timer().schedule(new TimerTask() { - @Override - public void run() { - try { - String wxAppletsAccessToken = getWxAppletsAccessToken(); - if(ToolUtil.isEmpty(wxAppletsAccessToken)){ - System.err.println("获取微信小程序access_token失败"); - return; - } - redisUtil.setStrValue("wxAppletsAccessToken", wxAppletsAccessToken, 7000); - }catch (Exception e){ - e.printStackTrace(); - } - } - }, 0, 7000000); +// Thread.sleep(30000); +// new Timer().schedule(new TimerTask() { +// @Override +// public void run() { +// try { +// String wxAppletsAccessToken = getWxAppletsAccessToken(); +// if(ToolUtil.isEmpty(wxAppletsAccessToken)){ +// System.err.println("获取微信小程序access_token失败"); +// return; +// } +// redisUtil.setStrValue("wxAppletsAccessToken", wxAppletsAccessToken, 7000); +// }catch (Exception e){ +// e.printStackTrace(); +// } +// } +// }, 0, 6000000); }catch (Exception e){ e.printStackTrace(); } @@ -412,4 +412,42 @@ String body1 = exchange.getBody(); return body1; } + + + + + /** + * 获取小程序urllink码 + * env_version 默认值"release"。要打开的小程序版本。正式版为 "release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。 + * @return + */ + public String getUrlLink(String path, String query, String env_version) throws Exception{ + String wxAppletsAccessToken = redisUtil.getValue("wxAppletsAccessToken"); + String url = "https://api.weixin.qq.com/wxa/generate_urllink?access_token=" + wxAppletsAccessToken; + Map<String, Object> param = new HashMap<>(); + param.put("path", path); + param.put("query", query); + param.put("is_expire", true); + param.put("expire_type", 0); + param.put("expire_time", System.currentTimeMillis() + 60 * 60 * 1000); + param.put("env_version", env_version); + HttpHeaders httpHeaders = new HttpHeaders(); + MediaType type=MediaType.parseMediaType("application/json;charset=UTF-8"); + httpHeaders.setContentType(type); + HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(param, httpHeaders); + ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class); + String body1 = exchange.getBody(); + JSONObject jsonObject = JSON.parseObject(body1); + Integer errcode = jsonObject.getInteger("errcode"); + if(null != errcode && 40001 == errcode){ + wxAppletsAccessToken = getWxAppletsAccessToken(); + if(ToolUtil.isEmpty(wxAppletsAccessToken)){ + System.err.println("获取微信小程序access_token失败"); + return "获取微信小程序access_token失败"; + } + redisUtil.setStrValue("wxAppletsAccessToken", wxAppletsAccessToken, 7000); + return getUrlLink(path, query, env_version); + } + return body1; + } } -- Gitblit v1.7.1