package com.wisedu.scc.love.widget.http; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import com.loopj.android.http.RequestParams; import org.apache.http.Header; import com.wisedu.scc.love.utils.AppUtil; import com.wisedu.scc.love.widget.http.HttpManager.HttpConfig; import java.io.File; import java.io.Serializable; import java.util.Map; /** * 成绩查询对外接口 * * @author DONG Shengdong * */ public class HttpManagerWrapper implements RequestInterpator { private static final String TAG = "HttpManagerWrapper"; public static final String DATA = "DATA"; private static HttpManagerWrapper mHttpManagerWrapper = null; private static HttpManager.HttpConfig httpConfig = null; public static String FS_URL; private Context context; private HttpManagerWrapper(Context context) { this.context = context; httpConfig = new HttpConfig(); final String prefix = AppUtil .getMetaString(context, Platform.API_URL); FS_URL = AppUtil .getMetaString(context, Platform.FS_URL); httpConfig.setPrefix(prefix); httpConfig.setRequestInterpator(this); httpConfig.setHeadMap(AppUtil.getConfigMap(context, "props")); } public static synchronized HttpManagerWrapper getInstance(Context context) { if (mHttpManagerWrapper == null || httpConfig == null) { mHttpManagerWrapper = new HttpManagerWrapper(context); } return mHttpManagerWrapper; } public HttpConfig getHttpConfig() { return httpConfig; } public void post(final String url, final ICallback callback, final Object... objs) { this.post(url, callback, null, objs); } public void post(final String url, final ICallback callback, final Map<String, Object> pararms, final Object... objs) { Log.v(TAG, "post url=" + url); HttpManager.create(httpConfig).postScc(url, new AutoHttpResponseHandler() { @Override protected void onSuccess(Header[] headers, int state, int status, String data, String msg) { if (state == 0) { if (callback != null) { callback.onSuccess(url, data, objs); } } else { if (callback != null) { callback.onFailed(url, state, msg, objs); } } } }, pararms); } public void postZ(final String url, final ICallback callback, final Object... objs) { Log.v(TAG, "postZ url=" + url); HttpManager.create(httpConfig).postScc(url, new AutoHttpResponseHandler() { @Override protected void onSuccess(Header[] headers, int state, int status, String data, String msg) { if (state == 0) { if (callback != null) { callback.onSuccess(url, data, objs); } } else { if (callback != null) { callback.onFailed(url, state, msg, objs); } } } }, objs); } public String postSync(final String url, final Map<String, Object> pararms) { return HttpManager.create(httpConfig).postServiceSync(url, pararms); } public String uploadSync(String url, final File file, final String bizKey) { try { RequestParams params = new RequestParams(); params.put("file", file); params.put("bizKey", bizKey); return HttpManager.create(httpConfig).postSync(url, params); } catch (Exception e) { e.printStackTrace(); return null; } } @Override public boolean intercept(String url, int status) { Log.v(TAG, "intercept url=" + url + " status=" + status); if (status == 0) { return true; } return false; } @Override public boolean loginOffline() { Log.v(TAG, "loginOffline..."); return Platform.getPlatform(context).login(HttpManager.create(httpConfig)); } @Override public void requestStart() { Platform.getPlatform(context).attachHeader(HttpManager.create(httpConfig)); } public void startActivity(Context context, Class<?> cls) { Intent intent = new Intent(context, cls); context.startActivity(intent); } public void startActivity(Context context, Class<?> cls, Serializable data) { Intent intent = new Intent(context, cls); intent.putExtra(DATA, data); context.startActivity(intent); } public void startActivity(Context context, Class<?> cls, Bundle data) { Intent intent = new Intent(context, cls); intent.putExtras(data); context.startActivity(intent); } }