武恩赐影视

【❤️ 视频自动解析,体会拥有VIP的感觉❤️,适配PC+移动 】功能有:1、支持B站大会员番剧,全网独创自由选择自动解析接口;2、爱奇艺、腾讯、优酷、芒果等全网VIP视频免费解析去广告(免跳出观影特方便)

  1. // ==UserScript==
  2. // @name 武恩赐影视
  3. // @namespace http://tampermonkey.net/
  4. // @version 5.5.8
  5. // @description 【❤️ 视频自动解析,体会拥有VIP的感觉❤️,适配PC+移动 】功能有:1、支持B站大会员番剧,全网独创自由选择自动解析接口;2、爱奇艺、腾讯、优酷、芒果等全网VIP视频免费解析去广告(免跳出观影特方便)
  6. // @author 武恩赐影视
  7. // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.2.1/jquery.min.js
  8. // @match *://laisoyiba.com/*
  9. // @match *://*.youku.com/v_*
  10. // @match *://*.iqiyi.com/v_*
  11. // @match *://*.iqiyi.com/w_*
  12. // @match *://*.iqiyi.com/a_*
  13. // @match *://v.qq.com/x/cover/*
  14. // @match *://v.qq.com/x/page/*
  15. // @match *://v.qq.com/tv/*
  16. // @match *://*.mgtv.com/b/*
  17. // @match *://*.bilibili.com/video/*
  18. // @match *://*.bilibili.com/bangumi/play/*
  19. // @match *://www.acfun.cn/bangumi/*
  20. // @match *://www.le.com/ptv/vplay/*
  21. // @match *://www.wasu.cn/Play/show/*
  22. // @match *://vip.1905.com/play/*
  23. // @match *://tv.sohu.com/v/*
  24. // @match *://film.sohu.com/album/*
  25. // @match *://v.pptv.com/show/*
  26. // @match *://m.v.qq.com/*
  27. // @match *://m.iqiyi.com/v_*
  28. // @match *://m.iqiyi.com/w_*
  29. // @match *://m.iqiyi.com/a_*
  30. // @match *://m.youku.com/alipay_video/*
  31. // @match *://m.youku.com/video/*
  32. // @match *://m.mgtv.com/b/*
  33. // @match *://m.bilibili.com/video/*
  34. // @match *://m.bilibili.com/anime/*
  35. // @match *://m.bilibili.com/bangumi/play/*
  36. // @match *://m.le.com/vplay_*
  37. // @match *://vip.1905.com/m/play/*
  38. // @match *://www.wasu.cn/wap/*/show/*
  39. // @match *://m.tv.sohu.com/v.*
  40. // @match *://m.pptv.com/show/*
  41. // @match *://*.youku.com/*
  42. // @match *://*.iqiyi.com/*
  43. // @match *://*.iq.com/*
  44. // @match *://*.le.com/*
  45. // @match *://v.qq.com/*
  46. // @match *://m.v.qq.com/*
  47. // @match *://*.tudou.com/*
  48. // @match *://*.mgtv.com/*
  49. // @match *://tv.sohu.com/*
  50. // @match *://film.sohu.com/*
  51. // @match *://*.1905.com/*
  52. // @match *://*.bilibili.com/*
  53. // @match *://*.pptv.com/*
  54. // @connect api.bilibili.com
  55. // @grant unsafeWindow
  56. // @grant GM_addStyle
  57. // @grant GM_openInTab
  58. // @grant GM_getValue
  59. // @grant GM_setValue
  60. // @grant GM_xmlhttpRequest
  61. // @grant GM_log
  62. // @charset UTF-8
  63. // @license GPL License
  64. // @antifeature referral-link 【武恩赐提醒您:此提示为GreasyFork代码规范要求脚本必须添加,实际使用无任何强制跳转,代码可查,请知悉】
  65. // ==/UserScript==
  66. const util = (function () {
  67. function findTargetElement(targetContainer) {
  68. const body = window.document;
  69. let tabContainer;
  70. let tryTime = 0;
  71. const maxTryTime = 120;
  72. return new Promise((resolve, reject) => {
  73. let interval = setInterval(() => {
  74. tabContainer = body.querySelector(targetContainer);
  75. if (tabContainer) {
  76. clearInterval(interval);
  77. resolve(tabContainer);
  78. }
  79. if ((++tryTime) === maxTryTime) {
  80. clearInterval(interval);
  81. reject();
  82. }
  83. }, 500);
  84. });
  85. }
  86. function urlChangeReload() {
  87. const oldHref = window.location.href;
  88. let interval = setInterval(() => {
  89. let newHref = window.location.href;
  90. if (oldHref !== newHref) {
  91. clearInterval(interval);
  92. window.location.reload();
  93. }
  94. }, 500);
  95. }
  96. function reomveVideo() {
  97. setInterval(() => {
  98. for (let video of document.getElementsByTagName("video")) {
  99. if (video.src) {
  100. video.removeAttribute("src");
  101. video.muted = true;
  102. video.load();
  103. video.pause();
  104. }
  105. }
  106. }, 500);
  107. }
  108. function syncRequest(option) {
  109. return new Promise((resolve, reject) => {
  110. option.onload = (res) => {
  111. resolve(res);
  112. };
  113. option.onerror = (err) => {
  114. reject(err);
  115. };
  116. GM_xmlhttpRequest(option);
  117. });
  118. }
  119. return {
  120. req: (option) => syncRequest(option),
  121. findTargetEle: (targetEle) => findTargetElement(targetEle),
  122. urlChangeReload: () => urlChangeReload(),
  123. reomveVideo: () => reomveVideo()
  124. }
  125. })();
  126. const superVip = (function () {
  127. const _CONFIG_ = {
  128. isMobile: navigator.userAgent.match(/(Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i),
  129. currentPlayerNode: null,
  130. vipBoxId: 'vip_jx_box' + Math.ceil(Math.random() * 100000000),
  131. flag: "flag_vip",
  132. autoPlayerKey: "auto_player_key" + window.location.host,
  133. autoPlayerVal: "auto_player_value_" + window.location.host,
  134. videoParseList: [
  135. {"name": "yangtu", "type": "1", "url": "https://jx.yangtu.top/?url="},
  136. {"name": "综合/B站", "type": "1", "url": "https://jx.jsonplayer.com/player/?url="},
  137. {"name": "bl", "type": "1", "url": "https://vip.bljiex.com/?v="},
  138. {"name": "qqwtt", "type": "1", "url": "https://jx.qqwtt.com/?url="},
  139. {"name": "剖元", "type": "1", "url": "https://www.pouyun.com/?url="},
  140. {"name": "醉仙", "type": "1", "url": "https://jx.zui.cm/?url="},
  141. {"name": "jsonplayer", "type": "1", "url": "https://jx.777jiexi.com/player/?url="},
  142. {"name": "虾米", "type": "1", "url": "https://jx.xmflv.com/?url="},
  143. {"name": "M3U8.TV", "type": "1", "url": "https://jx.m3u8.tv/jiexi/?url="},
  144. {"name": "高速接口", "type": "1", "url": "https://jx.jsonplayer.com/player/?url="},
  145. {"name": "8090", "type": "1", "url": "https://www.8090g.cn/?url="},
  146. {"name": "CK", "type": "1", "url": "https://www.ckplayer.vip/jiexi/?url="},
  147. {"name": "2S", "type": "1", "url": "https://jx.2s0.cn/player/?url="},
  148. {"name": "JY", "type": "1", "url": "https://jx.playerjy.com/?url="},
  149. {"name": "云解", "type": "1", "url": "https://jx.yparse.com/index.php?url="},
  150. {"name": "PM", "type": "1", "url": "https://www.playm3u8.cn/jiexi.php?url="},
  151. {"name": "夜幕", "type": "1", "url": "https://www.yemu.xyz/?url="},
  152. {"name": "云解析", "type": "1", "url": "https://yparse.ik9.cc/index.php?url="},
  153.  
  154. ],
  155. playerContainers: [
  156. {
  157. host: "v.qq.com",
  158. container: "#mod_player,#player-container,.container-player",
  159. name: "Default",
  160. displayNodes: ["#mask_layer", ".mod_vip_popup", "#mask_layer", ".panel-tip-pay"]
  161. },
  162. {
  163. host: "m.v.qq.com",
  164. container: ".mod_player,#player",
  165. name: "Default",
  166. displayNodes: [".mod_vip_popup", "[class^=app_],[class^=app-],[class*=_app_],[class*=-app-],[class$=_app],[class$=-app]", "div[dt-eid=open_app_bottom]", "div.video_function.video_function_new", "a[open-app]", "section.mod_source", "section.mod_box.mod_sideslip_h.mod_multi_figures_h,section.mod_sideslip_privileges,section.mod_game_rec"]
  167. },
  168. {host: "w.mgtv.com", container: "#mgtv-player-wrap", name: "Default", displayNodes: []},
  169. {host: "www.mgtv.com", container: "#mgtv-player-wrap", name: "Default", displayNodes: []},
  170. {
  171. host: "m.mgtv.com",
  172. container: ".video-area",
  173. name: "Default",
  174. displayNodes: ["div[class^=mg-app]",".video-area-bar"]
  175. },
  176. {host: "www.bilibili.com", container: "#player_module,#bilibiliPlayer,#bilibili-player", name: "Default", displayNodes: []},
  177. {host: "m.bilibili.com", container: ".player-wrapper,.player-container,.mplayer", name: "Default", displayNodes: []},
  178. {host: "www.iqiyi.com", container: "#flashbox", name: "Default", displayNodes: ["#playerPopup", "div[class^=qy-header-login-pop]"]},
  179. {
  180. host: "m.iqiyi.com",
  181. container: ".m-video-player-wrap",
  182. name: "Default",
  183. displayNodes: ["div.m-iqyGuide-layer", "a[down-app-android-url]", "[name=m-extendBar]", "[class*=ChannelHomeBanner]", "section.m-hotWords-bottom"]
  184. },
  185. {host: "www.iq.com", container: ".intl-video-wrap", name: "Default", displayNodes: []},
  186. {host: "v.youku.com", container: "#player", name: "Default", displayNodes: ["#iframaWrapper"]},
  187. {host: "m.youku.com", container: "#player,.h5-detail-player", name: "Default", displayNodes: []},
  188. {host: "tv.sohu.com", container: "#player", name: "Default", displayNodes: []},
  189. {host: "film.sohu.com", container: "#playerWrap", name: "Default", displayNodes: []},
  190. {host: "www.le.com", container: "#le_playbox", name: "Default", displayNodes: []},
  191. {host: "video.tudou.com", container: ".td-playbox", name: "Default", displayNodes: []},
  192. {host: "v.pptv.com", container: "#pptv_playpage_box", name: "Default", displayNodes: []},
  193. {host: "vip.pptv.com", container: ".w-video", name: "Default", displayNodes: []},
  194. {host: "www.wasu.cn", container: "#flashContent", name: "Default", displayNodes: []},
  195. {host: "www.acfun.cn", container: "#player", name: "Default", displayNodes: []},
  196. {host: "vip.1905.com", container: "#player,#vodPlayer", name: "Default", displayNodes: []},
  197. {host: "www.1905.com", container: "#player,#vodPlayer", name: "Default", displayNodes: []},
  198. ]
  199. };
  200. class BaseConsumer {
  201. constructor() {
  202. this.parse = () => {
  203. util.findTargetEle('body')
  204. .then((container) => this.preHandle(container))
  205. .then((container) => this.generateElement(container))
  206. .then((container) => this.bindEvent(container))
  207. .then((container) => this.autoPlay(container))
  208. .then((container) => this.postHandle(container));
  209. }
  210. }
  211. preHandle(container) {
  212. _CONFIG_.currentPlayerNode.displayNodes.forEach((item, index) => {
  213. util.findTargetEle(item)
  214. .then((obj) => obj.style.display = 'none')
  215. .catch(e => console.warn("不存在元素", e));
  216. });
  217. return new Promise((resolve, reject) => resolve(container));
  218. }
  219. generateElement(container) {
  220. GM_addStyle(`
  221. #${_CONFIG_.vipBoxId} {cursor:pointer; position:fixed; top:120px; left:0px; z-index:9999999; text-align:left;}
  222. #${_CONFIG_.vipBoxId} .img_box{width:32px; height:32px;line-height:32px;text-align:center;background-color:#1c84c6;margin:10px 0px;}
  223. #${_CONFIG_.vipBoxId} .vip_list {display:none; position:absolute; border-radius:5px; left:32px; top:0; text-align:center; background-color: #3f4149; border:1px solid white;padding:10px 0px; width:380px; max-height:400px; overflow-y:auto;}
  224. #${_CONFIG_.vipBoxId} .vip_list li{border-radius:2px; font-size:12px; color:#DCDCDC; text-align:center; width:calc(25% - 14px); line-height:21px; float:left; border:1px solid gray; padding:0 4px; margin:4px 2px;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;-o-text-overflow:ellipsis;}
  225. #${_CONFIG_.vipBoxId} .vip_list li:hover{color:#1c84c6; border:1px solid #1c84c6;}
  226. #${_CONFIG_.vipBoxId} .vip_list ul{padding-left: 10px;}
  227. #${_CONFIG_.vipBoxId} .vip_list::-webkit-scrollbar{width:5px; height:1px;}
  228. #${_CONFIG_.vipBoxId} .vip_list::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); background:#A8A8A8;}
  229. #${_CONFIG_.vipBoxId} .vip_list::-webkit-scrollbar-track{box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); background:#F1F1F1;}
  230. #${_CONFIG_.vipBoxId} li.selected{color:#1c84c6; border:1px solid #1c84c6;}
  231. `);
  232. if (_CONFIG_.isMobile) {
  233. GM_addStyle(`
  234. #${_CONFIG_.vipBoxId} {top:300px;}
  235. #${_CONFIG_.vipBoxId} .vip_list {width:300px;}
  236. `);
  237. }
  238. let type_1_str = "";
  239. let type_2_str = "";
  240. let type_3_str = "";
  241. _CONFIG_.videoParseList.forEach((item, index) => {
  242. if (item.type.includes("1")) {
  243. type_1_str += `<li class="nq-li" title="${item.name}1" data-index="${index}">${item.name}</li>`;
  244. }
  245. if (item.type.includes("2")) {
  246. type_2_str += `<li class="tc-li" title="${item.name}" data-index="${index}">${item.name}</li>`;
  247. }
  248. if (item.type.includes("3")) {
  249. type_3_str += `<li class="tc-li" title="${item.name}" data-index="${index}">${item.name}</li>`;
  250. }
  251. });
  252. let autoPlay = !!GM_getValue(_CONFIG_.autoPlayerKey, null) ? "开" : "关";
  253. $(container).append(`
  254. <div id="${_CONFIG_.vipBoxId}">
  255. <div class="vip_icon">
  256. <div class="img_box" title="选择解析源" style="color:white;font-size:16px;font-weight:bold;border-radius:5px;"><span style="color: red;">V</span>I<span style="color: yellow;">P</span></div>
  257. <div class="vip_list">
  258. <div>
  259. <h3 style="color:#1c84c6; font-weight: bold; font-size: 16px; padding:5px 0px;">[内嵌播放]</h3>
  260. <ul>
  261. ${type_1_str}
  262. <div style="clear:both;"></div>
  263. </ul>
  264. </div>
  265. <div style="text-align:left;color:#FFF;font-size:10px;padding:0px 10px;margin-top:10px;">
  266. <b>武恩赐自动解析功能说明:</b>
  267. <br>&nbsp;&nbsp;1、自动解析功能默认关闭(自动解析只支持内嵌播放源)
  268. <br>&nbsp;&nbsp;2、开启自动解析,网页打开后脚本将根据当前选中的解析源自动解析视频。如解析失败,请手动选择不同的解析源尝试
  269. <br>&nbsp;&nbsp;3、没有选中解析源将随机选取一个
  270. <br>&nbsp;&nbsp;4、如某些网站有会员可以关闭自动解析功能
  271. <b>武恩赐影视解析脚本使用协议:</b>
  272. <br>&nbsp;&nbsp;感谢您对本脚本的信任,为了更好的使用本脚本,在此,我们郑重提醒您:
  273. <br>&nbsp;&nbsp;1.有能力的情况,请大家支持正版
  274. <br>&nbsp;&nbsp;2.本脚本仅用学习交流,请勿用于非法、商业用途,使用本脚本下载的内容请勿进行复制、传播等侵权行为
  275. <br>&nbsp;&nbsp;3.VIP视频解析中所用到的解析接口全部收集自互联网(源码可见),版权问题请联系相关解析接口所有者,脚本不承担相关责任
  276. <br>&nbsp;&nbsp;4.视频下载内容均来自平台本身API接口,不存在破解情况,如果侵权请邮件(wuenci@vip.qq.com)联系删除。
  277. <br>&nbsp;&nbsp; 5.点击我同意后,即已代表您已经充分了解相关问题,否则后果自负,特此声明!
  278. <br>&nbsp;&nbsp; 该网站暂不支持,请联系作者,作者将会第一时间处理(注意:请记得提供有问题的网址)"
  279. </div>
  280. </div>
  281. </div>
  282. <div class="img_box" id="vip_auto" style="color:white;font-size:16px;font-weight:bold;border-radius:5px;" title="是否打开自动解析。若自动解析失败,请手动选择其它接口尝试!!">${autoPlay}</div>
  283. </div>`);
  284. return new Promise((resolve, reject) => resolve(container));
  285. }
  286. bindEvent(container) {
  287. const vipBox = $(`#${_CONFIG_.vipBoxId}`);
  288. if (_CONFIG_.isMobile) {
  289. vipBox.find(".vip_icon").on("click", () => vipBox.find(".vip_list").toggle());
  290. } else {
  291. vipBox.find(".vip_icon").on("mouseover", () => vipBox.find(".vip_list").show());
  292. vipBox.find(".vip_icon").on("mouseout", () => vipBox.find(".vip_list").hide());
  293. }
  294. let _this = this;
  295. vipBox.find(".vip_list .nq-li").each((liIndex, item) => {
  296. item.addEventListener("click", () => {
  297. const index = parseInt($(item).attr("data-index"));
  298. GM_setValue(_CONFIG_.autoPlayerVal, index);
  299. GM_setValue(_CONFIG_.flag, "true");
  300. _this.showPlayerWindow(_CONFIG_.videoParseList[index]);
  301. vipBox.find(".vip_list li").removeClass("selected");
  302. $(item).addClass("selected");
  303. });
  304. });
  305. vipBox.find(".vip_list .tc-li").each((liIndex, item) => {
  306. item.addEventListener("click", () => {
  307. const index = parseInt($(item).attr("data-index"));
  308. const videoObj = _CONFIG_.videoParseList[index];
  309. let url = videoObj.url + window.location.href;
  310. GM_openInTab(url, {active: true, insert: true, setParent: true});
  311. });
  312. });
  313. //右键移动位置
  314. vipBox.mousedown(function (e) {
  315. if (e.which !== 3) {
  316. return;
  317. }
  318. e.preventDefault()
  319. vipBox.css("cursor", "move");
  320. const positionDiv = $(this).offset();
  321. let distenceX = e.pageX - positionDiv.left;
  322. let distenceY = e.pageY - positionDiv.top;
  323. $(document).mousemove(function (e) {
  324. let x = e.pageX - distenceX;
  325. let y = e.pageY - distenceY;
  326. const windowWidth = $(window).width();
  327. const windowHeight = $(window).height();
  328. if (x < 0) {
  329. x = 0;
  330. } else if (x > windowWidth - vipBox.outerWidth(true) - 100) {
  331. x = windowWidth - vipBox.outerWidth(true) - 100;
  332. }
  333. if (y < 0) {
  334. y = 0;
  335. } else if (y > windowHeight - vipBox.outerHeight(true)) {
  336. y = windowHeight - vipBox.outerHeight(true);
  337. }
  338. vipBox.css("left", x);
  339. vipBox.css("top", y);
  340. });
  341. $(document).mouseup(function () {
  342. $(document).off('mousemove');
  343. vipBox.css("cursor", "pointer");
  344. });
  345. $(document).contextmenu(function (e) {
  346. e.preventDefault();
  347. })
  348. });
  349. return new Promise((resolve, reject) => resolve(container));
  350. }
  351. autoPlay(container) {
  352. const vipBox = $(`#${_CONFIG_.vipBoxId}`);
  353. vipBox.find("#vip_auto").on("click", function () {
  354. if (!!GM_getValue(_CONFIG_.autoPlayerKey, null)) {
  355. GM_setValue(_CONFIG_.autoPlayerKey, null);
  356. $(this).html("关");
  357. $(this).attr("title", "是否打开自动解析。若自动解析失败,请手动选择其它接口尝试!!");
  358. } else {
  359. GM_setValue(_CONFIG_.autoPlayerKey, "true");
  360. $(this).html("开");
  361. }
  362. setTimeout(function () {
  363. window.location.reload();
  364. }, 200);
  365. });
  366. if (!!GM_getValue(_CONFIG_.autoPlayerKey, null)) {
  367. this.selectPlayer();
  368. }
  369. return new Promise((resolve, reject) => resolve(container));
  370. }
  371. selectPlayer() {
  372. let index = GM_getValue(_CONFIG_.autoPlayerVal, 2);
  373. let autoObj = _CONFIG_.videoParseList[index];
  374. let _th = this;
  375. if (autoObj.type.includes("1")) {
  376. setTimeout(function () {
  377. _th.showPlayerWindow(autoObj);
  378. const vipBox = $(`#${_CONFIG_.vipBoxId}`);
  379. vipBox.find(`.vip_list [title="${autoObj.name}1"]`).addClass("selected");
  380. $(container).find("#vip_auto").attr("title", `自动解析源:${autoObj.name}`);
  381. }, 2500);
  382. }
  383. }
  384. showPlayerWindow(videoObj) {
  385. util.findTargetEle(_CONFIG_.currentPlayerNode.container)
  386. .then((container) => {
  387. const type = videoObj.type;
  388. let url = videoObj.url + window.location.href;
  389. if (type.includes("1")) {
  390. $(container).empty();
  391. util.reomveVideo();
  392. let iframeDivCss = "width:100%;height:100%;z-index:999999;";
  393. if (_CONFIG_.isMobile) {
  394. iframeDivCss = "width:100%;height:220px;z-index:999999;";
  395. }
  396. if (_CONFIG_.isMobile && window.location.href.indexOf("iqiyi.com") !== -1) {
  397. iframeDivCss = "width:100%;height:220px;z-index:999999;margin-top:-56.25%;";
  398. }
  399. $(container).append(`<div style="${iframeDivCss}"><iframe id="iframe-player-4a5b6c" src="${url}" style="border:none;" allowfullscreen="true" width="100%" height="100%"></iframe></div>`);
  400. }
  401. });
  402. }
  403. postHandle(container) {
  404. if (!!GM_getValue(_CONFIG_.autoPlayerKey, null)) {
  405. util.urlChangeReload();
  406. } else {
  407. let oldHref = window.location.href;
  408. let interval = setInterval(() => {
  409. let newHref = window.location.href;
  410. if (oldHref !== newHref) {
  411. oldHref = newHref;
  412. if (!!GM_getValue(_CONFIG_.flag, null)){
  413. clearInterval(interval);
  414. window.location.reload();
  415. }
  416. }
  417. }, 1000);
  418. }
  419. }
  420. }
  421. class DefaultConsumer extends BaseConsumer {
  422. }
  423. return {
  424. start: () => {
  425. GM_setValue(_CONFIG_.flag, null);
  426. let mallCase = 'Default';
  427. let playerNode = _CONFIG_.playerContainers.filter(value => value.host === window.location.host);
  428. if (playerNode === null || playerNode.length <= 0) {
  429. console.warn(window.location.host + "武恩赐影视解析脚本使用协议:感谢您对本脚本的信任,为了更好的使用本脚本,在此,我们郑重提醒您:1.有能力的情况,请大家支持正版2.本脚本仅用学习交流,请勿用于非法、商业用途,使用本脚本下载的内容请勿进行复制、传播等侵权行为3.VIP视频解析中所用到的解析接口全部收集自互联网(源码可见),版权问题请联系相关解析接口所有者,脚本不承担相关责任4.视频下载内容均来自平台本身API接口,不存在破解情况,如果侵权请邮件(wuenci@vip.qq.com)联系删除。5.点击我同意后,即已代表您已经充分了解相关问题,否则后果自负,特此声明! 该网站暂不支持,请联系作者,作者将会第一时间处理(注意:请记得提供有问题的网址)");
  430. return;
  431. }
  432. _CONFIG_.currentPlayerNode = playerNode[0];
  433. mallCase = _CONFIG_.currentPlayerNode.name;
  434. const targetConsumer = eval(`new ${mallCase}Consumer`);
  435. targetConsumer.parse();
  436. }
  437. }
  438. })();
  439. (function () {
  440. superVip.start();
  441. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址