From cbb88109494ffc7916f6639c20ce05c0cec941a9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 07 四月 2021 15:07:45 +0800
Subject: [PATCH] 3.9.1bug修复

---
 BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java |  225 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 208 insertions(+), 17 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java
index dc8e570..2e9e47f 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java
@@ -3,9 +3,14 @@
 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;
 
 import android.content.Context;
@@ -16,6 +21,7 @@
 import android.widget.Toast;
 
 import com.google.gson.Gson;
+import com.google.gson.JsonObject;
 import com.lcjian.library.DeviceUuidFactory;
 import com.lcjian.library.okhttp.OkHttpUtils;
 import com.lcjian.library.util.ManifestDataUtil;
@@ -28,7 +34,11 @@
 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;
 
 import okhttp3.Call;
 import okhttp3.Callback;
@@ -83,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);
@@ -200,6 +215,42 @@
         params.put("Page", page);
         commonPost(context, BASE_URL + "class", params, handler);
     }
+
+    /**
+     * 鑾峰彇瑙傜湅璁板綍
+     *
+     * @param context
+     * @param uid
+     * @param page
+     * @param handler
+     */
+
+    public static void getWatchHistory(Context context, String uid, int page,
+                                       ResponseHandlerInterface handler) {
+        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
+        params.put("Method", "getWatchHistory");
+        params.put("Uid", uid);
+        params.put("Page", page + "");
+        commonPost(context, BASE_URL + "userVideo", params, handler);
+    }
+
+    /**
+     * 鍒犻櫎鍘嗗彶璁板綍
+     *
+     * @param context
+     * @param uid
+     * @param ids
+     * @param handler
+     */
+    public static void deleteWatchHistory(Context context, String uid, Set<String> ids,
+                                          ResponseHandlerInterface handler) {
+        LinkedHashMap<String, String> params = new LinkedHashMap<String, String>();
+        params.put("Method", "deleteWatchHistory");
+        params.put("Uid", uid);
+        params.put("Ids", new JSONArray(ids).toString());
+        commonPost(context, BASE_URL + "userVideo", params, handler);
+    }
+
 
     public static void search(Context context, String uid, String key,
                               String contentType, String page, ResponseHandlerInterface handler) {
@@ -706,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);
     }
 
@@ -780,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);
     }
 
@@ -1058,16 +1127,37 @@
     }
 
     public static void getVideoDetail(Context context, String uid,
-                                      String ResourceId, String videoId, 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");
         params.put("Uid", uid);
         params.put("LoginUid", loginid);
         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);
         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);
 
     }
 
@@ -1083,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);
@@ -1202,22 +1293,102 @@
     }
 
 
+    /**
+     * 鎺ㄩ�佺粦瀹歍oken
+     *
+     * @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);
+    }
+
+
+    /**
+     * 浠樿垂瑙嗛鐨勮喘涔版椿鍔�
+     *
+     * @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;
     }
 
@@ -1248,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>();
+        //绉婚櫎涓簄ull鐨勫��
+        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, "鏈嶅姟鍣ㄦ嫆缁濊闂紝璇锋煡鐪嬫槸鍚︾鐢ㄤ簡浠g悊鏈嶅姟鍣紒",
                     Toast.LENGTH_SHORT).show();
@@ -1333,7 +1515,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()) {
@@ -1395,6 +1581,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) {

--
Gitblit v1.8.0