diff --git a/ruoyi-admin/src/main/java/org/dromara/web/utils/WxXcxUtils.java b/ruoyi-admin/src/main/java/org/dromara/web/utils/WxXcxUtils.java index 19c0a92..1160ee6 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/utils/WxXcxUtils.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/utils/WxXcxUtils.java @@ -15,32 +15,64 @@ import java.util.*; */ public class WxXcxUtils { - private static final String APPID = "wxf1d78a0b58fc890c"; - private static final String SECRET = "e1a3e888471d48addf1a23e4c9ea7f84"; - private static final String TICKET_URL = "https://api.weixin.qq.com/cgi-bin/ticket/getticket"; - private static final String TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token"; + private static final String APPID = "wxc4ed85cf2d8bdc63"; + private static final String SECRET = "787dcb857129514c4eae72501a3acb18"; + private static final String TICKET_URL = "https://api.weixin.qq.com"; /** * 获取access_token */ public static String getAccessToken(){ - String url = TOKEN_URL + "?grant_type=client_credential&appid=" + APPID + "&secret=" + SECRET; + String url = TICKET_URL + "/cgi-bin/token?grant_type=client_credential&appid=" + APPID + "&secret=" + SECRET; String result = HttpUtil.get(url); JSONObject jsonObject = JSONObject.parseObject(result); return jsonObject.getString("access_token"); } + /** + * 获取用户手机号码 + */ + public static JSONObject getUserPhoneNumber(String code){ + String accessToken = getAccessToken(); + String url = TICKET_URL + "/wxa/business/getuserphonenumber?access_token="+accessToken; + + JSONObject json = new JSONObject(); + json.put("code", code); + String result = HttpRequest.post(url).body(json.toString()).execute().body(); + + JSONObject jsonObject = JSONObject.parseObject(result); + return jsonObject; + } + /** * 获取jsapi_ticket */ public static String getJsapiTicket() { String accessToken = getAccessToken(); - String url = TICKET_URL + "?access_token=" + accessToken + "&type=jsapi"; + String url = TICKET_URL + "/cgi-bin/ticket/getticket?access_token=" + accessToken + "&type=jsapi"; String result = HttpUtil.get(url); JSONObject jsonObject = JSONObject.parseObject(result); return jsonObject.getString("ticket"); } + /** + * 获取小程序二维码 + * @param scene 场景值ID + * @param page 页面路径 + * @param width 二维码宽度 + * @return 二维码图片的二进制数据 + */ + public static byte[] getQrCode(String scene, String page, int width) { + String accessToken = getAccessToken(); + String url = TICKET_URL + "/wxa/getwxacodeunlimit?access_token=" + accessToken; + JSONObject json = new JSONObject(); + json.put("scene", scene); + json.put("page", page); + json.put("width", width); + String result = HttpRequest.post(url).body(json.toString()).execute().body(); + return result.getBytes(); + } + /** * 生成签名 * @param url 当前网页的URL