docs: public <T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException {
      int retryTimes = 0;
      do {
        try {
          return executeInternal(executor, uri, data);
        } catch (WxErrorException e) {
          WxError error = e.getError();
          /**
           * -1 系统繁忙, 1000ms后重试
           */
          if (error.getErrorCode() == -1) {
            int sleepMillis = retrySleepMillis * (1 << retryTimes);
            try {
              log.debug("微信系统繁忙，{}ms 后重试(第{}次)", sleepMillis, retryTimes + 1);
              Thread.sleep(sleepMillis);
            } catch (InterruptedException e1) {
              throw new RuntimeException(e1);
            }
          } else {
            throw e;
          }
        }
      } while (++retryTimes < maxRetryTimes);
  
      throw new RuntimeException("微信服务端异常，超出重试次数");
    }