mirror of
				https://github.com/qist/tvbox.git
				synced 2025-10-31 04:02:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			98 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * File: h:\PycharmProjects\Github\TVSpider\lib\quark_object.js
 | |
|  * Project: h:\PycharmProjects\Github\TVSpider
 | |
|  * Created Date: Monday, May 20th 2024, 5:26:45 pm
 | |
|  * Author: jade
 | |
|  * -----
 | |
|  * Last Modified: Tue May 21 2024
 | |
|  * Modified By: jade
 | |
|  * -----
 | |
|  * Copyright (c) 2024 samples
 | |
|  * ------------------------------------
 | |
|  * Javascript will save your soul!
 | |
|  */
 | |
| import {_} from "../lib/cat.js";
 | |
| import * as Utils from "./utils.js";
 | |
| 
 | |
| 
 | |
| class Item {
 | |
|     constructor() {
 | |
|         this.fileId = "";
 | |
|         this.shareId = ""
 | |
|         this.shareToken = "";
 | |
|         this.shareFileToken = ""
 | |
|         this.seriesId = ""
 | |
|         this.name = "";
 | |
|         this.type = "";
 | |
|         this.formatType = "";
 | |
|         this.size = "";
 | |
|         this.parent = "";
 | |
|         this.shareData = null;
 | |
|         this.shareIndex = 0;
 | |
|         this.lastUpdateAt = 0
 | |
|     }
 | |
| 
 | |
|     static objectFrom(item_json, shareId,shareIndex) {
 | |
|         let item = new Item();
 | |
|         item.fileId = typeof item_json.fid == undefined ? "" : item_json.fid;
 | |
|         item.shareId = shareId
 | |
|         item.shareToken = typeof item_json.stoken == undefined ? "" : item_json.stoken;
 | |
|         item.shareFileToken = typeof item_json.share_fid_token == undefined ? "" : item_json.share_fid_token;
 | |
|         item.seriesId = typeof item_json.series_id == undefined?  "":item_json.series_id
 | |
|         item.name = typeof item_json.file_name == undefined ? "" : item_json.file_name;
 | |
|         item.type = typeof item_json.obj_category == undefined ? "" : item_json.obj_category;
 | |
|         item.formatType = typeof item_json.format_type == undefined? "" : item_json.format_type;
 | |
|         item.size = typeof item_json.size == undefined ? "" : item_json.size;
 | |
|         item.parent = typeof item_json.pdir_fid == undefined ? "" : item_json.pdir_fid;
 | |
|         item.lastUpdateAt = typeof item_json.last_update_at == undefined ? "" : item_json.last_update_at
 | |
|         item.shareIndex = shareIndex
 | |
|         return item;
 | |
|     }
 | |
| 
 | |
|     getFileExtension(){
 | |
|         return this.name.split(".").slice(-1)[0]
 | |
|     }
 | |
| 
 | |
|     getFileId() {
 | |
|         return _.isEmpty(this.fileId) ? "" : this.fileId 
 | |
|     }
 | |
| 
 | |
|     getName() {
 | |
|         return _.isEmpty(this.name) ? "" : this.name;
 | |
|     }
 | |
| 
 | |
|     getParent() {
 | |
|         return _.isEmpty(this.parent) ? "" : "[" + this.parent + "]";
 | |
|     }
 | |
| 
 | |
|     getSize() {
 | |
|         return this.size === 0 ? "" : "[" + Utils.getSize(this.size) + "]";
 | |
|     }
 | |
|     
 | |
|     getShareIndex(){
 | |
|         return this.shareIndex
 | |
|     }
 | |
|     getDisplayName(type_name) {
 | |
|         let name = this.getName();
 | |
|         if (type_name === "电视剧") {
 | |
|             let replaceNameList = ["4k", "4K"]
 | |
|             name = name.replaceAll("." + this.getFileExtension(), "")
 | |
|             name = name.replaceAll(" ", "").replaceAll(" ", "")
 | |
|             for (const replaceName of replaceNameList) {
 | |
|                 name = name.replaceAll(replaceName, "")
 | |
|             }
 | |
|             name = Utils.getStrByRegexDefault(/\.S01E(.*?)\./, name)
 | |
|             const numbers = name.match(/\d+/g);
 | |
|             if (!_.isEmpty(numbers) && numbers.length > 0) {
 | |
|                 name = numbers[0]
 | |
|             }
 | |
|         }
 | |
|         
 | |
|         return  name  + " " + this.getSize();
 | |
|     }
 | |
| 
 | |
|     getEpisodeUrl(type_name){
 | |
|         return  this.getDisplayName(type_name) + "$" + this.getFileId() + "++" + this.shareFileToken + "++" + this.shareId + "++" + this.shareToken
 | |
|     }
 | |
| }
 | |
| export {Item} |