diff --git a/app/src/main/java/com/github/catvod/ali/API.java b/app/src/main/java/com/github/catvod/ali/API.java index 27633f1e..3f73272e 100644 --- a/app/src/main/java/com/github/catvod/ali/API.java +++ b/app/src/main/java/com/github/catvod/ali/API.java @@ -137,7 +137,7 @@ public class API { private boolean checkAuth(String result) { if (result.contains("AccessTokenInvalid")) return refreshAccessToken(); if (result.contains("ShareLinkTokenInvalid") || result.contains("InvalidParameterNotMatch")) return refreshShareToken(); - return false; + return checkQuotaExhausted(result); } private boolean checkOpen(String result) { @@ -145,6 +145,14 @@ public class API { return false; } + private boolean checkQuotaExhausted(String result) { + if (!result.contains("QuotaExhausted")) return false; + Init.show("容量不夠拉。"); + auth.setRefreshToken(""); + refreshAccessToken(); + return false; + } + private boolean checkManyRequest(String result) { if (!result.contains("Too Many Requests")) return false; Init.show("洗洗睡吧,Too Many Requests。"); diff --git a/app/src/main/java/com/github/catvod/bean/ali/Auth.java b/app/src/main/java/com/github/catvod/bean/ali/Auth.java index 76abea09..d9a7f19b 100644 --- a/app/src/main/java/com/github/catvod/bean/ali/Auth.java +++ b/app/src/main/java/com/github/catvod/bean/ali/Auth.java @@ -80,12 +80,19 @@ public class Auth { return TextUtils.isEmpty(expireTime) ? "" : expireTime; } + public void setExpireTime(String expireTime) { + this.expireTime = expireTime; + } + public boolean isEmpty() { return getAccessToken().isEmpty(); } public void clean() { + setRefreshToken(""); setAccessToken(""); + setExpireTime(""); + save(); } public void save() { diff --git a/app/src/main/java/com/github/catvod/bean/alist/Drive.java b/app/src/main/java/com/github/catvod/bean/alist/Drive.java index 392da8fe..4564369e 100644 --- a/app/src/main/java/com/github/catvod/bean/alist/Drive.java +++ b/app/src/main/java/com/github/catvod/bean/alist/Drive.java @@ -17,6 +17,8 @@ public class Drive { @SerializedName("drives") private List drives; + @SerializedName("vodPic") + private String vodPic; @SerializedName("name") private String name; @SerializedName("server") @@ -40,6 +42,10 @@ public class Drive { this.name = name; } + public String getVodPic() { + return TextUtils.isEmpty(vodPic) ? "https://s1.ax1x.com/2023/04/03/pp4F4bT.png" : vodPic; + } + public String getName() { return TextUtils.isEmpty(name) ? "" : name; } diff --git a/app/src/main/java/com/github/catvod/bean/alist/Item.java b/app/src/main/java/com/github/catvod/bean/alist/Item.java index 3647dc86..ff026deb 100644 --- a/app/src/main/java/com/github/catvod/bean/alist/Item.java +++ b/app/src/main/java/com/github/catvod/bean/alist/Item.java @@ -112,8 +112,8 @@ public class Item { return id + getPath() + "/" + getName(); } - public String getPic() { - return getThumb().isEmpty() && isFolder() ? "https://s1.ax1x.com/2023/04/03/pp4F4bT.png" : getThumb(); + public String getPic(String pic) { + return getThumb().isEmpty() && isFolder() ? pic : getThumb(); } public String getRemark() { @@ -124,11 +124,11 @@ public class Item { return isFolder() ? "folder" : "file"; } - public Vod getVod(String id) { - return new Vod(getVodId(id), getName(), getPic(), getRemark(), getVodTag()); + public Vod getVod(String id, String pic) { + return new Vod(getVodId(id), getName(), getPic(pic), getRemark(), getVodTag()); } - public Vod getVod(Drive drive) { - return new Vod(getVodId(drive.getName()), getName(), getPic(), drive.getName(), getVodTag()); + public Vod getVod(Drive drive, String pic) { + return new Vod(getVodId(drive.getName()), getName(), getPic(pic), drive.getName(), getVodTag()); } } diff --git a/app/src/main/java/com/github/catvod/spider/AList.java b/app/src/main/java/com/github/catvod/spider/AList.java index a497cf66..c7e8b179 100644 --- a/app/src/main/java/com/github/catvod/spider/AList.java +++ b/app/src/main/java/com/github/catvod/spider/AList.java @@ -30,6 +30,7 @@ import java.util.concurrent.CountDownLatch; public class AList extends Spider { private List drives; + private String vodPic; private String ext; private List getFilter() { @@ -42,7 +43,9 @@ public class AList extends Spider { private void fetchRule() { if (drives != null && !drives.isEmpty()) return; if (ext.startsWith("http")) ext = OkHttp.string(ext); - drives = Drive.objectFrom(ext).getDrives(); + Drive drive = Drive.objectFrom(ext); + drives = drive.getDrives(); + vodPic = drive.getVodPic(); } private Drive getDrive(String name) { @@ -84,8 +87,8 @@ public class AList extends Spider { Sorter.sort(type, order, folders); Sorter.sort(type, order, files); } - for (Item item : folders) list.add(item.getVod(tid)); - for (Item item : files) list.add(item.getVod(tid)); + for (Item item : folders) list.add(item.getVod(tid, vodPic)); + for (Item item : files) list.add(item.getVod(tid, vodPic)); return Result.get().vod(list).page().string(); } @@ -108,9 +111,9 @@ public class AList extends Spider { Vod vod = new Vod(); vod.setVodId(id); vod.setVodName(name); + vod.setVodPic(vodPic); vod.setVodPlayFrom(key); vod.setVodPlayUrl(TextUtils.join("#", playUrls)); - vod.setVodPic("http://img1.3png.com/281e284a670865a71d91515866552b5f172b.png"); return Result.string(vod); } @@ -167,7 +170,7 @@ public class AList extends Spider { try { String response = OkHttp.postJson(drive.searchApi(), drive.params(keyword)); List items = Item.arrayFrom(getSearchJson(drive.isNew(), response)); - for (Item item : items) if (!item.ignore(drive.isNew())) list.add(item.getVod(drive)); + for (Item item : items) if (!item.ignore(drive.isNew())) list.add(item.getVod(drive, vodPic)); } catch (Exception ignored) { } finally { cd.countDown(); diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 66a280a2..76655a90 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 3dfe830d..fa47b68e 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -46f550f87ace39f5b51a4fa8737c7029 +9dad9b968f26436fc4e681d0dc372d55 diff --git a/json/adult.json b/json/adult.json index 03e3988b..a392bc84 100644 --- a/json/adult.json +++ b/json/adult.json @@ -1,5 +1,5 @@ { - "spider": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;46f550f87ace39f5b51a4fa8737c7029", + "spider": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;9dad9b968f26436fc4e681d0dc372d55", "wallpaper": "https://gao.chuqiuyu.tk", "sites": [ { diff --git a/json/alist.json b/json/alist.json index 90c0e7f5..61ca182e 100644 --- a/json/alist.json +++ b/json/alist.json @@ -1,4 +1,5 @@ { + "vodPic": "https://s1.ax1x.com/2023/04/04/pp5M5Jx.png", "drives": [ { "name": "小雅", diff --git a/json/config.json b/json/config.json index 4e8434a8..1b177d3d 100644 --- a/json/config.json +++ b/json/config.json @@ -1,5 +1,5 @@ { - "spider": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;46f550f87ace39f5b51a4fa8737c7029", + "spider": "https://ghproxy.com/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/jar/custom_spider.jar;md5;9dad9b968f26436fc4e681d0dc372d55", "wallpaper": "http://饭太硬.ga/深色壁纸/api.php", "sites": [ {