| @@ -8,7 +8,6 @@ import me.chanjar.weixin.common.util.http.HttpType; | |||
| import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; | |||
| import me.chanjar.weixin.common.util.http.apache.DefaultApacheHttpClientBuilder; | |||
| import me.chanjar.weixin.cp.api.WxCpConfigStorage; | |||
| import me.chanjar.weixin.cp.api.impl.AbstractWxCpServiceImpl; | |||
| import org.apache.http.HttpHost; | |||
| import org.apache.http.client.config.RequestConfig; | |||
| @@ -1,24 +1,15 @@ | |||
| package me.chanjar.weixin.mp.api.impl.apache; | |||
| import com.google.gson.JsonArray; | |||
| import com.google.gson.JsonElement; | |||
| import com.google.gson.JsonObject; | |||
| import com.google.gson.JsonParser; | |||
| import me.chanjar.weixin.common.bean.WxAccessToken; | |||
| import me.chanjar.weixin.common.bean.WxJsapiSignature; | |||
| import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.session.StandardSessionManager; | |||
| import me.chanjar.weixin.common.session.WxSessionManager; | |||
| import me.chanjar.weixin.common.util.RandomUtils; | |||
| import me.chanjar.weixin.common.util.crypto.SHA1; | |||
| import me.chanjar.weixin.common.util.http.*; | |||
| import me.chanjar.weixin.common.util.http.HttpType; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.common.util.http.apache.ApacheHttpClientBuilder; | |||
| import me.chanjar.weixin.common.util.http.apache.DefaultApacheHttpClientBuilder; | |||
| import me.chanjar.weixin.mp.api.*; | |||
| import me.chanjar.weixin.mp.api.impl.*; | |||
| import me.chanjar.weixin.mp.bean.*; | |||
| import me.chanjar.weixin.mp.bean.result.*; | |||
| import me.chanjar.weixin.mp.api.WxMpConfigStorage; | |||
| import me.chanjar.weixin.mp.api.WxMpService; | |||
| import me.chanjar.weixin.mp.api.impl.AbstractWxMpServiceImpl; | |||
| import org.apache.http.HttpHost; | |||
| import org.apache.http.client.config.RequestConfig; | |||
| import org.apache.http.client.methods.CloseableHttpResponse; | |||
| @@ -32,7 +23,7 @@ import java.util.concurrent.locks.Lock; | |||
| /** | |||
| * apache-http方式实现 | |||
| */ | |||
| public class WxMpServiceImpl extends AbstractWxMpServiceImpl<CloseableHttpClient,HttpHost> { | |||
| public class WxMpServiceImpl extends AbstractWxMpServiceImpl<CloseableHttpClient, HttpHost> { | |||
| private CloseableHttpClient httpClient; | |||
| private HttpHost httpProxy; | |||
| @@ -7,15 +7,16 @@ import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.HttpType; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.mp.api.*; | |||
| import me.chanjar.weixin.mp.api.impl.*; | |||
| import me.chanjar.weixin.mp.api.WxMpConfigStorage; | |||
| import me.chanjar.weixin.mp.api.WxMpService; | |||
| import me.chanjar.weixin.mp.api.impl.AbstractWxMpServiceImpl; | |||
| import java.util.concurrent.locks.Lock; | |||
| /** | |||
| * jodd-http方式实现 | |||
| */ | |||
| public class WxMpServiceImpl extends AbstractWxMpServiceImpl<HttpConnectionProvider,ProxyInfo> { | |||
| public class WxMpServiceImpl extends AbstractWxMpServiceImpl<HttpConnectionProvider, ProxyInfo> { | |||
| private HttpConnectionProvider httpClient; | |||
| private ProxyInfo httpProxy; | |||
| @@ -1,12 +1,10 @@ | |||
| package me.chanjar.weixin.mp.bean.kefu.request; | |||
| import java.io.Serializable; | |||
| import org.apache.commons.lang3.builder.ToStringBuilder; | |||
| import com.google.gson.annotations.SerializedName; | |||
| import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||
| import org.apache.commons.lang3.builder.ToStringBuilder; | |||
| import java.io.Serializable; | |||
| public class WxMpKfAccountRequest implements Serializable { | |||
| private static final long serialVersionUID = -5451863610674856927L; | |||
| @@ -16,7 +14,7 @@ public class WxMpKfAccountRequest implements Serializable { | |||
| */ | |||
| @SerializedName("kf_account") | |||
| private String kfAccount; | |||
| /** | |||
| * nickname 客服昵称,最长6个汉字或12个英文字符 | |||
| */ | |||
| @@ -28,12 +26,16 @@ public class WxMpKfAccountRequest implements Serializable { | |||
| */ | |||
| @SerializedName("invite_wx") | |||
| private String inviteWx; | |||
| public static Builder builder() { | |||
| return new Builder(); | |||
| } | |||
| @Override | |||
| public String toString() { | |||
| return ToStringBuilder.reflectionToString(this); | |||
| } | |||
| public String toJson() { | |||
| return WxMpGsonBuilder.INSTANCE.create().toJson(this); | |||
| } | |||
| @@ -54,10 +56,6 @@ public class WxMpKfAccountRequest implements Serializable { | |||
| this.nickName = nickName; | |||
| } | |||
| public static Builder builder() { | |||
| return new Builder(); | |||
| } | |||
| public String getInviteWx() { | |||
| return this.inviteWx; | |||
| } | |||
| @@ -67,39 +65,39 @@ public class WxMpKfAccountRequest implements Serializable { | |||
| } | |||
| public static class Builder { | |||
| private String kfAccount; | |||
| private String nickName; | |||
| private String inviteWx; | |||
| public Builder kfAccount(String kfAccount) { | |||
| this.kfAccount = kfAccount; | |||
| return this; | |||
| } | |||
| public Builder nickName(String nickName) { | |||
| this.nickName = nickName; | |||
| return this; | |||
| } | |||
| public Builder inviteWx(String inviteWx) { | |||
| this.inviteWx = inviteWx; | |||
| return this; | |||
| } | |||
| public Builder from(WxMpKfAccountRequest origin) { | |||
| this.kfAccount(origin.kfAccount); | |||
| this.nickName(origin.nickName); | |||
| this.inviteWx(origin.inviteWx); | |||
| return this; | |||
| } | |||
| public WxMpKfAccountRequest build() { | |||
| WxMpKfAccountRequest m = new WxMpKfAccountRequest(); | |||
| m.kfAccount = this.kfAccount; | |||
| m.nickName = this.nickName; | |||
| m.inviteWx = this.inviteWx; | |||
| return m; | |||
| } | |||
| private String kfAccount; | |||
| private String nickName; | |||
| private String inviteWx; | |||
| public Builder kfAccount(String kfAccount) { | |||
| this.kfAccount = kfAccount; | |||
| return this; | |||
| } | |||
| public Builder nickName(String nickName) { | |||
| this.nickName = nickName; | |||
| return this; | |||
| } | |||
| public Builder inviteWx(String inviteWx) { | |||
| this.inviteWx = inviteWx; | |||
| return this; | |||
| } | |||
| public Builder from(WxMpKfAccountRequest origin) { | |||
| this.kfAccount(origin.kfAccount); | |||
| this.nickName(origin.nickName); | |||
| this.inviteWx(origin.inviteWx); | |||
| return this; | |||
| } | |||
| public WxMpKfAccountRequest build() { | |||
| WxMpKfAccountRequest m = new WxMpKfAccountRequest(); | |||
| m.kfAccount = this.kfAccount; | |||
| m.nickName = this.nickName; | |||
| m.inviteWx = this.inviteWx; | |||
| return m; | |||
| } | |||
| } | |||
| } | |||
| @@ -1,7 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.jodd; | |||
| import java.io.IOException; | |||
| import jodd.http.HttpConnectionProvider; | |||
| import jodd.http.HttpRequest; | |||
| import jodd.http.HttpResponse; | |||
| @@ -11,10 +9,12 @@ import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.mp.util.http.MaterialDeleteRequestExecutor; | |||
| import java.io.IOException; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| public class JoddMaterialDeleteRequestExecutor extends MaterialDeleteRequestExecutor<HttpConnectionProvider,ProxyInfo> { | |||
| public class JoddMaterialDeleteRequestExecutor extends MaterialDeleteRequestExecutor<HttpConnectionProvider, ProxyInfo> { | |||
| public JoddMaterialDeleteRequestExecutor(RequestHttp requestHttp) { | |||
| super(requestHttp); | |||
| } | |||
| @@ -1,7 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.jodd; | |||
| import java.io.IOException; | |||
| import jodd.http.HttpConnectionProvider; | |||
| import jodd.http.HttpRequest; | |||
| import jodd.http.HttpResponse; | |||
| @@ -13,10 +11,12 @@ import me.chanjar.weixin.mp.bean.material.WxMpMaterialNews; | |||
| import me.chanjar.weixin.mp.util.http.MaterialNewsInfoRequestExecutor; | |||
| import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||
| import java.io.IOException; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| public class JoddMaterialNewsInfoRequestExecutor extends MaterialNewsInfoRequestExecutor<HttpConnectionProvider,ProxyInfo> { | |||
| public class JoddMaterialNewsInfoRequestExecutor extends MaterialNewsInfoRequestExecutor<HttpConnectionProvider, ProxyInfo> { | |||
| public JoddMaterialNewsInfoRequestExecutor(RequestHttp requestHttp) { | |||
| super(requestHttp); | |||
| } | |||
| @@ -1,10 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.jodd; | |||
| import java.io.File; | |||
| import java.io.FileNotFoundException; | |||
| import java.io.IOException; | |||
| import java.util.Map; | |||
| import jodd.http.HttpConnectionProvider; | |||
| import jodd.http.HttpRequest; | |||
| import jodd.http.HttpResponse; | |||
| @@ -17,10 +12,15 @@ import me.chanjar.weixin.mp.bean.material.WxMpMaterial; | |||
| import me.chanjar.weixin.mp.bean.material.WxMpMaterialUploadResult; | |||
| import me.chanjar.weixin.mp.util.http.MaterialUploadRequestExecutor; | |||
| import java.io.File; | |||
| import java.io.FileNotFoundException; | |||
| import java.io.IOException; | |||
| import java.util.Map; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| public class JoddMaterialUploadRequestExecutor extends MaterialUploadRequestExecutor<HttpConnectionProvider,ProxyInfo> { | |||
| public class JoddMaterialUploadRequestExecutor extends MaterialUploadRequestExecutor<HttpConnectionProvider, ProxyInfo> { | |||
| public JoddMaterialUploadRequestExecutor(RequestHttp requestHttp) { | |||
| super(requestHttp); | |||
| } | |||
| @@ -1,7 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.jodd; | |||
| import java.io.IOException; | |||
| import jodd.http.HttpConnectionProvider; | |||
| import jodd.http.HttpRequest; | |||
| import jodd.http.HttpResponse; | |||
| @@ -12,10 +10,12 @@ import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.mp.bean.material.WxMpMaterialVideoInfoResult; | |||
| import me.chanjar.weixin.mp.util.http.MaterialVideoInfoRequestExecutor; | |||
| import java.io.IOException; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| public class JoddMaterialVideoInfoRequestExecutor extends MaterialVideoInfoRequestExecutor<HttpConnectionProvider,ProxyInfo> { | |||
| public class JoddMaterialVideoInfoRequestExecutor extends MaterialVideoInfoRequestExecutor<HttpConnectionProvider, ProxyInfo> { | |||
| public JoddMaterialVideoInfoRequestExecutor(RequestHttp requestHttp) { | |||
| super(requestHttp); | |||
| } | |||
| @@ -1,12 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.jodd; | |||
| import java.io.ByteArrayInputStream; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| import org.apache.commons.io.IOUtils; | |||
| import jodd.http.HttpConnectionProvider; | |||
| import jodd.http.HttpRequest; | |||
| import jodd.http.HttpResponse; | |||
| @@ -16,12 +9,17 @@ import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.common.util.json.WxGsonBuilder; | |||
| import me.chanjar.weixin.mp.util.http.MaterialVoiceAndImageDownloadRequestExecutor; | |||
| import me.chanjar.weixin.mp.util.http.okhttp.OkhttpMaterialVoiceAndImageDownloadRequestExecutor; | |||
| import org.apache.commons.io.IOUtils; | |||
| import java.io.ByteArrayInputStream; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| public class JoddMaterialVoiceAndImageDownloadRequestExecutor extends MaterialVoiceAndImageDownloadRequestExecutor<HttpConnectionProvider,ProxyInfo> { | |||
| public class JoddMaterialVoiceAndImageDownloadRequestExecutor extends MaterialVoiceAndImageDownloadRequestExecutor<HttpConnectionProvider, ProxyInfo> { | |||
| public JoddMaterialVoiceAndImageDownloadRequestExecutor(RequestHttp requestHttp, File tmpDirFile) { | |||
| super(requestHttp, tmpDirFile); | |||
| } | |||
| @@ -1,8 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.jodd; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import jodd.http.HttpConnectionProvider; | |||
| import jodd.http.HttpRequest; | |||
| import jodd.http.HttpResponse; | |||
| @@ -13,10 +10,13 @@ import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.mp.bean.material.WxMediaImgUploadResult; | |||
| import me.chanjar.weixin.mp.util.http.MediaImgUploadRequestExecutor; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| public class JoddMediaImgUploadRequestExecutor extends MediaImgUploadRequestExecutor<HttpConnectionProvider,ProxyInfo> { | |||
| public class JoddMediaImgUploadRequestExecutor extends MediaImgUploadRequestExecutor<HttpConnectionProvider, ProxyInfo> { | |||
| public JoddMediaImgUploadRequestExecutor(RequestHttp requestHttp) { | |||
| super(requestHttp); | |||
| } | |||
| @@ -1,12 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.jodd; | |||
| import java.io.ByteArrayInputStream; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| import java.net.URLEncoder; | |||
| import java.util.UUID; | |||
| import jodd.http.HttpConnectionProvider; | |||
| import jodd.http.HttpRequest; | |||
| import jodd.http.HttpResponse; | |||
| @@ -19,10 +12,17 @@ import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; | |||
| import me.chanjar.weixin.mp.util.http.QrCodeRequestExecutor; | |||
| import java.io.ByteArrayInputStream; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| import java.net.URLEncoder; | |||
| import java.util.UUID; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| public class JoddQrCodeRequestExecutor extends QrCodeRequestExecutor<HttpConnectionProvider,ProxyInfo> { | |||
| public class JoddQrCodeRequestExecutor extends QrCodeRequestExecutor<HttpConnectionProvider, ProxyInfo> { | |||
| public JoddQrCodeRequestExecutor(RequestHttp requestHttp) { | |||
| super(requestHttp); | |||
| } | |||
| @@ -1,15 +1,14 @@ | |||
| package me.chanjar.weixin.mp.util.http.okhttp; | |||
| import java.io.IOException; | |||
| import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.RequestExecutor; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.common.util.http.okhttp.OkhttpProxyInfo; | |||
| import me.chanjar.weixin.mp.util.http.MaterialDeleteRequestExecutor; | |||
| import okhttp3.*; | |||
| import java.io.IOException; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| @@ -1,7 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.okhttp; | |||
| import java.io.IOException; | |||
| import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| @@ -11,6 +9,8 @@ import me.chanjar.weixin.mp.util.http.MaterialNewsInfoRequestExecutor; | |||
| import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||
| import okhttp3.*; | |||
| import java.io.IOException; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| @@ -1,21 +1,8 @@ | |||
| package me.chanjar.weixin.mp.util.http.okhttp; | |||
| import java.io.File; | |||
| import java.io.FileNotFoundException; | |||
| import java.io.IOException; | |||
| import java.util.Map; | |||
| import org.apache.http.client.config.RequestConfig; | |||
| import org.apache.http.client.methods.CloseableHttpResponse; | |||
| import org.apache.http.client.methods.HttpPost; | |||
| import org.apache.http.entity.ContentType; | |||
| import org.apache.http.entity.mime.HttpMultipartMode; | |||
| import org.apache.http.entity.mime.MultipartEntityBuilder; | |||
| import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| import me.chanjar.weixin.common.util.http.apache.Utf8ResponseHandler; | |||
| import me.chanjar.weixin.common.util.http.okhttp.OkhttpProxyInfo; | |||
| import me.chanjar.weixin.common.util.json.WxGsonBuilder; | |||
| import me.chanjar.weixin.mp.bean.material.WxMpMaterial; | |||
| @@ -23,6 +10,11 @@ import me.chanjar.weixin.mp.bean.material.WxMpMaterialUploadResult; | |||
| import me.chanjar.weixin.mp.util.http.MaterialUploadRequestExecutor; | |||
| import okhttp3.*; | |||
| import java.io.File; | |||
| import java.io.FileNotFoundException; | |||
| import java.io.IOException; | |||
| import java.util.Map; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| @@ -66,7 +58,7 @@ public class OkhttpMaterialUploadRequestExecutor extends MaterialUploadRequestEx | |||
| if (material.getForm() != null) { | |||
| bodyBuilder.addFormDataPart("description", WxGsonBuilder.create().toJson(form)); | |||
| } | |||
| RequestBody body =bodyBuilder.build(); | |||
| RequestBody body = bodyBuilder.build(); | |||
| Request request = new Request.Builder().url(uri).post(body).build(); | |||
| Response response = client.newCall(request).execute(); | |||
| String responseContent = response.body().string(); | |||
| @@ -1,7 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.okhttp; | |||
| import java.io.IOException; | |||
| import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| @@ -10,6 +8,8 @@ import me.chanjar.weixin.mp.bean.material.WxMpMaterialVideoInfoResult; | |||
| import me.chanjar.weixin.mp.util.http.MaterialVideoInfoRequestExecutor; | |||
| import okhttp3.*; | |||
| import java.io.IOException; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| @@ -38,7 +38,7 @@ public class OkhttpMaterialVideoInfoRequestExecutor extends MaterialVideoInfoReq | |||
| //得到httpClient | |||
| OkHttpClient client = clientBuilder.build(); | |||
| RequestBody requestBody =new FormBody.Builder().add("media_id", materialId).build(); | |||
| RequestBody requestBody = new FormBody.Builder().add("media_id", materialId).build(); | |||
| Request request = new Request.Builder().url(uri).post(requestBody).build(); | |||
| Response response = client.newCall(request).execute(); | |||
| String responseContent = response.body().string(); | |||
| @@ -1,12 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.okhttp; | |||
| import java.io.ByteArrayInputStream; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| import org.apache.commons.io.IOUtils; | |||
| import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| @@ -14,6 +7,12 @@ import me.chanjar.weixin.common.util.http.okhttp.OkhttpProxyInfo; | |||
| import me.chanjar.weixin.common.util.json.WxGsonBuilder; | |||
| import me.chanjar.weixin.mp.util.http.MaterialVoiceAndImageDownloadRequestExecutor; | |||
| import okhttp3.*; | |||
| import org.apache.commons.io.IOUtils; | |||
| import java.io.ByteArrayInputStream; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| @@ -1,8 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.okhttp; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| import me.chanjar.weixin.common.util.http.RequestHttp; | |||
| @@ -11,6 +8,9 @@ import me.chanjar.weixin.mp.bean.material.WxMediaImgUploadResult; | |||
| import me.chanjar.weixin.mp.util.http.MediaImgUploadRequestExecutor; | |||
| import okhttp3.*; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||
| @@ -1,11 +1,5 @@ | |||
| package me.chanjar.weixin.mp.util.http.okhttp; | |||
| import java.io.ByteArrayInputStream; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| import java.util.UUID; | |||
| import jodd.util.MimeTypes; | |||
| import me.chanjar.weixin.common.bean.result.WxError; | |||
| import me.chanjar.weixin.common.exception.WxErrorException; | |||
| @@ -16,6 +10,12 @@ import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; | |||
| import me.chanjar.weixin.mp.util.http.QrCodeRequestExecutor; | |||
| import okhttp3.*; | |||
| import java.io.ByteArrayInputStream; | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| import java.util.UUID; | |||
| /** | |||
| * Created by ecoolper on 2017/5/5. | |||
| */ | |||