admin
2021-03-30 12a19ad554e6f7c5c355856c12914bca7bce70e8
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java
@@ -3,8 +3,12 @@
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@@ -30,7 +34,9 @@
import com.loopj.android.http.RequestParams;
import com.loopj.android.http.ResponseHandlerInterface;
import com.loopj.android.http.SyncHttpClient;
import com.ut.device.UTDevice;
import com.weikou.beibeivideo.util.BeibeiConstant;
import com.weikou.beibeivideo.util.UserUtil;
import org.json.JSONArray;
@@ -87,6 +93,11 @@
        params.put("Lat", lat);
        params.put("Lng", lng);
        params.put("Channel", channel);
        try {
            params.put("UtdId", UTDevice.getUtdid(context));
        } catch (Exception e) {
        }
        if (!StringUtils.isBlank(BeibeiVideoApplication.deviceNumber)) {
            params.put("DeviceName", BeibeiVideoApplication.deviceName);
            params.put("DeviceNumber", BeibeiVideoApplication.deviceNumber);
@@ -746,12 +757,15 @@
    }
    public static void getHomeAd(Context context, String uid, String vtid,
    public static void getHomeAd(Context context, String uid, String vtid, String dataKey,
                                 ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        params.put("Method", "getHomeAd");
        params.put("Uid", uid);
        params.put("Vtid", vtid);
        if (dataKey != null) {
            params.put("DataKey", dataKey);
        }
        commonPost(context, BASE_URL + "recommend", params, handler);
    }
@@ -820,12 +834,25 @@
    }
    public static void getHomeType(Context context, String uid, String vtid,
    public static void getHomeType(Context context, String uid, String vtid, String dataKey,
                                   ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        params.put("Method", "getHomeType");
        params.put("Uid", uid);
        params.put("Vtid", vtid);
        if (dataKey != null) {
            params.put("DataKey", dataKey);
        }
        commonPost(context, BASE_URL + "recommend", params, handler);
    }
    public static void getHomeVideoList(Context context, String id, int page,
                                        ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        params.put("Method", "getHomeVideoList");
        params.put("Id", id);
        params.put("Page", page + "");
        commonPost(context, BASE_URL + "recommend", params, handler);
    }
@@ -1098,7 +1125,7 @@
    }
    public static void getVideoDetail(Context context, String uid,
                                      String ResourceId, String videoId, Integer position, String loginid, String type,
                                      String ResourceId, String videoId, Integer position, String loginid, String type, String from,
                                      ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        params.put("Method", "getVideoDetail");
@@ -1107,6 +1134,10 @@
        params.put("VideoId", videoId);
        if (position != null) {
            params.put("Position", position + "");
        }
        if (from != null) {
            params.put("From", from + "");
        }
        params.put("ResourceId", ResourceId);
        params.put("Type", type);
@@ -1245,22 +1276,79 @@
    }
    /**
     * 推送绑定Token
     *
     * @param context
     * @param type
     * @param token
     * @param handler
     */
    public static void pushBindToken(Context context, String type, String token,
                                     ResponseHandlerInterface handler, boolean async) {
        String loginUid = UserUtil.getLoginUid(context);
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        if (loginUid != null)
            if (type != null)
                params.put("type", type);
        if (token != null)
            params.put("regId", token);
        String model = android.os.Build.MODEL;
        if (model != null)
            params.put("model", model);
        String version = android.os.Build.VERSION.RELEASE;
        if (version != null) {
            params.put("androidVersion", version);
        }
        commonPost(context, BASE_URL + "push/bindDeviceToken", params, null, handler, async, false);
    }
    /**
     * 上传PPTV播放记录
     *
     * @param context
     * @param cid
     * @param vid
     * @param handler
     */
    public static void uploadPPTVPlayRecord(Context context, String cid, String vid,
                                            ResponseHandlerInterface handler) {
        String loginUid = UserUtil.getLoginUid(context);
        String uid = UserUtil.getUid(context);
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        if (loginUid != null)
            params.put("loginUid", loginUid);
        if (uid != null)
            params.put("Uid", uid);
        params.put("Cid", cid);
        params.put("Vid", vid);
        commonPost(context, BASE_URL + "video/play/pptvPlay", params, handler);
    }
    public static LinkedHashMap<String, String> validateParams(
            LinkedHashMap<String, String> params, Context context) {
        params.put("System", "1");
        StringBuilder sign = new StringBuilder();
        // for (Entry<String, String> entry : params.entrySet()) {
        // sign.append(entry.getValue());
        // }
        sign.append(params.get("Method"))
                .append(StringUtils.isEmpty(params.get("Uid")) ? params.get("Device")
                        : params.get("Uid")).append(params.get("System"));
        if (BuildConfig.DEBUG) {
            Log.i(TAG, "sign: " + sign);
        }
        params.put("Sign", MD5Utils.getMD532(sign.toString()));
        params.put("Platform", "Android");
        params.put("Channel", ManifestDataUtil.getAppMetaData(context, "UMENG_CHANNEL"));
        //签名
        List<String> list = new ArrayList<>();
        for (Iterator<String> its = params.keySet().iterator(); its.hasNext(); ) {
            String key = its.next();
            list.add(key + "=" + params.get(key));
        }
        Collections.sort(list);
        String str = StringUtils.toString(list, "&");
        String sign = MD5Utils.getMD532(str + "8888B&*@-uWan88/',@@^");
        params.put("Sign", sign);
        return params;
    }
@@ -1291,8 +1379,19 @@
    private static void commonPost(Context context, String url,
                                   LinkedHashMap<String, String> params,
                                   ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> newParams = new LinkedHashMap<String, String>();
        //移除为null的值
        for (Iterator<String> its = params.keySet().iterator(); its.hasNext(); ) {
            String key = its.next();
            if (params.get(key) != null) {
                newParams.put(key, params.get(key));
            }
        }
        if (BeibeiConstant.isDisableProxy()) {
            commonPost(context, url, params, null, handler);
            commonPost(context, url, newParams, null, handler);
        } else {
            Toast.makeText(context, "服务器拒绝访问,请查看是否禁用了代理服务器!",
                    Toast.LENGTH_SHORT).show();
@@ -1376,7 +1475,11 @@
            int version = PackageUtils2.getVersionCode(context);
            params.put("Version", version + "");
            params.put("Device", getDeviceId(context));
            try {
                params.put("UtdId", UTDevice.getUtdid(context));
            } catch (Exception e) {
            }
            LinkedHashMap<String, String> map = validateParams(params, context);
            FormBody.Builder builder = new FormBody.Builder();
            for (String key : map.keySet()) {
@@ -1438,6 +1541,11 @@
        int version = PackageUtils2.getVersionCode(context);
        params.put("Version", version + "");
        params.put("Device", getDeviceId(context));
        try {
            params.put("UtdId", UTDevice.getUtdid(context));
        } catch (Exception e) {
        }
        LinkedHashMap<String, String> map = validateParams(params, context);
        RequestParams requestParams = new RequestParams(map);
        if (BuildConfig.DEBUG) {