New Userscript

115

目前为 2021-12-26 提交的版本。查看 最新版本

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  115
// @author       You



// @include     http*://115.com/*

// @icon         https://www.google.com/s2/favicons?domain=115.com
// @grant        none
// ==/UserScript==
function addJQuery(callback) {
    var script = document.createElement("script");
    script.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js");
    script.addEventListener('load', function() {
        var script = document.createElement("script");
        script.textContent = "window.jQ=jQuery.noConflict(true);(" + callback.toString() + ")();";
        document.body.appendChild(script);
    }, false);
    document.body.appendChild(script);
}



function main(){
    const regex = /((?:(?!(boy|oy|hjd|jd|com|om|SIS|IS|sis)))[a-zA-Z]{2,4})-?\d{3,4}/g;
    const subtitle_r = /((?:(?!(boy|oy|hjd|jd|com|om|SIS|IS)))[a-zA-Z]{2,5})-?\d{3,4}(-|_)?(ch|C|c)/g;
    const already = {"AMBI-128": true, "APNS-042": true, "ATID-355": true, "ATID-382": true, "ATID-442": true, "ATID-463": true, "ATID-489": true, "BDA-091": true, "BF-576": true, "DASD-875": true, "FSDSS-229": true, "GVG-106": true, "HND-633": true, "HND-719": false, "HND-766": true, "HND-767": true, "HND-822": true, "HND-910": true, "HND-932": true, "IESP-671": true, "IPX-072": true, "IPX-239": false, "IPX-415": true, "IPX-534": true, "IPX-538": true, "IPX-617": true, "IPX-677": true, "IPX-693": true, "IPX-770": true, "IPX-776": true, "IPX-783": true, "IPX-784": true, "IPZ-980": true, "JBD-234": true, "JUL-769": true, "JUL-792": true, "JUY-885": true, "KAWD-709": true, "MDYD-701": true, "MIAA-309": true, "MIAA-349": true, "MIAA-463": true, "MIAA-520": true, "MIAE-227": true, "MIAE-264": true, "MIDE-410": true, "MIDE-936": true, "MIDV-004": true, "MSFH-032": true, "PPPD-706": true, "PPPD-929": true, "PPPD-979": true, "PRED-342": true, "PRTD-006": true, "PRTD-019": true, "PRTD-024": true, "PRTD-025": true, "PRTD-028": true, "RBD-433": true, "RBD-783": true, "RBD-785": false, "RBD-869": true, "RBD-873": true, "RBD-912": true, "RBD-926": true, "RBD-930": true, "RBD-931": true, "RBD-932": true, "RBD-933": true, "RBD-935": true, "RBD-937": false, "RBD-939": true, "RBD-942": true, "RBD-981": true, "RCT-618": true, "SHKD-560": true, "SHKD-580": true, "SHKD-715": true, "SHKD-723": true, "SHKD-733": true, "SHKD-824": false, "SHKD-837": true, "SHKD-840": true, "SHKD-867": true, "SHKD-869": true, "SHKD-921": true, "SHKD-926": true, "SHKD-927": true, "SNIS-213": true, "SNIS-292": true, "SNIS-311": true, "SNIS-534": true, "SNIS-589": true, "SSIS-070": true, "SSIS-236": true, "SSNI-012": true, "SSNI-114": true, "SSNI-373": true, "SSNI-496": true, "SSNI-506": true, "SSNI-580": true, "SSNI-610": true, "SSNI-858": true, "SSNI-861": true, "SSPD-109": true, "SSPD-128": true, "STAR-140": true, "STARS-042": true, "STARS-133": true, "STARS-225": true, "STARS-343": true, "VDD-140": true, "WANZ-040": true, "XVSR-040": true, "ADN-174": false, "ADN-176": false, "ADN-178": false, "ADN-210": false, "AP-499": false, "APAA-326": false, "APAK-125": false, "APAK-143": false, "APAK-148": false, "APAK-149": false, "APAK-170": false, "APAK-179": false, "APAK-180": false, "ATID-255": false, "ATID-256": false, "ATID-289": false, "ATID-298": false, "ATID-299": false, "ATID-301": false, "ATID-302": false, "ATID-303": false, "ATID-313": false, "ATID-318": false, "ATID-356": false, "ATID-360": false, "AVOP-170": false, "AVSA-087": false, "BDA-073": false, "BDSR-366": false, "CWM-261": false, "DDK-110": false, "DDK-126": false, "DDK-182": false, "HND-513": false, "HND-518": false, "HND-533": false, "HND-534": false, "HND-557": false, "HND-588": false, "IESP-644": false, "IPX-034": false, "IPX-118": false, "IPX-159": false, "IPX-182": false, "IPX-184": false, "IPX-193": false, "IPX-202": false, "IPX-203": false, "IPX-213": false, "IPX-216": false, "IPX-227": false, "IPX-280": false, "IPX-357": false, "IPZ-621": false, "JUY-609": false, "KAWD-889": false, "KRND-001": false, "MDS-842": false, "MEYD-451": false, "MIAA-113": false, "MIAA-139": false, "MIAA-264": false, "MIAD-579": false, "MIAD-813": false, "MIAD-819": false, "MIAD-838": false, "MIAD-960": false, "MIAD-966": false, "MIAD-981": false, "MIAE-028": false, "MIAE-086": false, "MIAE-121": false, "MIAE-140": false, "MIAE-155": false, "MIAE-243": false, "MIAE-252": false, "MIAE-277": false, "MIAE-309": false, "MIAE-322": false, "MIAE-324": false, "MIAE-333": false, "MIAE-341": false, "MIAE-342": false, "MIAE-344": false, "MIAE-345": false, "MIAE-350": false, "MIDE-243": false, "MIDE-546": false, "MIDE-553": false, "MIDE-558": false, "MIDE-582": false, "MIDE-686": false, "MIGD-670": false, "MIGD-709": false, "MKMP-057": false, "MKMP-276": false, "NCAC-066": false, "NCAC-081": false, "PGD-953": false, "PRED-087": false, "PRED-168": false, "PRTD-002": false, "PRTD-015": false, "PRTD-017": false, "RBD-372": false, "RBD-469": false, "RBD-731": false, "RBD-751": false, "RBD-757": false, "RBD-807": false, "RBD-812": false, "RBD-842": false, "RBD-890": false, "RBD-903": false, "RBD-905": false, "RBD-908": false, "RBD-909": false, "RBD-913": false, "RBD-936": false, "RBD-941": false, "RBD-989": false, "REAL-616": false, "REAL-696": false, "REAL-701": false, "REAL-714": false, "REAL-730": false, "REAL-731": false, "REAL-738": false, "SAIT-002": false, "SAIT-013": false, "SHKD-546": false, "SHKD-564": false, "SHKD-637": false, "SHKD-641": false, "SHKD-708": false, "SHKD-712": false, "SHKD-718": false, "SHKD-738": false, "SHKD-739": false, "SHKD-741": false, "SHKD-753": false, "SHKD-766": false, "SHKD-771": false, "SHKD-772": false, "SHKD-785": false, "SHKD-786": false, "SHKD-787": false, "SHKD-790": false, "SHKD-797": false, "SHKD-798": false, "SHKD-802": false, "SHKD-803": false, "SHKD-805": false, "SHKD-810": false, "SHKD-811": false, "SHKD-813": false, "SHKD-815": false, "SHKD-821": false, "SHKD-825": false, "SHKD-860": false, "SHKD-861": false, "SHKD-862": false, "SNIS-186": false, "SNIS-478": false, "SNIS-974": false, "SSNI-201": false, "SSNI-218": false, "SSNI-242": false, "SSNI-244": false, "SSNI-250": false, "SSNI-251": false, "SSNI-256": false, "SSNI-257": false, "SSNI-260": false, "SSNI-264": false, "SSNI-293": false, "SSNI-302": false, "SSNI-325": false, "SSNI-328": false, "SSNI-484": false, "SSNI-524": false, "SSNI-559": false, "SSNI-897": false, "SSPD-111": false, "STAR-976": false, "STAR-983": false, "TEAM-066": false, "TEAM-083": false, "TKI-016": false, "TKI-047": false, "TOMN-070": false, "VICD-342": false, "WANZ-528": false, "WANZ-618": false, "WANZ-633": false, "WANZ-651": false, "WANZ-785": false, "WANZ-810": false, "WANZ-880": false, "WANZ-890": false, "XRW-342": false, "XRW-486": false, "XRW-701": false, "XVSR-253": false}
    function already_download(title, sub=false) {
        if (! Object.keys(already).includes(title)) {
            return 1 // 1 means not downloaded yet
        } else if (already[title]) {
            return 2 // 2 means already downloaded and has chinese subtitle or I don't have subtitle on 115
        } else if (!already[title] && sub){
            return 3 // 3 means already downloaded but dont have subtitle
        }
        return 2
    }
    function mainBtnClick() {
        var items = $(".name")
        items.each((i, video) => {
           var texts = $(video).find("span")
           var t = texts.text().toUpperCase()
           const found = t.match(regex);
           const sub = t.match(subtitle_r)
           if (found && found.length === 1) {
               var code = found[0]
               var temp = code.match(/[a-zA-Z]+|\d+/g)
               code = temp[0] + "-" + temp[1]

               if (already_download(code, sub && sub.length > 0) === 1) {
                   $(texts).css("color", "red")
               } else if (already_download(code, sub && sub.length > 0) === 2) {
                   $(texts).css("color", "blue")
               } else {
                   $(texts).css("color", "purple")

               }
           } else if (found && found.length > 1) {
               $(texts).css("color", "green")
           }

        })
    }

    $(document).ready(function(){
        'use strict';
        let body = $("body");
        let btn = $("<button style='z-index:100;position: absolute; left: 100px; top: 200px' id='main-btn-addon'>Start</button>")
        body.append(btn)
        $('#main-btn-addon').click(mainBtnClick)

        console.log(body)
    });
}
// load jQuery and execute the main function
addJQuery(main);