admin
2021-04-07 cbb88109494ffc7916f6639c20ce05c0cec941a9
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;
@@ -753,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);
    }
@@ -827,12 +834,27 @@
    }
    public static void getHomeType(Context context, String uid, String vtid,
    public static void getHomeType(Context context, String uid, String vtid, String dataKey, int page, int pageSize,
                                   ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        params.put("Method", "getHomeType");
        params.put("Method", "getHomeTypeNew");
        params.put("Uid", uid);
        params.put("Vtid", vtid);
        params.put("Page", page + "");
        params.put("PageSize", pageSize + "");
        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);
    }
@@ -1105,7 +1127,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");
@@ -1115,9 +1137,27 @@
        if (position != null) {
            params.put("Position", position + "");
        }
        if (from != null) {
            params.put("From", from + "");
        }
        params.put("ResourceId", ResourceId);
        params.put("Type", type);
        commonPost(context, BASE_URL + "recommend", params, handler);
    }
    public static void uploadSession(Context context, String sessionId,
                                     String type,
                                     ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        params.put("Method", "uploadSession");
        if (sessionId != null)
            params.put("sessionId", sessionId);
        if (type != null)
            params.put("type", type);
        commonPost(context, BASE_URL + "session", params, handler);
    }
@@ -1133,12 +1173,13 @@
     * @param handler
     */
    public static void getVideoEpisodeList(Context context, String uid,
                                           String ResourceId, String videoId, int page,
                                           String ResourceId, String videoId, int page,int pageSize,
                                           ResponseHandlerInterface handler) {
        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
        params.put("Method", "getVideoEpisodeList");
        params.put("Uid", uid);
        params.put("Page", page + "");
        params.put("PageSize", pageSize + "");
        params.put("VideoId", videoId);
        params.put("ResourceId", ResourceId);
        commonPost(context, BASE_URL + "recommend", params, handler);
@@ -1266,8 +1307,8 @@
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        if (loginUid != null)
        if (type != null)
            params.put("type", type);
            if (type != null)
                params.put("type", type);
        if (token != null)
            params.put("regId", token);
@@ -1309,22 +1350,45 @@
    }
    /**
     * 付费视频的购买活动
     *
     * @param context
     * @param cid
     * @param vid
     * @param handler
     */
    public static void getPPTVVIPVideoActivity(Context context, String url, String cid, String vid,
                                               ResponseHandlerInterface handler) {
        String loginUid = UserUtil.getLoginUid(context);
        LinkedHashMap<String, String> params = new LinkedHashMap<>();
        if (loginUid != null)
            params.put("loginUid", loginUid);
        if (url != null) {
            params.put("url", url);
        }
        params.put("cid", cid);
        params.put("vid", vid);
        commonPost(context, BASE_URL + "video/play/getPPTVVIPVideoActivity", 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;
    }
@@ -1355,8 +1419,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();