From b37275dba6b782bf3bb3817c4504f6cdef1bef7c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 18 三月 2021 18:38:51 +0800 Subject: [PATCH] APP首页顶部标签兼容 --- src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java b/src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java index 20dd816..bdac890 100644 --- a/src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java +++ b/src/main/java/com/yeshi/buwan/pptv/PPTVApiUtil.java @@ -1,6 +1,7 @@ package com.yeshi.buwan.pptv; import com.google.gson.Gson; +import com.yeshi.buwan.pptv.entity.PPTVProgram; import com.yeshi.buwan.pptv.entity.PPTVSeries; import com.yeshi.buwan.util.StringUtil; import com.yeshi.buwan.util.TimeUtil; @@ -13,6 +14,7 @@ import org.slf4j.LoggerFactory; import org.yeshi.utils.HttpUtil; +import java.lang.reflect.Field; import java.net.URLEncoder; import java.util.*; @@ -144,11 +146,37 @@ } public static PPTVSeries getDetail(String seriesCodes) { + Gson gson = new Gson(); Map<String, String> params = new HashMap<>(); params.put("seriesCodes", seriesCodes); String result = baseRequest(params, "pptv.channel.content.detail"); - System.out.println(result); - return null; + JSONObject resultJSON = JSONObject.fromObject(result); + JSONArray array = resultJSON.optJSONObject("response").optJSONObject("body").optJSONArray("contentInfos"); + List<PPTVProgram> programList = new ArrayList<>(); + PPTVSeries pptvSeries = null; + for (int i = 0; i < array.size(); i++) { + JSONObject item = array.optJSONObject(i); + if (pptvSeries == null) + pptvSeries = gson.fromJson(item.toString(), PPTVSeries.class); + + List<String> keys = new ArrayList<>(); + for (Iterator<String> its = item.keys(); its.hasNext(); ) { + String key = its.next(); + if (!key.contains("series_")) { + keys.add(key); + } + } + + for (String key : keys) { + item.remove(key); + } + + String itemStr = item.toString().replace("series_", ""); + PPTVProgram program = gson.fromJson(itemStr, PPTVProgram.class); + programList.add(program); + } + pptvSeries.setSeries(programList); + return pptvSeries; } @@ -185,7 +213,7 @@ * @param code */ public static boolean login(String code) { - String url = String.format("https://coapi.pptv.com/coapi-web/api/getUserToken/%s/%s.htm", APP_KEY,URLEncoder.encode(code)); + String url = String.format("https://coapi.pptv.com/coapi-web/api/getUserToken/%s/%s.htm", APP_KEY, URLEncoder.encode(code)); String result = HttpUtil.get(url); System.out.println(result); JSONObject resultJSON = JSONObject.fromObject(result); -- Gitblit v1.8.0