package com.yeshi.base.utils.http;
|
|
import android.content.Context;
|
|
import com.lcjian.library.util.ManifestDataUtil;
|
import com.lcjian.library.util.common.PackageUtils2;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.lcjian.library.util.security.MD5Utils;
|
import com.loopj.android.http.AsyncHttpClient;
|
import com.loopj.android.http.RequestParams;
|
import com.loopj.android.http.ResponseHandlerInterface;
|
import com.loopj.android.http.SyncHttpClient;
|
|
import java.io.File;
|
import java.io.FileNotFoundException;
|
import java.util.HashMap;
|
import java.util.LinkedHashMap;
|
import java.util.Map.Entry;
|
|
public class API {
|
|
public static final boolean isDebug = false;
|
|
private static final String TAG = "BeibeiVideoAPI";
|
|
public static String ERROR_NOTICE = "";
|
|
public static String HOST = "http://api.ysdq.yeshitv.com:8089";
|
|
public static String BASE_URL = HOST + "/BuWan/api/v2/";
|
|
private static AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
|
|
private static SyncHttpClient syncHttpClient = new SyncHttpClient();
|
|
static {
|
asyncHttpClient.setTimeout(60 * 1000);
|
syncHttpClient.setTimeout(60 * 1000);
|
asyncHttpClient.setURLEncodingEnabled(false);
|
syncHttpClient.setURLEncodingEnabled(false);
|
}
|
|
public static void postRequest(Context context, String url, LinkedHashMap<String, String> params,
|
ResponseHandlerInterface handler) {
|
commonPost(context, url, params, handler);
|
}
|
|
|
public static LinkedHashMap<String, String> validateParams(
|
LinkedHashMap<String, String> params, Context context) {
|
params.put("System", "1");
|
StringBuilder sign = new StringBuilder();
|
sign.append(params.get("Method"))
|
.append(StringUtils.isEmpty(params.get("Uid")) ? params.get("Device")
|
: params.get("Uid")).append(params.get("System"));
|
params.put("Sign", MD5Utils.getMD532(sign.toString()));
|
params.put("Platform", "Android");
|
params.put("Channel", ManifestDataUtil.getAppMetaData(context, "UMENG_CHANNEL"));
|
return params;
|
}
|
|
@SuppressWarnings("unused")
|
private static void commonGet(Context context, String url,
|
LinkedHashMap<String, String> params,
|
ResponseHandlerInterface handler) {
|
commonGet(context, url, params, handler, true);
|
}
|
|
public static void commonGet(Context context, String url,
|
LinkedHashMap<String, String> params,
|
ResponseHandlerInterface handler, boolean asyn) {
|
params.put("Package", context.getPackageName());
|
LinkedHashMap<String, String> map = validateParams(params, context);
|
|
RequestParams requestParams = new RequestParams(map);
|
if (asyn) {
|
(asyncHttpClient).get(context, url, requestParams, handler);
|
} else {
|
(syncHttpClient).get(context, url, requestParams, handler);
|
}
|
}
|
|
public static void commonPost(Context context, String url,
|
LinkedHashMap<String, String> params,
|
ResponseHandlerInterface handler) {
|
commonPost(context, url, params, null, handler);
|
}
|
|
public static void commonPost(Context context, String url,
|
LinkedHashMap<String, String> params, HashMap<String, File> files,
|
ResponseHandlerInterface handler) {
|
commonPost(context, url, params, files, handler, true);
|
}
|
|
public static void commonPost(Context context, String url,
|
LinkedHashMap<String, String> params, HashMap<String, File> files,
|
ResponseHandlerInterface handler, boolean asyn) {
|
params.put("Package", "com.mugua.mgvideo");//context.getPackageName()
|
int version = PackageUtils2.getVersionCode(context);
|
params.put("Version", version + "");
|
|
LinkedHashMap<String, String> map = validateParams(params, context);
|
RequestParams requestParams = new RequestParams(map);
|
|
if (files != null) {
|
for (Entry<String, File> entry : files.entrySet()) {
|
try {
|
requestParams.put(entry.getKey(), entry.getValue());
|
} catch (FileNotFoundException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
if (asyn) {
|
// asyncHttpClient.setProxy("192.168.1.122", 8888);
|
asyncHttpClient.post(context, url, requestParams, handler);
|
} else {
|
// asyncHttpClient.setProxy("192.168.1.122", 8888);
|
syncHttpClient.post(context, url, requestParams, handler);
|
}
|
}
|
|
public static void commonGet(Context context, String url,
|
RequestParams params, ResponseHandlerInterface handler, boolean asyn) {
|
if (asyn) {
|
asyncHttpClient.get(context, url, params, handler);
|
} else {
|
syncHttpClient.get(context, url, params, handler);
|
}
|
}
|
|
public static void commonGet(Context context, String url,
|
ResponseHandlerInterface handler, boolean asyn) {
|
if (asyn) {
|
asyncHttpClient.get(context, url, handler);
|
} else {
|
syncHttpClient.get(context, url, handler);
|
}
|
|
}
|
}
|