夸克盘扫码

This commit is contained in:
lushunming 2024-09-03 15:41:09 +08:00
parent 308fe8ac66
commit b4a7ace304
10 changed files with 54 additions and 944 deletions

View File

@ -96,7 +96,7 @@ public class QuarkApi {
getShareToken(shareData); getShareToken(shareData);
List<Item> files = new ArrayList<>(); List<Item> files = new ArrayList<>();
List<Item> subs = new ArrayList<>(); List<Item> subs = new ArrayList<>();
List<Item> listData = listFile(1, shareData, files, subs, shareData.getShareId(), shareData.getFolderId(), 1); List<Map<String, Object>> listData = listFile(1, shareData, files, subs, shareData.getShareId(), shareData.getFolderId(), 1);
List<String> playFrom = QuarkApi.get().getPlayFormatList(); List<String> playFrom = QuarkApi.get().getPlayFormatList();
@ -186,8 +186,8 @@ public class QuarkApi {
} }
String token = serviceTicket; String token = serviceTicket;
OkResult result = OkHttp.get("https://pan.quark.cn/account/info?st=" + token + "&lw=scan", new HashMap<>(), getWebHeaders()); OkResult result = OkHttp.get("https://pan.quark.cn/account/info?st=" + token + "&lw=scan", new HashMap<>(), getWebHeaders());
AccountInfo json = Json.parseSafe(result.getBody(), AccountInfo.class); Map json = Json.parseSafe(result.getBody(), Map.class);
if (json.isSuccess()) { if (json.get("success").equals(Boolean.TRUE)) {
List<String> cookies = result.getResp().get("set-Cookie"); List<String> cookies = result.getResp().get("set-Cookie");
List<String> cookieList = new ArrayList<>(); List<String> cookieList = new ArrayList<>();
for (String cookie : cookies) { for (String cookie : cookies) {
@ -232,9 +232,9 @@ public class QuarkApi {
} }
this.cookie = TextUtils.join(";", cookieList); this.cookie = TextUtils.join(";", cookieList);
} }
WebApiResponse json = Json.parseSafe(res.getBody(), WebApiResponse.class); Map<String,Object> json = Json.parseSafe(res.getBody(), Map.class);
if (json.getMessage().equals("ok")) { if (Objects.equals(json.get("message"), "ok")) {
return json.getData().getMembers().getToken(); return (String) (( Map<String,Object>)(( Map<String,Object>)json.get("data")).get("members")).get("token");
} }
return ""; return "";
} }
@ -295,32 +295,32 @@ public class QuarkApi {
} }
} }
private List<Item> listFile(int shareIndex, ShareData shareData, List<Item> videos, List<Item> subtitles, String shareId, String folderId, Integer page) throws Exception { private List< Map<String,Object>> listFile(int shareIndex, ShareData shareData, List<Item> videos, List<Item> subtitles, String shareId, String folderId, Integer page) throws Exception {
int prePage = 200; int prePage = 200;
page = page != null ? page : 1; page = page != null ? page : 1;
ApiResponse listData = Json.parseSafe(api("share/sharepage/detail?" + this.pr + "&pwd_id=" + shareId + "&stoken=" + encodeURIComponent((String) this.shareTokenCache.get(shareId).get("stoken")) + "&pdir_fid=" + folderId + "&force=0&_page=" + page + "&_size=" + prePage + "&_sort=file_type:asc,file_name:asc", Collections.emptyMap(), Collections.emptyMap(), 0, "GET"), ApiResponse.class); Map<String,Object> listData = Json.parseSafe(api("share/sharepage/detail?" + this.pr + "&pwd_id=" + shareId + "&stoken=" + encodeURIComponent((String) this.shareTokenCache.get(shareId).get("stoken")) + "&pdir_fid=" + folderId + "&force=0&_page=" + page + "&_size=" + prePage + "&_sort=file_type:asc,file_name:asc", Collections.emptyMap(), Collections.emptyMap(), 0, "GET"), Map.class);
if (listData.getData() == null) return Collections.emptyList(); if (listData.get("data")== null) return Collections.emptyList();
List<Item> items = listData.getData().getList(); List<Map<String, Object>> items = (List<Map<String, Object>>) ((Map<String, Object>) listData.get("data")).get("list");
if (items == null) return Collections.emptyList(); if (items == null) return Collections.emptyList();
List<Item> subDir = new ArrayList<>(); List<Map<String, Object>> subDir = new ArrayList<>();
for (Item item : items) { for (Map<String, Object> item : items) {
if (Boolean.TRUE.equals(item.isDir())) { if (Boolean.TRUE.equals(item.get("dir"))) {
subDir.add(item); subDir.add(item);
} else if (Boolean.TRUE.equals(item.isFile()) && "video".equals(item.getObjCategory())) { } else if (Boolean.TRUE.equals(item.get("file")) && "video".equals(item.get("obj_category"))) {
if (item.getSize() < 1024 * 1024 * 5) continue; if ((Double) item.get("size") < 1024 * 1024 * 5) continue;
item.setShareToken((String) this.shareTokenCache.get(shareData.getShareId()).get("stoken")); item.put("stoken", this.shareTokenCache.get(shareData.getShareId()).get("stoken"));
videos.add(Item.objectFrom(item, shareData.getShareId(), shareIndex)); videos.add(Item.objectFrom(item, shareData.getShareId(), shareIndex));
} else if ("file".equals(item.getFileType()) && this.subtitleExts.contains("." + Util.getExt(item.getFileName()))) { } else if ("file".equals(item.get("type")) && this.subtitleExts.contains("." + Util.getExt((String) item.get("file_name")))) {
subtitles.add(Item.objectFrom(item, shareData.getShareId(), shareIndex)); subtitles.add(Item.objectFrom(item, shareData.getShareId(), shareIndex));
} }
} }
if (page < Math.ceil((double) listData.getMetadata().getTotal() / prePage)) { if (page < Math.ceil((double) ((Map<String, Object>) listData.get("metadata")).get("_total") / prePage)) {
List<Item> nextItems = listFile(shareIndex, shareData, videos, subtitles, shareId, folderId, page + 1); List<Map<String, Object>> nextItems = listFile(shareIndex, shareData, videos, subtitles, shareId, folderId, page + 1);
items.addAll(nextItems); items.addAll(nextItems);
} }
for (Item dir : subDir) { for (Map<String, Object> dir : subDir) {
List<Item> subItems = listFile(shareIndex, shareData, videos, subtitles, shareId, dir.getFid(), null); List<Map<String, Object>> subItems = listFile(shareIndex, shareData, videos, subtitles, shareId, dir.get("fid").toString(), null);
items.addAll(subItems); items.addAll(subItems);
} }
return items; return items;
@ -330,7 +330,7 @@ public class QuarkApi {
List<Map<String, Object>> results = new ArrayList<>(); List<Map<String, Object>> results = new ArrayList<>();
int bestMatchIndex = 0; int bestMatchIndex = 0;
for (int i = 0; i < targetItems.size(); i++) { for (int i = 0; i < targetItems.size(); i++) {
Util.LCSResult currentLCS = Util.lcs(mainItem.getFileName(), targetItems.get(i).getFileName()); Util.LCSResult currentLCS = Util.lcs(mainItem.getName(), targetItems.get(i).getName());
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("target", targetItems.get(i)); result.put("target", targetItems.get(i));
result.put("lcs", currentLCS); result.put("lcs", currentLCS);
@ -369,11 +369,11 @@ public class QuarkApi {
private void clearSaveDir() throws Exception { private void clearSaveDir() throws Exception {
ApiResponse listData = Json.parseSafe(api("file/sort?" + this.pr + "&pdir_fid=" + this.saveDirId + "&_page=1&_size=200&_sort=file_type:asc,updated_at:desc", Collections.emptyMap(), Collections.emptyMap(), 0, "GET"), ApiResponse.class); Map<String, Object> listData = Json.parseSafe(api("file/sort?" + this.pr + "&pdir_fid=" + this.saveDirId + "&_page=1&_size=200&_sort=file_type:asc,updated_at:desc", Collections.emptyMap(), Collections.emptyMap(), 0, "GET"), Map.class);
if (listData.getData() != null && !listData.getData().getList().isEmpty()) { if (listData.get("data") != null && ((List<Map<String, Object>>) ((Map<String, Object>) listData.get("data")).get("list")).size() > 0) {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
for (Item stringStringMap : listData.getData().getList()) { for (Map<String, Object> stringStringMap : ((List<Map<String, Object>>) ((Map<String, Object>) listData.get("data")).get("list"))) {
list.add(stringStringMap.getFid()); list.add((String) stringStringMap.get("fid"));
} }
api("file/delete?" + this.pr, Collections.emptyMap(), Map.of("action_type", "2", "filelist", Json.toJson(list), "exclude_fids", ""), 0, "POST"); api("file/delete?" + this.pr, Collections.emptyMap(), Map.of("action_type", "2", "filelist", Json.toJson(list), "exclude_fids", ""), 0, "POST");
} }
@ -385,11 +385,11 @@ public class QuarkApi {
return; return;
} }
ApiResponse listData = Json.parseSafe(api("file/sort?" + this.pr + "&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc", Collections.emptyMap(), Collections.emptyMap(), 0, "GET"), ApiResponse.class); Map<String, Object> listData = Json.parseSafe(api("file/sort?" + this.pr + "&pdir_fid=0&_page=1&_size=200&_sort=file_type:asc,updated_at:desc", Collections.emptyMap(), Collections.emptyMap(), 0, "GET"), Map.class);
if (listData.getData() != null) { if (listData.get("data") != null) {
for (Item item : listData.getData().getList()) { for (Map<String, Object> item : (List<Map<String, Object>>) ((Map<String, Object>) listData.get("data")).get("list")) {
if (this.saveDirName.equals(item.getFileName())) { if (this.saveDirName.equals(item.get("file_name"))) {
this.saveDirId = item.getFid(); this.saveDirId = item.get("fid").toString();
clearSaveDir(); clearSaveDir();
break; break;
} }
@ -558,12 +558,12 @@ public class QuarkApi {
params.put("request_id", UUID.randomUUID().toString()); params.put("request_id", UUID.randomUUID().toString());
service = Executors.newScheduledThreadPool(1); service = Executors.newScheduledThreadPool(1);
service.scheduleWithFixedDelay(() -> { service.scheduleWithFixedDelay(() -> {
String result = OkHttp.string("https://uop.quark.cn/cas/ajax/getServiceTicketByQrcodeToken", params, getWebHeaders()); String result = OkHttp.string("https://uop.quark.cn/cas/ajax/getServiceTicketByQrcodeToken", params, getHeaders());
Map<String, Map<String, Map<String, String>>> json = new HashMap<>();
json = Json.parseSafe(result, json.getClass());
if (json.get("status").equals(2000000)) {
WebApiResponse json = Json.parseSafe(result, WebApiResponse.class); setToken(json.get("data").get("members").get("service_ticket"));
if (json.getStatus() == 2000000) {
setToken(json.getData().getMembers().getServiceTicket());
} }
}, 1, 1, TimeUnit.SECONDS); }, 1, 1, TimeUnit.SECONDS);

View File

@ -1,80 +0,0 @@
package com.github.catvod.bean.quark;
public class AccountInfo {
private boolean success;
private Data data;
private String code;
public AccountInfo() {
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public Data getData() {
return data;
}
public void setData(Data data) {
this.data = data;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public static class Data {
private String nickname;
private String avatarUri;
private String mobilekps;
private Config config;
public Data() {
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getAvatarUri() {
return avatarUri;
}
public void setAvatarUri(String avatarUri) {
this.avatarUri = avatarUri;
}
public String getMobilekps() {
return mobilekps;
}
public void setMobilekps(String mobilekps) {
this.mobilekps = mobilekps;
}
public Config getConfig() {
return config;
}
public void setConfig(Config config) {
this.config = config;
}
}
public static class Config {
// 可以根据实际情况添加属性
public Config() {
}
}
}

View File

@ -1,72 +0,0 @@
package com.github.catvod.bean.quark;
import com.google.gson.annotations.SerializedName;
public class ApiResponse<T> {
@SerializedName("status")
private int status;
@SerializedName("code")
private int code;
@SerializedName("message")
private String message;
@SerializedName("timestamp")
private long timestamp;
@SerializedName("data")
private Data data;
@SerializedName("metadata")
private Metadata metadata;
public ApiResponse() {
}
// Getters and Setters
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
public Data getData() {
return data;
}
public void setData(Data data) {
this.data = data;
}
public Metadata getMetadata() {
return metadata;
}
public void setMetadata(Metadata metadata) {
this.metadata = metadata;
}
}

View File

@ -1,32 +0,0 @@
package com.github.catvod.bean.quark;
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class Data {
@SerializedName("is_owner")
private int isOwner;
@SerializedName("list")
private List<Item> list;
public Data() {
}
// Getters and Setters
public int getIsOwner() {
return isOwner;
}
public void setIsOwner(int isOwner) {
this.isOwner = isOwner;
}
public List<Item> getList() {
return list;
}
public void setList(List<Item> list) {
this.list = list;
}
}

View File

@ -1,142 +1,27 @@
package com.github.catvod.bean.quark; package com.github.catvod.bean.quark;
import com.github.catvod.utils.Util; import com.github.catvod.utils.Util;
import com.google.gson.annotations.SerializedName;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class Item { public class Item {
@SerializedName("fid") private String fileId;
private String fid;
@SerializedName("file_name")
private String fileName;
@SerializedName("pdir_fid")
private String pdirFid;
private int category;
private int fileType;
private long size;
@SerializedName("format_type")
private String formatType;
private int status;
private String tags;
@SerializedName("owner_ucid")
private String ownerUcid;
@SerializedName("l_created_at")
private long lCreatedAt;
@SerializedName("l_updated_at")
private long lUpdatedAt;
private String extra;
@SerializedName("source")
private String source;
@SerializedName("file_source")
private String fileSource;
private int nameSpace;
@SerializedName("l_shot_at")
private long lShotAt;
@SerializedName("series_id")
private String seriesId;
private String thumbnail;
private String bigThumbnail;
@SerializedName("preview_url")
private String previewUrl;
@SerializedName("video_max_resolution")
private String videoMaxResolution;
@SerializedName("source_display")
private String sourceDisplay;
private int videoWidth;
private boolean seriesDir;
private boolean uploadCameraRootDir;
private int videoHeight;
private int videoRotate;
private double fps;
private int like;
@SerializedName("operated_at")
private long operatedAt;
private int riskType;
private int backupSign;
@SerializedName("obj_category")
private String objCategory;
@SerializedName("file_name_hl")
private String fileNameHl;
@SerializedName("file_name_hl_start")
private int fileNameHlStart;
@SerializedName("file_name_hl_end")
private int fileNameHlEnd;
private int duration;
private Map<String, Object> eventExtra;
private int scrapeStatus;
@SerializedName("update_view_at")
private long updateViewAt;
@SerializedName("last_update_at")
private long lastUpdateAt;
@SerializedName("share_fid_token")
private String shareFidToken;
private boolean ban;
@SerializedName("save_as_source")
private boolean saveAsSource;
private int curVersionOrDefault;
private int rawNameSpace;
private boolean backupSource;
private boolean offlineSource;
@SerializedName("owner_drive_type_or_default")
private int ownerDriveTypeOrDefault;
private boolean dir;
private boolean file;
@SerializedName("created_at")
private long createdAt;
@SerializedName("updated_at")
private long updatedAt;
private String shareId; private String shareId;
private String shareToken; private String shareToken;
private String shareFileToken;
private String seriesId;
private String name;
private String type;
private String formatType;
private Double size;
private String parent;
private String shareData;
private int shareIndex;
private Double lastUpdateAt;
private String subtitle; private String subtitle;
public Item() { public Item() {
}
public static Item objectFrom(Item item, String shareId, int shareIndex) {
item.setShareId(shareId);
item.setShareIndex(shareIndex);
return item;
}
public String getShareToken() {
return shareToken;
}
public void setShareToken(String shareToken) {
this.shareToken = shareToken;
}
private int shareIndex;
public int getShareIndex() {
return shareIndex;
}
public void setShareIndex(int shareIndex) {
this.shareIndex = shareIndex;
}
public String getShareId() {
return shareId;
}
public void setShareId(String shareId) {
this.shareId = shareId;
}
public String getSubtitle() {
return subtitle;
}
public void setSubtitle(String subtitle) {
this.subtitle = subtitle;
}
/* public Item() {
this.fileId = ""; this.fileId = "";
this.shareId = ""; this.shareId = "";
this.shareToken = ""; this.shareToken = "";
@ -167,14 +52,14 @@ public class Item {
item.lastUpdateAt = item_json.get("last_update_at") != null ? (Double) item_json.get("last_update_at") : Double.valueOf(0d); item.lastUpdateAt = item_json.get("last_update_at") != null ? (Double) item_json.get("last_update_at") : Double.valueOf(0d);
item.shareIndex = shareIndex; item.shareIndex = shareIndex;
return item; return item;
}*/ }
public String getFileExtension() { public String getFileExtension() {
String[] arr = fileName.split("\\."); String[] arr = name.split("\\.");
return arr[arr.length - 1]; return arr[arr.length - 1];
} }
/* public String getSubtitle() { public String getSubtitle() {
return subtitle; return subtitle;
} }
@ -201,10 +86,10 @@ public class Item {
public int getShareIndex() { public int getShareIndex() {
return shareIndex; return shareIndex;
}*/ }
public String getDisplayName(String type_name) { public String getDisplayName(String type_name) {
String name = getFileName(); String name = getName();
if (type_name.equals("电视剧")) { if (type_name.equals("电视剧")) {
String[] replaceNameList = {"4k", "4K"}; String[] replaceNameList = {"4k", "4K"};
name = name.replaceAll("\\." + getFileExtension(), ""); name = name.replaceAll("\\." + getFileExtension(), "");
@ -221,440 +106,7 @@ public class Item {
} }
public String getEpisodeUrl(String type_name) { public String getEpisodeUrl(String type_name) {
return getDisplayName(type_name) + "$" + getFid() + "++" + getShareFidToken() + "++" + getShareId() + "++" + getShareToken(); return getDisplayName(type_name) + "$" + getFileId() + "++" + shareFileToken + "++" + shareId + "++" + shareToken;
}
public String getFid() {
return fid;
}
public void setFid(String fid) {
this.fid = fid;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getPdirFid() {
return pdirFid;
}
public void setPdirFid(String pdirFid) {
this.pdirFid = pdirFid;
}
public int getCategory() {
return category;
}
public void setCategory(int category) {
this.category = category;
}
public int getFileType() {
return fileType;
}
public void setFileType(int fileType) {
this.fileType = fileType;
}
public long getSize() {
return size;
}
public void setSize(long size) {
this.size = size;
}
public String getFormatType() {
return formatType;
}
public void setFormatType(String formatType) {
this.formatType = formatType;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getTags() {
return tags;
}
public void setTags(String tags) {
this.tags = tags;
}
public String getOwnerUcid() {
return ownerUcid;
}
public void setOwnerUcid(String ownerUcid) {
this.ownerUcid = ownerUcid;
}
public long getlCreatedAt() {
return lCreatedAt;
}
public void setlCreatedAt(long lCreatedAt) {
this.lCreatedAt = lCreatedAt;
}
public long getlUpdatedAt() {
return lUpdatedAt;
}
public void setlUpdatedAt(long lUpdatedAt) {
this.lUpdatedAt = lUpdatedAt;
}
public String getExtra() {
return extra;
}
public void setExtra(String extra) {
this.extra = extra;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getFileSource() {
return fileSource;
}
public void setFileSource(String fileSource) {
this.fileSource = fileSource;
}
public int getNameSpace() {
return nameSpace;
}
public void setNameSpace(int nameSpace) {
this.nameSpace = nameSpace;
}
public long getlShotAt() {
return lShotAt;
}
public void setlShotAt(long lShotAt) {
this.lShotAt = lShotAt;
}
public String getSeriesId() {
return seriesId;
}
public void setSeriesId(String seriesId) {
this.seriesId = seriesId;
}
public String getThumbnail() {
return thumbnail;
}
public void setThumbnail(String thumbnail) {
this.thumbnail = thumbnail;
}
public String getBigThumbnail() {
return bigThumbnail;
}
public void setBigThumbnail(String bigThumbnail) {
this.bigThumbnail = bigThumbnail;
}
public String getPreviewUrl() {
return previewUrl;
}
public void setPreviewUrl(String previewUrl) {
this.previewUrl = previewUrl;
}
public String getVideoMaxResolution() {
return videoMaxResolution;
}
public void setVideoMaxResolution(String videoMaxResolution) {
this.videoMaxResolution = videoMaxResolution;
}
public String getSourceDisplay() {
return sourceDisplay;
}
public void setSourceDisplay(String sourceDisplay) {
this.sourceDisplay = sourceDisplay;
}
public int getVideoWidth() {
return videoWidth;
}
public void setVideoWidth(int videoWidth) {
this.videoWidth = videoWidth;
}
public boolean isSeriesDir() {
return seriesDir;
}
public void setSeriesDir(boolean seriesDir) {
this.seriesDir = seriesDir;
}
public boolean isUploadCameraRootDir() {
return uploadCameraRootDir;
}
public void setUploadCameraRootDir(boolean uploadCameraRootDir) {
this.uploadCameraRootDir = uploadCameraRootDir;
}
public int getVideoHeight() {
return videoHeight;
}
public void setVideoHeight(int videoHeight) {
this.videoHeight = videoHeight;
}
public int getVideoRotate() {
return videoRotate;
}
public void setVideoRotate(int videoRotate) {
this.videoRotate = videoRotate;
}
public double getFps() {
return fps;
}
public void setFps(double fps) {
this.fps = fps;
}
public int getLike() {
return like;
}
public void setLike(int like) {
this.like = like;
}
public long getOperatedAt() {
return operatedAt;
}
public void setOperatedAt(long operatedAt) {
this.operatedAt = operatedAt;
}
public int getRiskType() {
return riskType;
}
public void setRiskType(int riskType) {
this.riskType = riskType;
}
public int getBackupSign() {
return backupSign;
}
public void setBackupSign(int backupSign) {
this.backupSign = backupSign;
}
public String getObjCategory() {
return objCategory;
}
public void setObjCategory(String objCategory) {
this.objCategory = objCategory;
}
public String getFileNameHl() {
return fileNameHl;
}
public void setFileNameHl(String fileNameHl) {
this.fileNameHl = fileNameHl;
}
public int getFileNameHlStart() {
return fileNameHlStart;
}
public void setFileNameHlStart(int fileNameHlStart) {
this.fileNameHlStart = fileNameHlStart;
}
public int getFileNameHlEnd() {
return fileNameHlEnd;
}
public void setFileNameHlEnd(int fileNameHlEnd) {
this.fileNameHlEnd = fileNameHlEnd;
}
public int getDuration() {
return duration;
}
public void setDuration(int duration) {
this.duration = duration;
}
public Map<String, Object> getEventExtra() {
return eventExtra;
}
public void setEventExtra(Map<String, Object> eventExtra) {
this.eventExtra = eventExtra;
}
public int getScrapeStatus() {
return scrapeStatus;
}
public void setScrapeStatus(int scrapeStatus) {
this.scrapeStatus = scrapeStatus;
}
public long getUpdateViewAt() {
return updateViewAt;
}
public void setUpdateViewAt(long updateViewAt) {
this.updateViewAt = updateViewAt;
}
public long getLastUpdateAt() {
return lastUpdateAt;
}
public void setLastUpdateAt(long lastUpdateAt) {
this.lastUpdateAt = lastUpdateAt;
}
public String getShareFidToken() {
return shareFidToken;
}
public void setShareFidToken(String shareFidToken) {
this.shareFidToken = shareFidToken;
}
public boolean isBan() {
return ban;
}
public void setBan(boolean ban) {
this.ban = ban;
}
public boolean isSaveAsSource() {
return saveAsSource;
}
public void setSaveAsSource(boolean saveAsSource) {
this.saveAsSource = saveAsSource;
}
public int getCurVersionOrDefault() {
return curVersionOrDefault;
}
public void setCurVersionOrDefault(int curVersionOrDefault) {
this.curVersionOrDefault = curVersionOrDefault;
}
public int getRawNameSpace() {
return rawNameSpace;
}
public void setRawNameSpace(int rawNameSpace) {
this.rawNameSpace = rawNameSpace;
}
public boolean isBackupSource() {
return backupSource;
}
public void setBackupSource(boolean backupSource) {
this.backupSource = backupSource;
}
public boolean isOfflineSource() {
return offlineSource;
}
public void setOfflineSource(boolean offlineSource) {
this.offlineSource = offlineSource;
}
public int getOwnerDriveTypeOrDefault() {
return ownerDriveTypeOrDefault;
}
public void setOwnerDriveTypeOrDefault(int ownerDriveTypeOrDefault) {
this.ownerDriveTypeOrDefault = ownerDriveTypeOrDefault;
}
public boolean isDir() {
return dir;
}
public void setDir(boolean dir) {
this.dir = dir;
}
public boolean isFile() {
return file;
}
public void setFile(boolean file) {
this.file = file;
}
public long getCreatedAt() {
return createdAt;
}
public void setCreatedAt(long createdAt) {
this.createdAt = createdAt;
}
public long getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(long updatedAt) {
this.updatedAt = updatedAt;
} }
} }

View File

@ -1,81 +0,0 @@
package com.github.catvod.bean.quark;
import com.google.gson.annotations.SerializedName;
import java.util.Map;
public class Metadata {
@SerializedName("_size")
private int size;
@SerializedName("_page")
private int page;
@SerializedName("_count")
private int count;
@SerializedName("_total")
private int total;
@SerializedName("check_fid_token")
private int checkFidToken;
@SerializedName("_g_group")
private String gGroup;
@SerializedName("_t_group")
private String tGroup;
public Metadata() {
}
// Getters and Setters
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getCheckFidToken() {
return checkFidToken;
}
public void setCheckFidToken(int checkFidToken) {
this.checkFidToken = checkFidToken;
}
public String getGGroup() {
return gGroup;
}
public void setGGroup(String gGroup) {
this.gGroup = gGroup;
}
public String getTGroup() {
return tGroup;
}
public void setTGroup(String tGroup) {
this.tGroup = tGroup;
}
}

View File

@ -1,74 +0,0 @@
package com.github.catvod.bean.quark;
import com.google.gson.annotations.SerializedName;
public class WebApiResponse {
private int status;
private String message;
private Data data;
public WebApiResponse() {
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Data getData() {
return data;
}
public void setData(Data data) {
this.data = data;
}
public static class Data {
public Data() {
}
private Members members;
public Members getMembers() {
return members;
}
public void setMembers(Members members) {
this.members = members;
}
}
public static class Members {
public Members() {
}
private String token;
@SerializedName("service_ticket")
private String serviceTicket;
public String getServiceTicket() {
return serviceTicket;
}
public void setServiceTicket(String serviceTicket) {
this.serviceTicket = serviceTicket;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}
}

View File

@ -1,13 +1,10 @@
import android.app.Application; import android.app.Application;
import com.github.catvod.spider.AppYsV2; import com.github.catvod.spider.AppYsV2;
import com.github.catvod.spider.Init; import com.github.catvod.spider.Init;
import com.github.catvod.spider.NG;
import com.github.catvod.utils.Json; import com.github.catvod.utils.Json;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import org.junit.Assert; import org.junit.Assert;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;

Binary file not shown.

View File

@ -1 +1 @@
28aa6e38d4ab4f6cafec8b7c3c33b454 e3c1389b4a5ec1a517e6da7f09c77c65