解决token 401问题

This commit is contained in:
huangzhuanghua
2016-11-16 14:22:07 +08:00
parent d74d91532b
commit b9eb8de88a
6 changed files with 131 additions and 99 deletions

View File

@ -12,70 +12,77 @@ import com.gh.gamecenter.volley.extended.StringExtendedRequest;
/**
* Created by khy on 2016/11/9.
*
*/
public class PostCommentUtils {
public static void addCommentData(final String url, final String content, final Context context, final PostCommentListener listener) {
public static void addCommentData(final String url, final String content, final Context context,
final PostCommentListener listener) {
new Thread(new Runnable() {
@Override
public void run() {
Utils.log("url::" + url, "/ content::" + content);
StringExtendedRequest request = new StringExtendedRequest(
Request.Method.POST, url, content,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (listener != null){
listener.postSucced(response.toString());
listener.postSucced(response);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if (error.networkResponse != null && error.networkResponse.statusCode == 401) {
TokenUtils.getToken(context, false);
addCommentData(url, content, context, listener);
return;
}
if (listener != null){
listener.postFailed(error);
}
}
});
request.setShouldCache(false);
request.addHeader("TOKEN",TokenUtils.getToken(context));
request.addHeader("TOKEN", TokenUtils.getToken(context));
AppController.addToRequestQueue(request);
}
}).start();
}
public static void addCommentVoto(final String newsId, final Context context, final PostCommentListener listener) {
new Thread(new Runnable() {
@Override
public void run() {
StringExtendedRequest request = new StringExtendedRequest(
Request.Method.POST, Config.COMMENT_HOST + "comment/" + newsId + "/vote" ,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e("======onResponse", "onResponse");
if (listener != null){
listener.postSucced(response.toString());
listener.postSucced(response);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("======onErrorResponse", new String(error.networkResponse.data));
if (error.networkResponse != null && error.networkResponse.statusCode == 401) {
TokenUtils.getToken(context, false);
addCommentVoto(newsId, context, listener);
return;
}
if (listener != null){
listener.postFailed(error);
}
}
});
request.setShouldCache(false);
request.addHeader("TOKEN",TokenUtils.getToken(context));
request.addHeader("TOKEN", TokenUtils.getToken(context));
AppController.addToRequestQueue(request);
}
}).start();
}
public interface PostCommentListener {
@ -83,5 +90,4 @@ public class PostCommentUtils {
void postFailed(VolleyError error);
}
}