From 2fb095b8ba3b943264477074eb02b08192a9cfd0 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 17 十二月 2024 18:04:28 +0800 Subject: [PATCH] 提交基础版本 --- DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java | 41 ++++++++++++++++++++++++++++++++++++++--- DriverAHTravel/guns-admin/src/main/resources/application.yml | 4 ++-- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java b/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java index cd2a858..c28ca3a 100644 --- a/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java +++ b/DriverAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java @@ -1,7 +1,12 @@ package com.stylefeng.guns.modular.system.util; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.stylefeng.guns.core.util.ToolUtil; +import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.entity.ContentType; import org.springframework.beans.factory.annotation.Autowired; @@ -17,6 +22,7 @@ import java.net.URLDecoder; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; /** * 微信工具类 @@ -32,6 +38,9 @@ @Autowired private RestTemplate restTemplate; + + @Autowired + private RedisUtil redisUtil; @@ -110,7 +119,32 @@ String ticket = JSONObject.parseObject(backData).getString("ticket"); return ticket; } - + + + public String getWxAppletsAccessToken(){ + String wxAppletsAccessToken = redisUtil.getValue("wxAppletsAccessToken"); + if(ToolUtil.isNotEmpty(wxAppletsAccessToken)){ + return wxAppletsAccessToken; + } + String appletsAccessToken = getAppletsAccessToken(); + redisUtil.setStrValue("wxAppletsAccessToken", appletsAccessToken, 7200); + return appletsAccessToken; + } + + /** + * 获取微信小程序token + * @return + */ + public String getAppletsAccessToken() { + String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + wxAppletsAppid + "&secret=" + wxAppletsAppSecret; + HttpRequest get = HttpUtil.createGet(url); + HttpResponse response = get.execute(); + if(response.getStatus() != 200){ + return ""; + } + JSONObject jsonObject = JSON.parseObject(response.body()); + return jsonObject.getString("access_token"); + } /*** * 获取acess_token (公众号) @@ -118,7 +152,7 @@ * @return */ public String getAccessToken(){ - String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxc89ecab90d24edd8&secret=bca863174d22736a4a9758a67484947e"; + String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + wxAppletsAppid + "&secret=" + wxAppletsAppSecret; String backData = restTemplate.getForObject(url, String.class); String accessToken = JSONObject.parseObject(backData).getString("access_token"); return accessToken; @@ -168,7 +202,7 @@ public String rid(String path, Integer driverId) throws Exception{ // 获取access_token - String accessToken = getAccessToken(); + String accessToken = getWxAppletsAccessToken(); // 替换CREATE_CODE_URL String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token="+accessToken; // 发送请求 @@ -185,6 +219,7 @@ MultipartFile file = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), byteArrayInputStream); String s = ObsUploadUtil.obsUpload(file); System.err.println("===url"+s); + System.err.println(Base64.encodeBase64String(bytes)); return s; } catch (Exception e) { diff --git a/DriverAHTravel/guns-admin/src/main/resources/application.yml b/DriverAHTravel/guns-admin/src/main/resources/application.yml index 57515d9..0afce74 100644 --- a/DriverAHTravel/guns-admin/src/main/resources/application.yml +++ b/DriverAHTravel/guns-admin/src/main/resources/application.yml @@ -78,8 +78,8 @@ grantType: authorization_code #填authorization_code appid: wx2d643fa565035848 #应用唯一标识,在微信开放平台提交应用审核通过后获得 appSecret: 7c7409548a9bbe001af87578709ef360 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得 - appletsAppid: 111 #小程序APPid - appletsAppSecret: 111 # + appletsAppid: wxe91f1af7638aa5dd #小程序APPid + appletsAppSecret: a787e1a462715604e0c9528b6d8960d1 # mchId: 1618978168 #微信支付分配的商户号 key: BTisLYCrwstKZRTBZef5pe51SCA7Kxe1 #key为商户平台设置的密钥key: -- Gitblit v1.7.1