This commit is contained in:
jhengazuki 2025-07-01 23:27:47 +08:00
parent 0e5697ba51
commit 2c4ef43f76
9 changed files with 1 additions and 1585 deletions

View File

@ -1,130 +0,0 @@
package com.github.catvod.bean.jianpian;
import android.text.TextUtils;
import com.github.catvod.bean.Vod;
import com.github.catvod.utils.Util;
import com.google.gson.annotations.SerializedName;
import java.util.Collections;
import java.util.List;
public class Data {
@SerializedName(value = "jump_id", alternate = "id")
private String jumpId;
@SerializedName(value = "thumbnail", alternate = "path")
private String thumbnail;
@SerializedName("title")
private String title;
@SerializedName("mask")
private String mask;
@SerializedName("description")
private String description;
@SerializedName("playlist")
private Value playlist;
@SerializedName("year")
private Value year;
@SerializedName("area")
private Value area;
@SerializedName("types")
private List<Value> types;
@SerializedName("actors")
private List<Value> actors;
@SerializedName("directors")
private List<Value> directors;
@SerializedName("btbo_downlist")
private List<BtboDown> btboDownlist;
public String getJumpId() {
return TextUtils.isEmpty(jumpId) ? "" : jumpId;
}
public String getThumbnail() {
return TextUtils.isEmpty(thumbnail) ? "" : thumbnail + "@Referer=www.jianpianapp.com@User-Agent=jianpian-version362";
}
public String getTitle() {
return TextUtils.isEmpty(title) ? "" : title;
}
public String getMask() {
return TextUtils.isEmpty(mask) ? getPlaylist() : mask;
}
public String getDescription() {
return TextUtils.isEmpty(description) ? "" : description.replace(" ", "");
}
public String getPlaylist() {
return playlist == null ? "" : playlist.getTitle();
}
public String getYear() {
return year == null ? "" : year.getTitle();
}
public String getArea() {
return area == null ? "" : area.getTitle();
}
public String getTypes() {
return types == null ? "" : getValues(types, false);
}
public String getActors() {
return actors == null ? "" : getValues(actors, true);
}
public String getDirectors() {
return directors == null ? "" : getValues(directors, true);
}
public List<BtboDown> getBtboDownlist() {
return btboDownlist == null ? Collections.emptyList() : btboDownlist;
}
public Vod vod() {
return new Vod(getJumpId(), getTitle(), getThumbnail(), getMask());
}
public String getValues(List<Value> items, boolean link) {
StringBuilder sb = new StringBuilder();
for (Value value : items) sb.append(value.getValue(link)).append(" ");
return Util.substring(sb.toString());
}
public String getPlayUrl() {
StringBuilder sb = new StringBuilder();
for (BtboDown value : getBtboDownlist()) sb.append(value.getVal()).append("#");
return Util.substring(sb.toString());
}
public static class Value {
@SerializedName(value = "title", alternate = "name")
private String title;
private String getTitle() {
return TextUtils.isEmpty(title) ? "" : title;
}
private String getLink() {
return String.format("[a=cr:{\"id\":\"%s\",\"name\":\"%s\"}/]%s[/a]", getTitle() + "/{pg}", getTitle(), getTitle());
}
public String getValue(boolean link) {
return link ? getLink() : getTitle();
}
}
public static class BtboDown {
@SerializedName("val")
private String val;
public String getVal() {
return TextUtils.isEmpty(val) ? "" : val.replaceAll("ftp", "tvbox-xg:ftp");
}
}
}

View File

@ -1,18 +0,0 @@
package com.github.catvod.bean.jianpian;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
public class Detail {
@SerializedName("data")
private Data data;
public static Detail objectFrom(String str) {
return new Gson().fromJson(str, Detail.class);
}
public Data getData() {
return data == null ? new Data() : data;
}
}

View File

@ -1,21 +0,0 @@
package com.github.catvod.bean.jianpian;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import java.util.Collections;
import java.util.List;
public class Resp {
@SerializedName("data")
private List<Data> data;
public static Resp objectFrom(String str) {
return new Gson().fromJson(str, Resp.class);
}
public List<Data> getData() {
return data == null ? Collections.emptyList() : data;
}
}

View File

@ -1,114 +0,0 @@
package com.github.catvod.spider;
import android.content.Context;
import com.github.catvod.bean.Class;
import com.github.catvod.bean.Result;
import com.github.catvod.bean.Vod;
import com.github.catvod.bean.jianpian.Data;
import com.github.catvod.bean.jianpian.Detail;
import com.github.catvod.bean.jianpian.Resp;
import com.github.catvod.crawler.Spider;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Qile
*/
public class Jianpian extends Spider {
private final String siteUrl = "http://4icnx7.qyjzlh.com/";
private String extend;
private Map<String, String> getHeader() {
Map<String, String> headers = new HashMap<>();
headers.put("User-Agent", "jianpian-android/360");
headers.put("JPAUTH", "y261ow7kF2dtzlxh1GS9EB8nbTxNmaK/QQIAjctlKiEv");
return headers;
}
@Override
public void init(Context context, String extend) throws Exception {
this.extend = extend;
}
@Override
public String homeContent(boolean filter) throws Exception {
List<Class> classes = new ArrayList<>();
List<String> typeIds = Arrays.asList("0", "1", "2", "3", "4");
List<String> typeNames = Arrays.asList("全部", "电影", "电视剧", "动漫", "综艺");
for (int i = 0; i < typeIds.size(); i++) classes.add(new Class(typeIds.get(i), typeNames.get(i)));
return Result.string(classes, Json.parse(OkHttp.string(extend)));
}
@Override
public String homeVideoContent() {
List<Vod> list = new ArrayList<>();
String url = siteUrl + "/api/slide/list?code=unknown9039b6856c3a3306&pos_id=88&channel=wandoujia";
Resp resp = Resp.objectFrom(OkHttp.string(url, getHeader()));
for (Data data : resp.getData()) list.add(data.vod());
return Result.string(list);
}
@Override
public String categoryContent(String tid, String pg, boolean filter, HashMap<String, String> extend) throws Exception {
if (tid.endsWith("/{pg}")) return searchContent(tid.split("/")[0], pg);
List<Vod> list = new ArrayList<>();
HashMap<String, String> ext = new HashMap<>();
if (extend != null && extend.size() > 0) ext.putAll(extend);
String cateId = ext.get("cateId") == null ? tid : ext.get("cateId");
String area = ext.get("area") == null ? "0" : ext.get("area");
String year = ext.get("year") == null ? "0" : ext.get("year");
String by = ext.get("by") == null ? "hot" : ext.get("by");
String url = siteUrl + String.format("/api/crumb/list?area=%s&category_id=%s&page=%s&type=0&limit=24&sort=%s&year=%s", area, cateId, pg, by, year);
Resp resp = Resp.objectFrom(OkHttp.string(url, getHeader()));
for (Data data : resp.getData()) list.add(data.vod());
return Result.string(list);
}
@Override
public String detailContent(List<String> ids) throws Exception {
String url = siteUrl + "/api/node/detail?channel=wandoujia&token=&id=" + ids.get(0);
Data data = Detail.objectFrom(OkHttp.string(url, getHeader())).getData();
Vod vod = data.vod();
vod.setVodPlayFrom("Jianpian");
vod.setVodYear(data.getYear());
vod.setVodArea(data.getArea());
vod.setTypeName(data.getTypes());
vod.setVodActor(data.getActors());
vod.setVodPlayUrl(data.getPlayUrl());
vod.setVodDirector(data.getDirectors());
vod.setVodContent(data.getDescription());
return Result.string(vod);
}
@Override
public String playerContent(String flag, String id, List<String> vipFlags) throws Exception {
return Result.get().url(id).header(getHeader()).string();
}
@Override
public String searchContent(String key, boolean quick) throws Exception {
return searchContent(key, "1");
}
@Override
public String searchContent(String key, boolean quick, String pg) throws Exception {
return searchContent(key, pg);
}
public String searchContent(String key, String pg) throws Exception {
List<Vod> list = new ArrayList<>();
String url = siteUrl + "/api/video/search?page=" + pg + "&key=" + URLEncoder.encode(key);
Resp resp = Resp.objectFrom(OkHttp.string(url, getHeader()));
for (Data data : resp.getData()) list.add(data.vod());
return Result.string(list);
}
}

Binary file not shown.

View File

@ -1 +1 @@
77d675fab02d67f80e31fab7723eb15d
796d0367c1378d9397c2aa967715c636

View File

@ -1,794 +0,0 @@
{
"hot_gaia": [
{
"key": "sort",
"name": "排序",
"value": [
{
"n": "热度",
"v": "recommend"
},
{
"n": "最新",
"v": "time"
},
{
"n": "评分",
"v": "rank"
}
]
},
{
"key": "area",
"name": "地区",
"value": [
{
"n": "全部",
"v": "全部"
},
{
"n": "华语",
"v": "华语"
},
{
"n": "欧美",
"v": "欧美"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "日本",
"v": "日本"
}
]
}
],
"tv_hot": [
{
"key": "type",
"name": "分类",
"value": [
{
"n": "综合",
"v": "tv_hot"
},
{
"n": "国产剧",
"v": "tv_domestic"
},
{
"n": "欧美剧",
"v": "tv_american"
},
{
"n": "日剧",
"v": "tv_japanese"
},
{
"n": "韩剧",
"v": "tv_korean"
},
{
"n": "动画",
"v": "tv_animation"
}
]
}
],
"show_hot": [
{
"key": "type",
"name": "分类",
"value": [
{
"n": "综合",
"v": "show_hot"
},
{
"n": "国内",
"v": "show_domestic"
},
{
"n": "国外",
"v": "show_foreign"
}
]
}
],
"movie": [
{
"key": "类型",
"name": "类型",
"value": [
{
"n": "全部类型",
"v": ""
},
{
"n": "喜剧",
"v": "喜剧"
},
{
"n": "爱情",
"v": "爱情"
},
{
"n": "动作",
"v": "动作"
},
{
"n": "科幻",
"v": "科幻"
},
{
"n": "动画",
"v": "动画"
},
{
"n": "悬疑",
"v": "悬疑"
},
{
"n": "犯罪",
"v": "犯罪"
},
{
"n": "惊悚",
"v": "惊悚"
},
{
"n": "冒险",
"v": "冒险"
},
{
"n": "音乐",
"v": "音乐"
},
{
"n": "历史",
"v": "历史"
},
{
"n": "奇幻",
"v": "奇幻"
},
{
"n": "恐怖",
"v": "恐怖"
},
{
"n": "战争",
"v": "战争"
},
{
"n": "传记",
"v": "传记"
},
{
"n": "歌舞",
"v": "歌舞"
},
{
"n": "武侠",
"v": "武侠"
},
{
"n": "情色",
"v": "情色"
},
{
"n": "灾难",
"v": "灾难"
},
{
"n": "西部",
"v": "西部"
},
{
"n": "纪录片",
"v": "纪录片"
},
{
"n": "短片",
"v": "短片"
}
]
},
{
"key": "地区",
"name": "地区",
"value": [
{
"n": "全部地区",
"v": ""
},
{
"n": "华语",
"v": "华语"
},
{
"n": "欧美",
"v": "欧美"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "日本",
"v": "日本"
},
{
"n": "中国大陆",
"v": "中国大陆"
},
{
"n": "美国",
"v": "美国"
},
{
"n": "中国香港",
"v": "中国香港"
},
{
"n": "中国台湾",
"v": "中国台湾"
},
{
"n": "英国",
"v": "英国"
},
{
"n": "法国",
"v": "法国"
},
{
"n": "德国",
"v": "德国"
},
{
"n": "意大利",
"v": "意大利"
},
{
"n": "西班牙",
"v": "西班牙"
},
{
"n": "印度",
"v": "印度"
},
{
"n": "泰国",
"v": "泰国"
},
{
"n": "俄罗斯",
"v": "俄罗斯"
},
{
"n": "加拿大",
"v": "加拿大"
},
{
"n": "澳大利亚",
"v": "澳大利亚"
},
{
"n": "爱尔兰",
"v": "爱尔兰"
},
{
"n": "瑞典",
"v": "瑞典"
},
{
"n": "巴西",
"v": "巴西"
},
{
"n": "丹麦",
"v": "丹麦"
}
]
},
{
"key": "sort",
"name": "排序",
"value": [
{
"n": "近期热度",
"v": "T"
},
{
"n": "首映时间",
"v": "R"
},
{
"n": "高分优先",
"v": "S"
}
]
},
{
"key": "年代",
"name": "年代",
"value": [
{
"n": "全部年代",
"v": ""
},
{
"n": "2023",
"v": "2023"
},
{
"n": "2022",
"v": "2022"
},
{
"n": "2021",
"v": "2021"
},
{
"n": "2020",
"v": "2020"
},
{
"n": "2019",
"v": "2019"
},
{
"n": "2010年代",
"v": "2010年代"
},
{
"n": "2000年代",
"v": "2000年代"
},
{
"n": "90年代",
"v": "90年代"
},
{
"n": "80年代",
"v": "80年代"
},
{
"n": "70年代",
"v": "70年代"
},
{
"n": "60年代",
"v": "60年代"
},
{
"n": "更早",
"v": "更早"
}
]
}
],
"tv": [
{
"key": "类型",
"name": "类型",
"value": [
{
"n": "不限",
"v": ""
},
{
"n": "电视剧",
"v": "电视剧"
},
{
"n": "综艺",
"v": "综艺"
}
]
},
{
"key": "电视剧形式",
"name": "电视剧形式",
"value": [
{
"n": "不限",
"v": ""
},
{
"n": "喜剧",
"v": "喜剧"
},
{
"n": "爱情",
"v": "爱情"
},
{
"n": "悬疑",
"v": "悬疑"
},
{
"n": "动画",
"v": "动画"
},
{
"n": "武侠",
"v": "武侠"
},
{
"n": "古装",
"v": "古装"
},
{
"n": "家庭",
"v": "家庭"
},
{
"n": "犯罪",
"v": "犯罪"
},
{
"n": "科幻",
"v": "科幻"
},
{
"n": "恐怖",
"v": "恐怖"
},
{
"n": "历史",
"v": "历史"
},
{
"n": "战争",
"v": "战争"
},
{
"n": "动作",
"v": "动作"
},
{
"n": "冒险",
"v": "冒险"
},
{
"n": "传记",
"v": "传记"
},
{
"n": "剧情",
"v": "剧情"
},
{
"n": "奇幻",
"v": "奇幻"
},
{
"n": "惊悚",
"v": "惊悚"
},
{
"n": "灾难",
"v": "灾难"
},
{
"n": "歌舞",
"v": "歌舞"
},
{
"n": "音乐",
"v": "音乐"
}
]
},
{
"key": "综艺形式",
"name": "综艺形式",
"value": [
{
"n": "不限",
"v": ""
},
{
"n": "真人秀",
"v": "真人秀"
},
{
"n": "脱口秀",
"v": "脱口秀"
},
{
"n": "音乐",
"v": "音乐"
},
{
"n": "歌舞",
"v": "歌舞"
}
]
},
{
"key": "地区",
"name": "地区",
"value": [
{
"n": "全部地区",
"v": ""
},
{
"n": "华语",
"v": "华语"
},
{
"n": "欧美",
"v": "欧美"
},
{
"n": "国外",
"v": "国外"
},
{
"n": "韩国",
"v": "韩国"
},
{
"n": "日本",
"v": "日本"
},
{
"n": "中国大陆",
"v": "中国大陆"
},
{
"n": "中国香港",
"v": "中国香港"
},
{
"n": "美国",
"v": "美国"
},
{
"n": "英国",
"v": "英国"
},
{
"n": "泰国",
"v": "泰国"
},
{
"n": "中国台湾",
"v": "中国台湾"
},
{
"n": "意大利",
"v": "意大利"
},
{
"n": "法国",
"v": "法国"
},
{
"n": "德国",
"v": "德国"
},
{
"n": "西班牙",
"v": "西班牙"
},
{
"n": "俄罗斯",
"v": "俄罗斯"
},
{
"n": "瑞典",
"v": "瑞典"
},
{
"n": "巴西",
"v": "巴西"
},
{
"n": "丹麦",
"v": "丹麦"
},
{
"n": "印度",
"v": "印度"
},
{
"n": "加拿大",
"v": "加拿大"
},
{
"n": "爱尔兰",
"v": "爱尔兰"
},
{
"n": "澳大利亚",
"v": "澳大利亚"
}
]
},
{
"key": "sort",
"name": "排序",
"value": [
{
"n": "近期热度",
"v": "T"
},
{
"n": "首播时间",
"v": "R"
},
{
"n": "高分优先",
"v": "S"
}
]
},
{
"key": "年代",
"name": "年代",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "2023",
"v": "2023"
},
{
"n": "2022",
"v": "2022"
},
{
"n": "2021",
"v": "2021"
},
{
"n": "2020",
"v": "2020"
},
{
"n": "2019",
"v": "2019"
},
{
"n": "2010年代",
"v": "2010年代"
},
{
"n": "2000年代",
"v": "2000年代"
},
{
"n": "90年代",
"v": "90年代"
},
{
"n": "80年代",
"v": "80年代"
},
{
"n": "70年代",
"v": "70年代"
},
{
"n": "60年代",
"v": "60年代"
},
{
"n": "更早",
"v": "更早"
}
]
},
{
"key": "平台",
"name": "平台",
"value": [
{
"n": "全部",
"v": ""
},
{
"n": "腾讯视频",
"v": "腾讯视频"
},
{
"n": "爱奇艺",
"v": "爱奇艺"
},
{
"n": "优酷",
"v": "优酷"
},
{
"n": "湖南卫视",
"v": "湖南卫视"
},
{
"n": "Netflix",
"v": "Netflix"
},
{
"n": "HBO",
"v": "HBO"
},
{
"n": "BBC",
"v": "BBC"
},
{
"n": "NHK",
"v": "NHK"
},
{
"n": "CBS",
"v": "CBS"
},
{
"n": "NBC",
"v": "NBC"
},
{
"n": "tvN",
"v": "tvN"
}
]
}
],
"rank_list_movie": [
{
"key": "榜单",
"name": "榜单",
"value": [
{
"n": "实时热门电影",
"v": "movie_real_time_hotest"
},
{
"n": "一周口碑电影榜",
"v": "movie_weekly_best"
},
{
"n": "豆瓣电影Top250",
"v": "movie_top250"
}
]
}
],
"rank_list_tv": [
{
"key": "榜单",
"name": "榜单",
"value": [
{
"n": "实时热门电视",
"v": "tv_real_time_hotest"
},
{
"n": "华语口碑剧集榜",
"v": "tv_chinese_best_weekly"
},
{
"n": "全球口碑剧集榜",
"v": "tv_global_best_weekly"
},
{
"n": "国内口碑综艺榜",
"v": "show_chinese_best_weekly"
},
{
"n": "国外口碑综艺榜",
"v": "show_global_best_weekly"
}
]
}
]
}

View File

@ -1,502 +0,0 @@
{
"0": [
{
"key": "area",
"name": "地區",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
],
"1": [
{
"key": "area",
"name": "地區",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
],
"2": [
{
"key": "area",
"name": "地區",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
],
"3": [
{
"key": "area",
"name": "地區",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
],
"4": [
{
"key": "area",
"name": "地區",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "国产",
"v": "1"
},
{
"n": "中国香港",
"v": "3"
},
{
"n": "中国台湾",
"v": "6"
},
{
"n": "美国",
"v": "5"
},
{
"n": "韩国",
"v": "18"
},
{
"n": "日本",
"v": "2"
}
]
},
{
"key": "year",
"name": "年份",
"value": [
{
"n": "全部",
"v": "0"
},
{
"n": "2024",
"v": "119"
},
{
"n": "2023",
"v": "153"
},
{
"n": "2022",
"v": "101"
},
{
"n": "2021",
"v": "118"
},
{
"n": "2020",
"v": "16"
},
{
"n": "2019",
"v": "7"
},
{
"n": "2018",
"v": "2"
},
{
"n": "2017",
"v": "3"
},
{
"n": "2016",
"v": "22"
}
]
},
{
"key": "by",
"name": "排序",
"value": [
{
"n": "热门",
"v": "hot"
},
{
"n": "更新",
"v": "updata"
},
{
"n": "评分",
"v": "rating"
}
]
}
]
}

View File

@ -1,5 +0,0 @@
{
"msg": "FongMi 天下第一",
"date": "20230604000000",
"duration": 10
}