Greasy Fork

douban-info-for-pt

在PT站电影详情页展示部分中文信息

安装此脚本
作者推荐脚本

您可能也喜欢EasyUpload PT一键转种

安装此脚本
// ==UserScript==
// @name            douban-info-for-pt
// @name:en         douban-info-for-pt
// @namespace       https://github.com/techmovie/DouBan-Info-for-PT
// @version         1.7.9
// @author          birdplane
// @description     在PT站电影详情页展示部分中文信息
// @description:en  Display some Chinese information on the PT site movie details page
// @license         MIT
// @source          [email protected]:techmovie/DouBan-Info-for-PT.git
// @match           *://passthepopcorn.me/torrents.php?id=*
// @match           *://passthepopcorn.me/requests.php?action=view&id=*
// @match           *://anthelion.me/torrents.php?id=*
// @match           *://anthelion.me/requests.php?action=view&id=*
// @match           *://beyond-hd.me/torrents/*
// @match           *://beyond-hd.me/library/title/*
// @match           *://blutopia.cc/torrents/*
// @match           *://eiga.moi/torrents/*
// @match           *://hdbits.org/details.php?id=*
// @match           *://hdbits.org/requests/show_request?id=*
// @match           *://uhdbits.org/torrents.php?id=*
// @match           *://filelist.io/details.php?id=*
// @match           *://hd-torrents.org/details.php?id=*
// @match           *://karagarga.in/details.php?id=*
// @match           *://privatehd.to/torrent/*
// @match           *://broadcasthe.net/series.php?id=*
// @match           *://iptorrents.com/torrent.php?id=*
// @match           *://www.iptorrents.com/torrent.php?id=*
// @match           *://www.torrentleech.org/torrent/*
// @match           *://avistaz.to/torrent/*
// @match           *://secret-cinema.pw/torrents.php?id=*
// @match           *://aither.cc/torrents/*
// @match           *://shadowthein.net/details.php?id=*
// @match           *://shadowthein.net/details.php?id=*
// @match           *://baconbits.org/torrents.php?id=*
// @match           *://broadcity.in/details.php?id=*
// @match           *://www.morethantv.me/torrents.php?id=*
// @match           *://www.morethantv.me/show/*
// @match           *://tgx.rs/torrent/*
// @require         https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js
// @grant           GM_addStyle
// @grant           GM_getValue
// @grant           GM_openInTab
// @grant           GM_setValue
// @grant           GM_xmlhttpRequest
// ==/UserScript==

(t=>{if(typeof GM_addStyle=="function"){GM_addStyle(t);return}const a=document.createElement("style");a.textContent=t,document.head.append(a)})(' .bigstar50,.bigstar45,.bigstar40,.bigstar35,.bigstar30,.bigstar25,.bigstar20,.bigstar15,.bigstar10,.bigstar05,.bigstar00{display:inline-block;zoom:1;background:url(https://ptpimg.me/yze1gz.png) no-repeat;background:-webkit-image-set(url(https://ptpimg.me/yze1gz.png)) 1x,url(https://ptpimg.me/n74cjc.png) 2x) no-repeat;background:-moz-image-set(url(https://ptpimg.me/yze1gz.png)) 1x,url(https://ptpimg.me/n74cjc.png) 2x) no-repeat;background:-o-image-set(url(https://ptpimg.me/yze1gz.png)) 1x,url(https://ptpimg.me/n74cjc.png) 2x) no-repeat;background:-ms-image-set(url(https://ptpimg.me/yze1gz.png)) 1x,url(https://ptpimg.me/n74cjc.png) 2x) no-repeat;width:75px;height:15px;margin:1px 0 0;overflow:hidden}.bigstar50+span.rating_num,.bigstar45+span.rating_num,.bigstar40+span.rating_num,.bigstar35+span.rating_num,.bigstar30+span.rating_num,.bigstar25+span.rating_num,.bigstar20+span.rating_num,.bigstar15+span.rating_num,.bigstar10+span.rating_num,.bigstar05+span.rating_num,.bigstar00+span.rating_num{font-size:16px;line-height:1}.bigstar50{background-position:0 0px}.bigstar45{background-position:0 -15px}.bigstar40{background-position:0 -30px}.bigstar35{background-position:0 -45px}.bigstar30{background-position:0 -60px}.bigstar25{background-position:0 -75px}.bigstar20{background-position:0 -90px}.bigstar15{background-position:0 -105px}.bigstar10{background-position:0 -120px}.bigstar05{background-position:0 -135px}.bigstar00{background-position:0 -150px}.allstar50,.allstar45,.allstar40,.allstar35,.allstar30,.allstar25,.allstar20,.allstar15,.allstar10,.allstar05,.allstar00,.rating1-t,.rating15-t,.rating2-t,.rating25-t,.rating3-t,.rating35-t,.rating4-t,.rating45-t,.rating5-t,.rating-t,.starb~.stars5,.starb~.stars4,.starb~.stars3,.starb~.stars2,.starb~.stars1,.collectors .stars5,.collectors .stars4,.collectors .stars3,.collectors .stars2,.collectors .stars1{display:inline-block;zoom:1;background:url(/f/movie/b8f4c3672ef81106701071831e22422a745d3b74/pics/rating_icons/ic_rating_s.png) no-repeat;background:-webkit-image-set(url(/f/movie/b8f4c3672ef81106701071831e22422a745d3b74/pics/rating_icons/ic_rating_s.png) 1x,url(/f/movie/076dc86067c402ced53eee7c09cd45402235733c/pics/rating_icons/[email protected]) 2x) no-repeat;background:-moz-image-set(url(/f/movie/b8f4c3672ef81106701071831e22422a745d3b74/pics/rating_icons/ic_rating_s.png) 1x,url(/f/movie/076dc86067c402ced53eee7c09cd45402235733c/pics/rating_icons/[email protected]) 2x) no-repeat;background:-o-image-set(url(/f/movie/b8f4c3672ef81106701071831e22422a745d3b74/pics/rating_icons/ic_rating_s.png) 1x,url(/f/movie/076dc86067c402ced53eee7c09cd45402235733c/pics/rating_icons/[email protected]) 2x) no-repeat;background:-ms-image-set(url(/f/movie/b8f4c3672ef81106701071831e22422a745d3b74/pics/rating_icons/ic_rating_s.png) 1x,url(/f/movie/076dc86067c402ced53eee7c09cd45402235733c/pics/rating_icons/[email protected]) 2x) no-repeat;width:55px;height:11px;margin:0 3px 0 0;overflow:hidden}.status-item .allstar50,.status-item .allstar45,.status-item .allstar40,.status-item .allstar35,.status-item .allstar30,.status-item .allstar25,.status-item .allstar20,.status-item .allstar15,.status-item .allstar10,.status-item .allstar05,.status-item .allstar00,.status-item .rating1-t,.status-item .rating15-t,.status-item .rating2-t,.status-item .rating25-t,.status-item .rating3-t,.status-item .rating35-t,.status-item .rating4-t,.status-item .rating45-t,.status-item .rating5-t,.status-item .rating-t,.status-item .starb~.stars5,.status-item .starb~.stars4,.status-item .starb~.stars3,.status-item .starb~.stars2,.status-item .starb~.stars1,.status-item .collectors .stars5,.status-item .collectors .stars4,.status-item .collectors .stars3,.status-item .collectors .stars2,.status-item .collectors .stars1{margin:0 0 0 4px}.allstar50{background-position:0 0px}.allstar45{background-position:0 -11px}.allstar40{background-position:0 -22px}.allstar35{background-position:0 -33px}.allstar30{background-position:0 -44px}.allstar25{background-position:0 -55px}.allstar20{background-position:0 -66px}.allstar15{background-position:0 -77px}.allstar10{background-position:0 -88px}.allstar05{background-position:0 -99px}.allstar00{background-position:0 -110px}.rating5-t,.starb~.stars5,.collectors .stars5{background-position:0 0px}.rating45-t{background-position:0 -11px}.rating4-t,.starb~.stars4,.collectors .stars4{background-position:0 -22px}.rating35-t{background-position:0 -33px}.rating3-t,.starb~.stars3,.collectors .stars3{background-position:0 -44px}.rating25-t{background-position:0 -55px}.rating2-t,.starb~.stars2,.collectors .stars2{background-position:0 -66px}.rating15-t{background-position:0 -77px}.rating1-t,.starb~.stars1,.collectors .stars1{background-position:0 -88px}.rating1-t,.rating15-t,.rating2-t,.rating25-t,.rating3-t,.rating35-t,.rating4-t,.rating45-t,.rating5-t,.rating-t{padding-left:5px}#stars{font-size:0;vertical-align:text-bottom;cursor:pointer}#stars a img{vertical-align:text-bottom}.starstop,.stars{margin-right:5px}.starstop{float:left}.rating_nums,.rating_num{color:#e09015;font-size:12px;padding:0 3px}.status-item .rating_num{font-size:14px}.rating_nums{padding-left:0}.star .rating_num{color:#e09015;padding:0 5px 0 0}#interest_sect{overflow:hidden;word-wrap:break-word}#interest_sectl{float:left;width:155px;margin:2px 0 0;padding:0 0 0 15px;border-left:1px solid #eaeaea;color:#9b9b9b}#interest_sectl .rating_wrap{padding-bottom:15px;font-size:12px;line-height:14px}#interest_sectl .rating_wrap .rating_logo{line-height:1}#interest_sectl .rating_self{padding:0;line-height:2}#interest_sectl .rating_self:before,#interest_sectl .rating_self:after{content:"";display:block;clear:both}#interest_sectl .rating_self .rating_sum{clear:both}#interest_sectl .rating_num{color:#494949;padding:0;min-width:30%;font-size:28px}#interest_sectl .rating_right{float:left;padding:10px 0 10px 6px}#interest_sectl .rating_right.not_showed{padding:10px 0}#interest_sectl .power{height:10px;float:left;margin:1px 4px;background:#ffd596 none repeat scroll 0 0}#interest_sectl .power.color_gray{background:#ccc}#interest_sectl .rating_per{font-size:11px}#interest_sectl .rating_betterthan{position:relative;padding:15px 0;border-top:1px solid #eaeaea;color:#9b9b9b;margin:0}.rating_logo_wrap .content{display:inline-block;zoom:1;vertical-align:top;font-size:12px;line-height:20px;color:#9b9b9b;margin-right:4px}.rating_helper_wrap{display:inline-block;zoom:1;vertical-align:top;position:relative;line-height:18px}.rating_helper_wrap:hover .rating_helper_icon{background-position:0 -12px}.rating_helper_wrap:hover .rating_helper_content{display:block}.rating_helper_icon{background:url(/f/movie/16305b59f6b69b8acde51c880de2a5b6cde0155a/pics/icon/ic_qmark.png) no-repeat;background:-webkit-image-set(url(/f/movie/16305b59f6b69b8acde51c880de2a5b6cde0155a/pics/icon/ic_qmark.png) 1x,url(/f/movie/1fb4f85391f82c3286d7318d840577daae1c2eee/pics/icon/[email protected]) 2x) no-repeat;background:-moz-image-set(url(/f/movie/16305b59f6b69b8acde51c880de2a5b6cde0155a/pics/icon/ic_qmark.png) 1x,url(/f/movie/1fb4f85391f82c3286d7318d840577daae1c2eee/pics/icon/[email protected]) 2x) no-repeat;background:-o-image-set(url(/f/movie/16305b59f6b69b8acde51c880de2a5b6cde0155a/pics/icon/ic_qmark.png) 1x,url(/f/movie/1fb4f85391f82c3286d7318d840577daae1c2eee/pics/icon/[email protected]) 2x) no-repeat;background:-ms-image-set(url(/f/movie/16305b59f6b69b8acde51c880de2a5b6cde0155a/pics/icon/ic_qmark.png) 1x,url(/f/movie/1fb4f85391f82c3286d7318d840577daae1c2eee/pics/icon/[email protected]) 2x) no-repeat;display:inline-block;zoom:1;vertical-align:middle;width:12px;height:12px}.rating_helper_content{z-index:10;color:#494949;display:none;position:absolute;left:12px;bottom:3px;width:96px;background:#fef6e9;border:1px solid #e3d9ca;padding:8px 10px;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.rating_content_wrap{width:110%;padding-bottom:8px}.rating_content_wrap .rating_avg{float:left;font-size:16px;line-height:28px;color:#494949;margin-right:12px}.rating_content_wrap .friends{float:left;margin-right:6px}.rating_content_wrap .avatar{float:left;margin-top:6px;margin-right:2px;line-height:0;border-radius:50%;overflow:hidden;cursor:default}.rating_content_wrap .avatar img{width:16px}.rating_content_wrap .friends_count{float:left;line-height:14px;margin-top:7px}#screening .subject-rate{color:#e09015;font-size:12px;margin-left:2px}#screening .rating{display:inline-block;zoom:1;margin:4px auto 2px;height:19px}#screening .rating span{float:left}#screening .rating .rating-star{margin:3px 3px 0 0;width:55px}span.subject-rate,.rate,.subject-rating{color:#e09015}img.rating{vertical-align:text-bottom}img.rating:nth-child(1){padding-left:10px}.rec-list .score{color:#e09015}.album-item .star{line-height:1;margin-top:6px}.album-item .star .allstar50,.album-item .star .allstar45,.album-item .star .allstar40,.album-item .star .allstar35,.album-item .star .allstar30,.album-item .star .allstar25,.album-item .star .allstar20,.album-item .star .allstar15,.album-item .star .allstar10,.album-item .star .allstar05,.album-item .star .allstar00{float:left}.album-item .star .score{color:#e09015}.game-ratings strong{margin:0 6px;color:#e09015}.link-subject .rate-more span{font-size:10px;color:#e09015}.rating-controversy-reason{background-color:#fffbf4;color:#494949;line-height:14px;margin:15px 0 0;padding:6px 20px 6px 35px;font-size:11px;position:relative}.rating-controversy-reason:before{content:"";display:block;width:14px;height:14px;position:absolute;left:12px;top:50%;transform:translateY(-50%);background-image:url(data:image/svg+xml,\\ %3Csvg%20width%3D%2216%22%20height%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%200a8%208%200%20110%2016A8%208%200%20018%200zm0%2010.667a1%201%200%20100%202%201%201%200%20000-2zm0-8a1.207%201.207%200%2000-1.2%201.326l.467%204.677a.737.737%200%20001.466%200l.468-4.677A1.207%201.207%200%20008%202.667z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E);background-size:contain}body #douban-wrapper{width:770px;height:345px;margin:0;font:12px Helvetica,Arial,sans-serif}#douban-wrapper .ll,#douban-wrapper .col-container .fix-col{float:left}#douban-wrapper #content{background-repeat:no-repeat;padding:10px;width:750px;height:325px;min-height:initial}#douban-wrapper #content h1{font-size:20px}#douban-wrapper #content .grid{width:750px;height:325px;border-radius:9px}#douban-wrapper #content .grid .grid-col1{width:225px}#douban-wrapper #content .grid .grid-col2{width:254px;padding:24px 18px;height:277px;overflow:hidden}#douban-wrapper #content .grid .grid-col3{width:18px}#douban-wrapper #content .grid .grid-col4{font-size:14px;padding:27px 14px 0 12px;width:190px}#douban-wrapper #content .picture-douban-wrapper{width:225px;height:325px;border-top-left-radius:9px;border-bottom-left-radius:9px;background-size:cover;background-position:center}#douban-wrapper #content .main-title h1,#douban-wrapper #content .sub-title h2{overflow:hidden;word-break:break-all;max-height:2.5em;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#douban-wrapper #content .main-title h1{font-weight:500;font-size:30px;color:#000}#douban-wrapper #content .sub-title{margin-top:9px}#douban-wrapper #content .sub-title h2{font-size:18px;color:#adadad;font-weight:400}#douban-wrapper #content .baseinfo{font-size:16px;color:#000;line-height:25px;margin-top:18px;letter-spacing:1px;word-break:break-all;font-weight:400;display:-webkit-box;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical}#douban-wrapper #content .line-wrap{width:18px;height:100%;position:relative}#douban-wrapper #content .line-wrap img{width:100%;height:100%}#douban-wrapper #content .douban-icon{font-size:0}#douban-wrapper #content .douban-icon>span{font-size:14px;display:inline-block;text-align:center;border:1px solid #41BE57}#douban-wrapper #content .douban-icon .icon-pt1{background-color:#41be57;color:#fff;border-top-left-radius:4px;border-bottom-left-radius:4px;width:24px;height:24px;line-height:24px}#douban-wrapper #content .douban-icon .icon-pt2{color:#3ba94d;background:#fff;border-top-right-radius:4px;border-bottom-right-radius:4px;width:69px;height:24px;line-height:24px}#douban-wrapper #content .score-container .rating_self{margin-top:15px}#douban-wrapper #content .score-container .rating_self .rating_num{font-size:48px;line-height:1;padding:0;color:#000;font-weight:400}#douban-wrapper #content .score-container .rating_self .rating_right{float:left;padding-left:10px;padding-top:5px}#douban-wrapper #content .score-container .rating_self .rating_right .ll{float:none}#douban-wrapper #content .score-container .rating_self .rating_right .rating_sum{color:#3b3b3b}#douban-wrapper #content .score-container .rating_self .rating_right .rating_sum .rating_people,#douban-wrapper #content .score-container .rating_self .rating_right .rating_sum .rating_people:hover,#douban-wrapper #content .score-container .rating_self .rating_right .rating_sum .rating_people:visited,#douban-wrapper #content .score-container .rating_self .rating_right .rating_sum .rating_people:link{color:#3b3b3b;background:none}#douban-wrapper #content .score-container .ratings-on-weight{margin-top:10px;min-height:1px}#douban-wrapper #content .score-container .ratings-on-weight .item{line-height:1.5}#douban-wrapper #content .score-container .ratings-on-weight .item .starstop{float:none;margin-right:0;color:#3b3b3b}#douban-wrapper #content .score-container .ratings-on-weight .item>span,#douban-wrapper #content .score-container .ratings-on-weight .item>div{display:inline-block}#douban-wrapper #content .score-container .ratings-on-weight .item .power{height:6px;background:#faa032;border-radius:3px;vertical-align:middle}#douban-wrapper #content .bottom-row{display:flex;align-items:center;justify-content:space-between}#douban-wrapper #content .bottom-row .rating-betterthan{font-size:14px;color:#1c1c1c;line-height:21px;width:117px}#douban-wrapper #content .bottom-row .rating-betterthan .number{font-size:14px;color:#41be57}#douban-wrapper #content .bottom-row .qr-code{width:64px;height:64px;overflow:hidden}#douban-wrapper #content .bottom-row .qr-code img{width:100%;height:100%}.contentlayout.douban-info{display:flex;justify-content:space-around}.contentlayout.douban-info .detail{flex:1}.detail .title{font-size:26px;font-weight:600;margin-bottom:20px}.detail .title a{text-decoration:none}.movie-detail{display:flex;justify-content:space-between}.movie-detail .synopsis{width:60%}.movie-detail .movieinfo{margin-right:20px;max-width:30%}.icon-pt1{font-size:14px;display:inline-block;text-align:center;border:1px solid #41be57;background-color:#41be57;color:#fff;border-top-left-radius:4px;border-bottom-left-radius:4px;width:24px;height:24px;line-height:24px}.ant .icon-pt1{border-radius:4px}.icon-pt2{display:inline-block;text-align:center;border:1px solid #41be57;color:#3ba94d;background:#fff;border-top-right-radius:4px;border-bottom-right-radius:4px;width:69px;height:24px;line-height:24px;font-size:14px}.douban-dom{display:flex;cursor:pointer}.douban-dom{text-align:left}#douban-wrapper *{box-sizing:content-box}#douban-wrapper .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}#douban-wrapper .clearfix{zoom:1;display:inline-block;_height:1px}#douban-wrapper .clearfix{height:1%}#douban-wrapper .clearfix{display:block}#douban-wrapper .rating_per{color:#111}#douban-wrapper .grid{overflow:initial}.content-rounded #douban-wrapper div{margin-left:0}#douban-wrapper #content .douban-icon .icon-pt1{background-image:none}#douban-wrapper h2,#douban-wrapper h1{border:none;background-image:none;background-color:transparent;text-shadow:none;padding:0;margin:0;line-height:normal}#douban-wrapper .grid-col5{font-size:14px;padding:27px 14px 0 12px;width:190px;overflow-y:auto;height:277px;width:calc(100% - 795px)}#douban-wrapper .summary{padding-top:10px;color:#000;line-height:25px;letter-spacing:1px;word-break:break-all;font-weight:400}#douban-wrapper{width:100%!important}.douban-dom>div{width:100%}#douban-wrapper #content{background-image:none!important;background:#fff;width:calc(100% - 20px)!important}#douban-wrapper #content .grid{width:100%!important}.bhd #douban-wrapper ::-webkit-scrollbar-track{background-color:#fff}.bhd #douban-wrapper ::-webkit-scrollbar-thumb{background-color:#ddd}.btn #douban-wrapper .grid-col1,.hdb #douban-wrapper .grid-col1,.hdt #douban-wrapper .grid-col1,.sc #douban-wrapper .grid-col1,.its #douban-wrapper .grid-col1,.bb #douban-wrapper .grid-col1{display:none}.btn #douban-wrapper .grid-col5,.hdt #douban-wrapper .grid-col5,.hdb #douban-wrapper .grid-col5,.sc #douban-wrapper .grid-col5,.its #douban-wrapper .grid-col5,.bb #douban-wrapper .grid-col5{width:calc(100% - 570px)}.its #douban-wrapper{background-color:#131313;color:#fff} ');

(function ($) {
  'use strict';

  var __defProp = Object.defineProperty;
  var __defProps = Object.defineProperties;
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
  var __hasOwnProp = Object.prototype.hasOwnProperty;
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
  var __spreadValues = (a, b) => {
    for (var prop in b || (b = {}))
      if (__hasOwnProp.call(b, prop))
        __defNormalProp(a, prop, b[prop]);
    if (__getOwnPropSymbols)
      for (var prop of __getOwnPropSymbols(b)) {
        if (__propIsEnum.call(b, prop))
          __defNormalProp(a, prop, b[prop]);
      }
    return a;
  };
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
  var _a, _b, _c;
  const PT_SITE = { "aither.cc": { "url": "https://aither.cc", "host": "aither.cc", "siteName": "Aither", "poster": "#meta-poster", "imdb": '.badge-user a[href*="imdb.com/title"]:nth-child(1)', "insertDomSelector": ".torrent-buttons", "doubanContainerDom": '<div class="movie-wrapper"><div class="movie-overlay" style="background-color: rgba(81, 51, 40, 0.75);"></div><div class="douban-dom" style="position: relative;z-index: 2;"></div></div>' }, "anthelion.me": { "url": "https://anthelion.me", "host": "anthelion.me", "siteName": "ANT", "siteType": "gazelle", "imdb": { "request": '.layout a[href*="imdb.com/title"]:first', "torrent": '.torrent_ratings a[href*="imdb.com/title"]:first' } }, "avistaz.to": { "url": "https://avistaz.to", "host": "avistaz.to", "siteName": "AvistaZ", "imdb": '.movie-details .badge-extra a[href*="imdb.com/title"]:first', "titleDom": ".title .torrent-filename", "poster": ".movie-poster img", "insertDomSelector": ".movie-poster", "doubanContainerDom": '<div class="douban-dom" style="justify-content: flex-start;"></div>' }, "baconbits.org": { "url": "https://baconbits.org", "host": "baconbits.org", "siteName": "bB", "imdb": '.box .body a[href*="imdb.com/title"]:first', "insertDomSelector": ".linkbox:first", "titleDom": "h1:first", "doubanContainerDom": '<div class="douban-dom bb"></div>' }, "beyond-hd.me": { "url": "https://beyond-hd.me", "host": "beyond-hd.me", "siteName": "BHD", "imdb": '.movie-details a[href*="imdb.com/title"]:nth-child(1)', "insertDomSelector": ".movie-wrapper", "doubanContainerDom": '<div class="douban-dom bhd"></div>' }, "blutopia.cc": { "url": "https://blutopia.cc", "host": "blutopia.cc", "siteName": "BLU", "poster": ".meta__poster", "imdb": '.meta__imdb a[href*="imdb.com/title"]:nth-child(1)', "insertDomSelector": ".torrent__buttons", "doubanContainerDom": '<div class="douban-dom" style="position: relative;z-index: 2;"></div>' }, "broadcasthe.net": { "url": "https://broadcasthe.net", "host": "broadcasthe.net", "siteName": "BTN", "imdb": '.stats td a[href*="imdb.com/title"]', "insertDomSelector": "#content .linkbox", "poster": ".sidebar .box img:first", "doubanContainerDom": '<div class="douban-dom btn" style="display:flex;justify-content: center;width: 850px;margin-left: -20px;"></div>' }, "broadcity.in": { "url": "https://broadcity.in", "host": "broadcity.in", "siteName": "Bdc", "imdb": '#imdbdetails a[href*="imdb.com/title"]', "titleDom": "#details>table>tbody>tr:first", "insertDomSelector": "#imdbdetails", "poster": "#ts_show_preview img", "doubanContainerDom": '<div class="douban-dom bdc" style="display:flex;justify-content: center;"></div>' }, "eiga.moi": { "url": "https://eiga.moi", "host": "eiga.moi", "siteName": "ACM", "poster": "img.movie-poster", "imdb": '.badge-user a[href*="imdb.com/title"]:nth-child(1)', "insertDomSelector": "#vue", "doubanContainerDom": '<div class="douban-dom" style="width: 1100px;"></div>' }, "filelist.io": { "url": "https://filelist.io", "host": "filelist.io", "siteName": "FL", "imdb": '.cblock-innercontent div a[href*="imdb.com/title"]:first', "poster": 'img[width="300px"][src*="image.tmdb.org"]', "titleDom": ".cblock-header h4", "insertDomSelector": ".cblock-innercontent hr.separator:first", "doubanContainerDom": '<div class="douban-dom" style="width: 100%;padding-top:20px;"></div>' }, "hd-torrents.org": { "url": "https://hd-torrents.org", "host": "hd-torrents.org", "siteName": "HDT", "poster": "#IMDBDetailsInfoHideShowTR .imdbnew a img", "imdb": '.imdbnew2 a[href*="imdb.com/title"]:first', "insertDomSelector": "td.detailsleft:contains(IMDb)", "doubanContainerDom": '<tr><td align="left" class="detailsleft">豆瓣</td><td valign="top" align="left" class="detailshash douban-dom hdt"></td></tr>' }, "hdbits.org": { "url": "https://hdbits.org", "host": "hdbits.org", "siteName": "HDB", "imdb": { "movie": ".contentlayout h1 a", "tv": "#details .showlinks li:nth-child(2) a", "tvRequest": ".lottery_table2 .showlinks li:nth-child(2) a" }, "titleDom": "h1:first", "insertDomSelector": "#details>tbody>tr:nth-child(2),.lottery_table2>tbody>tr:nth-child(1)", "doubanContainerDom": '<tr><td><div id="l7829483" class="label collapsable" onclick="showHideEl(7829483);(7829483)"><span class="plusminus">- </span>豆瓣信息</div><div id="c7829483" class="hideablecontent" ><div class="contentlayout douban-dom hdb"></div></td></tr>' }, "iptorrents.com": { "url": "https://iptorrents.com", "host": "iptorrents.com", "siteName": "IPT", "imdb": '.main td a[href*="imdb.com/title"]', "titleDom": ".dBox h1", "insertDomSelector": ".dBox .info", "doubanContainerDom": '<div class="douban-dom" style="display:flex;justify-content: center;"></div>' }, "karagarga.in": { "url": "https://karagarga.in", "host": "karagarga.in", "siteName": "KG", "imdb": 'td a[href*="imdb.com/title"]:first', "insertDomSelector": ".outer h1~table:first", "doubanContainerDom": '<div class="douban-dom kg" style="width:1100px;padding-top:20px;"></div>' }, "passthepopcorn.me": { "url": "https://passthepopcorn.me", "host": "passthepopcorn.me", "siteName": "PTP", "siteType": "gazelle", "imdb": { "request": '#request-table a[href*="imdb.com/title"]:first', "torrent": "#imdb-title-link" } }, "privatehd.to": { "url": "https://privatehd.to", "host": "privatehd.to", "siteName": "PHD", "imdb": '.movie-details .badge-extra a[href*="imdb.com/title"]:first', "titleDom": ".title .torrent-filename", "poster": ".movie-poster img", "insertDomSelector": ".movie-poster", "doubanContainerDom": '<div class="douban-dom" style="justify-content: flex-start;"></div>' }, "secret-cinema.pw": { "url": "https://secret-cinema.pw", "host": "secret-cinema.pw", "siteName": "SC", "imdb": '.torrent_row a[href*="imdb.com/title"]:first', "insertDomSelector": ".linkbox:first", "doubanContainerDom": '<div class="douban-dom sc"></div>' }, "shadowthein.net": { "url": "http://shadowthein.net", "host": "shadowthein.net", "siteName": "iTS", "imdb": '.IMDBtable a[href*="imdb.com/title"]:first', "insertDomSelector": "h1+table.line", "titleDom": "h1:first", "doubanContainerDom": '<div class="douban-dom its"></div>' }, "tgx.rs": { "url": "https://tgx.rs", "host": "tgx.rs", "siteName": "TorrentGalaxy", "poster": "#covercell img", "imdb": '#imdbpage[href*="imdb.com/title"]', "titleDom": ".torrentpagetable.limitwidth:first a.textshadow", "insertDomSelector": ".buttonbox", "doubanContainerDom": '<div class="douban-dom" style="display:flex;justify-content: center;"></div>' }, "uhdbits.org": { "url": "https://uhdbits.org", "host": "uhdbits.org", "siteName": "UHD", "imdb": ".tooltip.imdb_icon", "poster": ".poster_box .imgbox img", "insertDomSelector": "div.head:contains(IMDB)", "doubanContainerDom": '<div class="box"><div class="head"><a href="#">↑</a>&nbsp;<strong>豆瓣</strong></div><div class="body douban-dom"></div></div>' }, "www.morethantv.me": { "url": "www.morethantv.me", "host": "morethantv.me", "siteName": "MTV", "imdb": '.metalinks a[href*="imdb.com/title"]', "insertDomSelector": "#content>.thin>div:first", "poster": ".sidebar img:first", "titleDom": ".details h2:first", "doubanContainerDom": '<div class="douban-dom mtv"></div>' }, "www.torrentleech.org": { "url": "https://www.torrentleech.org", "host": "torrentleech.org", "siteName": "IPT", "imdb": '.imdb-info a[href*="imdb.com/title"]', "titleDom": "#torrentnameid", "poster": ".imdb_cover img", "insertDomSelector": ".torrent-info .torrent-info-details", "doubanContainerDom": '<div class="douban-dom"></div>' } };
  const host = location.host;
  let siteInfo = (_a = PT_SITE == null ? void 0 : PT_SITE[host]) != null ? _a : "";
  if (host && host.match(/iptorrents/i)) {
    siteInfo = PT_SITE["iptorrents.com"];
  } else {
    siteInfo = (_b = PT_SITE == null ? void 0 : PT_SITE[host]) != null ? _b : "";
  }
  const CURRENT_SITE_INFO = siteInfo;
  const CURRENT_SITE_NAME = (_c = CURRENT_SITE_INFO == null ? void 0 : CURRENT_SITE_INFO.siteName) != null ? _c : "";
  const DOUBAN_SUBJECT_URL = "https://movie.douban.com/subject/{doubanId}";
  const DOUBAN_API_URL = "https://api.douban.com/v2/movie";
  const PIC_URLS = {
    border: "https://ptpimg.me/zz4632.png",
    line: "https://ptpimg.me/e11hb1.png"
  };
  const addToPtpPage = (data) => {
    console.log(data);
    $(".page__title").prepend(`<a target='_blank' href="${data.link}">[${data.chineseTitle}] </a>`);
    if (data.summary) {
      const synopsisDom = `
    <div class="panel" id="douban-synopsis">
    <div class="panel__heading"><span class="panel__heading__title">中文简介</span></div>
    <div class="panel__body">
          <div id="synopsis">${data.summary}</div>
    </div>
    </div>`;
      $("#synopsis-and-trailer,#request-table").after(synopsisDom);
    }
    $("#movieinfo").before(`
    <div class="panel">
    <div class="panel__heading"><span class="panel__heading__title">电影信息</span></div>
    <div class="panel__body">
    <div><strong>导演:</strong> ${data.director}</div>
    <div><strong>类型:</strong> ${data.genre}</div>
    <div><strong>制片国家/地区:</strong> ${data.region}</div>
    <div><strong>语言:</strong> ${data.language}</div>
    <div><strong>时长:</strong> ${data.runtime}</div>
    <div><strong>又名:</strong>  ${data.aka}</div
    <div><strong>获奖情况:</strong> <br> ${data.awards}</div
    </div>`);
    if (data.average) {
      $("#movie-ratings-table tr").prepend(
        `<td colspan="1" style="width: 152px;">
    <center>
    <a target="_blank" class="rating" href="${data.link}" rel="noreferrer">
    <div style="font-size: 0;min-width: 105px;">
        <span class="icon-pt1">豆</span>
        <span class="icon-pt2">豆瓣评分</span>
    </div>
    </a>
    </center>
    </td>
    <td style="width: 153px;">
    <span class="rating">${data.average}</span>
    <span class="mid">/</span>
    <span class="outof"> 10</span>
    <br>(${data.votes} votes)</td>`
      );
    }
    $(".main-column").prepend($("#movie-ratings-table").parent());
  };
  const addToANTPage = (data) => {
    console.log(data);
    $(".header h2").prepend(`<a target='_blank' href="${data.link}">[${data.chineseTitle}] </a>`);
    if (data.summary) {
      const synopsisDom = `
    <div class="box torrent_description">
      <div class="head"><a href="#">↑</a>&nbsp;<strong>中文简介</strong></div>
      <div class="body" style="text-align:justify">${data.summary}</div>
    </div>`;
      $(".torrent_description,.box_request_desc").after(synopsisDom);
    }
    $(".box_details:first").before(`
    <div class="box box_details">
      <div class="head"><strong></strong>电影信息</div>
      <div class="pad">
        <ul class="stats nobullet">
          <li><strong>导演:</strong> ${data.director}</li>
          <li><strong>类型:</strong> ${data.genre}</li>
          <li><strong>制片国家/地区:</strong> ${data.region}</li>
          <li><strong>语言:</strong> ${data.language}</li>
          <li><strong>时长:</strong> ${data.runtime}</li>
          <li><strong>又名:</strong>  ${data.aka}</li
          <li><strong>获奖情况:</strong> <br> ${data.awards}</li
      </ul>
      </div>    
    </div>`);
    if (data.average) {
      $(".box.torrent_ratings .body tr").prepend(
        `<td colspan="1">
      <center>
        <a target="_blank" class="rating ant" href="${data.link}" rel="noreferrer">
          <div style="font-size: 0;">
            <span class="icon-pt1">豆</span>
          </div>
        </a>
      </center>
    </td>
    <td>
      <span class="rating">${data.average}</span>
      <span class="mid">/</span>
      <span class="outof"> 10</span>
      <br>(${data.votes} votes)</td>`
      );
    }
    $(".main_column").prepend($(".box.torrent_ratings"));
  };
  const getImdbId = () => {
    var _a2, _b2;
    let imdbLink = "";
    const imdbConfig = CURRENT_SITE_INFO.imdb;
    if (typeof imdbConfig === "object") {
      try {
        Object.keys(imdbConfig).forEach((key) => {
          if ($(`${imdbConfig[key]}`)[0]) {
            imdbLink = $(imdbConfig[key]).attr("href");
            throw new Error("end loop");
          }
        });
      } catch (error) {
        if (error.message !== "end loop") {
          console.log(error);
        }
      }
    } else {
      imdbLink = $(imdbConfig).attr("href");
    }
    console.log(imdbLink);
    return (_b2 = (_a2 = /tt\d+/.exec(imdbLink)) == null ? void 0 : _a2[0]) != null ? _b2 : "";
  };
  const getTvSeasonData = async (data) => {
    var _a2, _b2;
    const torrentTitle = getTorrentTitle();
    const { episodes = "", chineseTitle } = data;
    if (episodes) {
      const seasonNumber = (_b2 = (_a2 = torrentTitle.match(/S(?!eason)\s*?0?(\d+)\.?(EP?\d+)?/i)) == null ? void 0 : _a2[1]) != null ? _b2 : 1;
      if (parseInt(seasonNumber) === 1) {
        return data;
      } else {
        const query = `${chineseTitle} 第${seasonNumber}季`;
        const params = encodeURI("apikey=0ab215a8b1977939201640fa14c66bab");
        const searchData = await fetch(`${DOUBAN_API_URL}/search?q=${query}`, {
          data: params,
          method: "POST",
          headers: {
            "Content-Type": "application/x-www-form-urlencoded"
          }
        });
        if (searchData.count > 0) {
          return { id: searchData.subjects[0].id };
        }
      }
    }
  };
  const getDoubanInfo = async (doubanId, imdbId) => {
    try {
      const url = DOUBAN_SUBJECT_URL.replace("{doubanId}", doubanId);
      const data = await fetch(url, {
        responseType: "text"
      });
      if (data) {
        const doubanInfo = await formatDoubanInfo(data);
        const savedIds = GM_getValue("ids") || {};
        savedIds[imdbId] = __spreadValues({
          doubanId,
          updateTime: Date.now()
        }, doubanInfo);
        GM_setValue("ids", savedIds);
        return doubanInfo;
      } else {
        console.log("豆瓣数据获取失败");
      }
    } catch (error) {
      console.log(error);
    }
  };
  const getDoubanInfoByIMDB = async (imdbId) => {
    var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i, _j, _k, _l;
    try {
      const params = encodeURI("apikey=0ab215a8b1977939201640fa14c66bab");
      const doubanData = await fetch(`${DOUBAN_API_URL}/imdb/${imdbId}`, {
        data: params,
        method: "POST",
        headers: {
          "Content-Type": "application/x-www-form-urlencoded"
        }
      });
      const { title, attrs = {}, image, summary, rating, alt_title: altTitle, mobile_link: mobileLink } = doubanData;
      let chineseTitle = title;
      const isChineseReg = /[\u4e00-\u9fa5]+/;
      if (!isChineseReg.test(title) && !title.match(/^\d+$/)) {
        if (altTitle) {
          chineseTitle = altTitle.split("/")[0].trim();
        } else {
          chineseTitle = title;
        }
      }
      const subjectLink = mobileLink.replace("m.douban.com/movie", "movie.douban.com").replace(/\/$/, "");
      const doubanId = (_b2 = (_a2 = subjectLink.match(/subject\/(\d+)/)) == null ? void 0 : _a2[1]) != null ? _b2 : "";
      const awards = await getAwardInfo(subjectLink);
      const doubanInfo = {
        director: (_c2 = attrs.director) == null ? void 0 : _c2.join(" / "),
        runtime: (_d = attrs.movie_duration) == null ? void 0 : _d.join(" / "),
        language: (_e = attrs.language) == null ? void 0 : _e.join(" / "),
        genre: (_g = (_f = attrs.movie_type) == null ? void 0 : _f.join(" / ")) != null ? _g : "",
        aka: altTitle || "",
        region: (_h = attrs.country) == null ? void 0 : _h.join(" / "),
        link: subjectLink,
        poster: image,
        summary,
        chineseTitle,
        votes: rating.numRaters,
        average: rating.average,
        awards,
        id: (_j = (_i = subjectLink.match(/subject\/(\d+)/)) == null ? void 0 : _i[1]) != null ? _j : "",
        episodes: (_l = (_k = attrs.episodes) == null ? void 0 : _k.join(" / ")) != null ? _l : ""
      };
      if (!attrs.episodes) {
        const savedIds = GM_getValue("ids") || {};
        savedIds[imdbId] = __spreadValues({
          doubanId,
          updateTime: Date.now()
        }, doubanInfo);
        GM_setValue("ids", savedIds);
      }
      return doubanInfo;
    } catch (error) {
      console.log(error);
    }
  };
  const getAwardInfo = async (doubanLink) => {
    var _a2;
    const awardsPage = await fetch(`${doubanLink}/awards/`, {
      responseType: "text"
    });
    const awardsDoc = new DOMParser().parseFromString(awardsPage, "text/html");
    const awards = $("#content > div > div.article", awardsDoc).html().replace(/[ \n]/g, "").replace(/<\/li><li>/g, "</li> <li>").replace(/<\/a><span/g, "</a> <span").replace(/<(div|ul)[^>]*>/g, "\n").replace(/<[^>]+>/g, "").replace(/&nbsp;/g, " ").replace(/ +\n/g, "\n").trim();
    return (_a2 = awards == null ? void 0 : awards.replace(/\n/g, "<br>")) != null ? _a2 : "";
  };
  const formatDoubanInfo = async (domString) => {
    var _a2, _b2;
    const dom = new DOMParser().parseFromString(domString, "text/html");
    const chineseTitle = $("title", dom).text().replace("(豆瓣)", "").trim();
    const jsonData = JSON.parse($('head > script[type="application/ld+json"]', dom).html().replace(/(\r\n|\n|\r|\t)/gm, ""));
    const fetchAnchor = function(anchor) {
      var _a3, _b3, _c2, _d;
      return (_d = (_c2 = (_b3 = (_a3 = anchor == null ? void 0 : anchor[0]) == null ? void 0 : _a3.nextSibling) == null ? void 0 : _b3.nodeValue) == null ? void 0 : _c2.trim()) != null ? _d : "";
    };
    const rating = jsonData.aggregateRating ? jsonData.aggregateRating.ratingValue : 0;
    const votes = jsonData.aggregateRating ? jsonData.aggregateRating.ratingCount : 0;
    const director = jsonData.director ? jsonData.director : [];
    const poster = jsonData.image.replace(/s(_ratio_poster|pic)/g, "l$1").replace(/img\d/, "img9");
    const link = `https://movie.douban.com${jsonData.url}`;
    const introductionDom = $('#link-report > span.all.hidden,#link-report-intra > [property="v:summary"], #link-report > [property="v:summary"]', dom);
    const summary = (introductionDom.length > 0 ? introductionDom.text() : "暂无相关剧情介绍").split("\n").map((a) => a.trim()).filter((a) => a.length > 0).join("\n");
    const genre = $('#info span[property="v:genre"]', dom).map(function() {
      return $(this).text().trim();
    }).toArray();
    const language = fetchAnchor($('#info span.pl:contains("语言")', dom));
    const region = fetchAnchor($('#info span.pl:contains("制片国家/地区")', dom));
    const runtimeAnchor = $('#info span.pl:contains("单集片长")', dom);
    const runtime = runtimeAnchor[0] ? fetchAnchor(runtimeAnchor) : $('#info span[property="v:runtime"]', dom).text().trim();
    const akaAnchor = $('#info span.pl:contains("又名")', dom);
    let aka = [];
    if (akaAnchor.length > 0) {
      aka = fetchAnchor(akaAnchor).split(" / ").sort(function(a, b) {
        return a.localeCompare(b);
      }).join("/");
      aka = aka.split("/");
    }
    const awards = await getAwardInfo(link);
    return {
      director: director.map((item) => item.name),
      runtime,
      language,
      genre: (_a2 = genre == null ? void 0 : genre.join(" / ")) != null ? _a2 : "",
      aka: (_b2 = aka == null ? void 0 : aka.join(" / ")) != null ? _b2 : "",
      region,
      link,
      poster,
      summary,
      chineseTitle,
      votes,
      average: rating,
      awards
    };
  };
  const getTorrentTitle = () => {
    let { titleDom } = CURRENT_SITE_INFO;
    if (!titleDom) {
      if (CURRENT_SITE_NAME === "BHD") {
        titleDom = $(".dotborder").find("td:contains(Name)").next("td");
      } else if (CURRENT_SITE_NAME.match(/ACM|BLU/)) {
        const keyMap = {
          Name: "Name",
          名称: "Name",
          名稱: "Name"
        };
        $("#vue+.panel table tr").each((index, element) => {
          const key = $(element).find("td:first").text().replace(/\s|\n/g, "");
          if (keyMap[key]) {
            titleDom = $(element).find("td:last");
          }
        });
      } else if (CURRENT_SITE_NAME === "UHD") {
        const torrentId = getUrlParam("torrentid");
        const torrentFilePathDom = $(`#files_${torrentId} .filelist_path`);
        const torrentFileDom = $(`#files_${torrentId} .filelist_table>tbody>tr:nth-child(2) td`).eq(0);
        titleDom = torrentFilePathDom || torrentFileDom;
      } else if (CURRENT_SITE_NAME === "HDT") {
        return document.title.replace(/HD-Torrents.org\s*-/ig, "").trim();
      }
    }
    return $(titleDom).text();
  };
  const getUrlParam = (key) => {
    const reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
    const regArray = location.search.substr(1).match(reg);
    if (regArray) {
      return unescape(regArray[2]);
    }
    return "";
  };
  const createDoubanDom = async (doubanId, imdbId, doubanInfo) => {
    const div = document.createElement("div");
    let { doubanContainerDom, insertDomSelector, siteName, poster } = CURRENT_SITE_INFO;
    if (siteName.match(/(HDT)$/)) {
      insertDomSelector = $(insertDomSelector).parent();
    }
    $(insertDomSelector).before(doubanContainerDom);
    const doubanLink = `https://movie.douban.com/subject/${doubanId}`;
    let htmlData = await fetch(`${doubanLink}/output_card`, {
      responseType: "text"
    });
    htmlData = htmlData.replace(/wrapper/g, "douban-wrapper").replace(/<script.+?script>/g, "");
    htmlData = htmlData.replace(/(html,)body,/, "$1");
    htmlData = htmlData.replace(/url\(.+?output_card\/border.png\)/g, `url(${PIC_URLS.border})`);
    htmlData = htmlData.replace(/src=.+?output_card\/line\.png/g, `src="${PIC_URLS.line}`);
    let headDom = htmlData.match(/<head>((.|\n)+)<\/head>/)[1];
    headDom = headDom.replace(/<link.+?>/g, "");
    const bodyDom = htmlData.match(/<body>((.|\n)+)<\/body>/)[1];
    div.insertAdjacentHTML("beforeend", headDom);
    div.insertAdjacentHTML("beforeend", bodyDom);
    $(".douban-dom").append(div).attr("douban-link", doubanLink);
    $(".douban-dom .grid-col4").after(`
  <div class="fix-col grid-col3">
  <div class="line-wrap">
    <img src="https://ptpimg.me/e11hb1.png">
  </div>
  </div>
  <div class="fix-col grid-col5"></div>`);
    const doubanData = doubanInfo || await getDoubanInfo(doubanId, imdbId);
    $(".douban-dom .grid-col5").html(`<div class="summary">${doubanData.summary || "暂无简介"}</div>`);
    let posterStyle = $(".picture-douban-wrapper").attr("style");
    const posterImg = siteName === "MTV" ? $(poster).attr("src") : doubanData.poster;
    posterStyle = posterStyle == null ? void 0 : posterStyle.replace(/\(.+\)/, `(${posterImg})`);
    $(".picture-douban-wrapper").attr("style", posterStyle);
    $(".douban-dom").click(() => {
      GM_openInTab(doubanLink);
    });
  };
  function fetch(url, options = {}) {
    return new Promise((resolve, reject) => {
      GM_xmlhttpRequest(__spreadProps(__spreadValues({
        method: "GET",
        url,
        responseType: "json"
      }, options), {
        onload: (res) => {
          const { statusText, status, response } = res;
          if (status !== 200) {
            reject(new Error(statusText || status));
          } else {
            resolve(response);
          }
        },
        ontimeout: () => {
          reject(new Error("timeout"));
        },
        onerror: (error) => {
          reject(error);
        }
      }));
    });
  }
  (async () => {
    if (CURRENT_SITE_INFO) {
      const imdbId = getImdbId();
      if (!imdbId) {
        return;
      }
      try {
        const savedIds = GM_getValue("ids") || {};
        if (!savedIds[imdbId] || savedIds[imdbId] && savedIds[imdbId].updateTime && Date.now() - savedIds[imdbId].updateTime >= 30 * 24 * 60 * 60 * 1e3) {
          let doubanId = "";
          const movieData = await getDoubanInfoByIMDB(imdbId);
          if (!movieData) {
            throw new Error("没有找到豆瓣条目");
          }
          const { id = "", episodes = "" } = movieData;
          doubanId = id;
          if (episodes) {
            const tvData = await getTvSeasonData(movieData);
            doubanId = tvData.id;
          }
          if (CURRENT_SITE_NAME.match(/PTP/)) {
            addToPtpPage(movieData);
          } else if (CURRENT_SITE_NAME.match(/ANT/)) {
            addToANTPage(movieData);
          } else {
            createDoubanDom(doubanId, imdbId);
          }
        } else {
          const savedData = savedIds[imdbId];
          if (CURRENT_SITE_NAME.match(/PTP/)) {
            addToPtpPage(savedData);
          } else if (CURRENT_SITE_NAME.match(/ANT/)) {
            addToANTPage(savedData);
          } else {
            createDoubanDom(savedData.doubanId, imdbId, savedData);
          }
        }
      } catch (error) {
        console.log(error);
      }
    }
  })();

})(jQuery);