| | |
| | | } |
| | | |
| | | /** |
| | | * POST 获取稳定版接口调用凭据 获取小程序全局唯一后台接口调用凭据,token有效期为7200s,开发者需要进行妥善保存。 |
| | | * |
| | | * @return accessToken |
| | | */ |
| | | public String getStableAccessTokenRider() { |
| | | String TokenKey = weiXinProperties.getTokenKey() + "_rider"; |
| | | String accessToken; |
| | | if (redisUtils.isExpire(TokenKey)) { |
| | | // 获取接口调用凭据 |
| | | String url = weiXinProperties.getGetStableAccessToken(); |
| | | Map<String, Object> map = new LinkedHashMap<>(); |
| | | map.put("grant_type", "client_credential"); |
| | | map.put("appid", weiXinProperties.getRiderAppId()); |
| | | map.put("secret", weiXinProperties.getRiderAppSecret()); |
| | | map.put("force_refresh", false); |
| | | JSONObject jsonObject = HttpRequest.exchangeJsonObject(HttpMethod.POST, url, map); |
| | | accessToken = jsonObject.getString("access_token"); |
| | | redisUtils.set(TokenKey, accessToken, weiXinProperties.getTokenTime()); |
| | | } else { |
| | | // 查询接口调用凭据 |
| | | accessToken = (String) redisUtils.get(TokenKey); |
| | | } |
| | | return accessToken; |
| | | } |
| | | |
| | | /** |
| | | * GET 小程序登录 登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程 |
| | | * |
| | | * @param js_code 登录时获取的 code,可通过wx.login获取 |
| | |
| | | } |
| | | |
| | | /** |
| | | * POST 获取手机号 该接口用于将code换取用户手机号。 说明,每个code只能使用一次,code的有效期为5min。 |
| | | * |
| | | * @param code 手机号获取凭证 |
| | | * @return JSONObject |
| | | */ |
| | | public JSONObject getRiderPhoneNumber(String code) { |
| | | String url = weiXinProperties.getGetPhoneNumber(); |
| | | url = url.replace("{accessToken}", getStableAccessTokenRider()); |
| | | Map<String, Object> map = new LinkedHashMap<>(); |
| | | map.put("code", code); |
| | | return HttpRequest.exchangeJsonObject(HttpMethod.POST, url, map); |
| | | } |
| | | |
| | | /** |
| | | * POST 该接口用于发送订阅消息。 |
| | | * |
| | | * @param data 请求参数 |