// ==UserScript==
// @name 【玩的嗨】VIP工具箱,全网VIP视频免费破解去广告,一站式音乐搜索下载,获取B站封面,下载B站视频,上学吧答案获取等众多功能聚合 2021-06-03 更新,报错请及时反馈
// @namespace http://www.wandhi.com/
// @version 4.2.24
// @homepage https://tools.wandhi.com/scripts
// @supportURL https://wiki.wandhi.com/
// @description 功能介绍:1、Vip视频解析;2、一站式音乐搜索解决方案;3、bilibili视频封面获取;4、bilibili视频下载;5、上学吧答案查询(接口偶尔抽风);6、商品历史价格展示(一次性告别虚假降价);7、优惠券查询
// @author MaxZhang
// @icon http://www.wandhi.com//favicon.ico
// @include *://m.youku.com/v*
// @include *://m.youku.com/a*
// @include *://v.youku.com/v_*
// @include *://*.iqiyi.com/v_*
// @include *://*.iqiyi.com/w_*
// @include *://*.iqiyi.com/a_*
// @include *://*.iqiyi.com/adv*
// @include *://*.le.com/ptv/vplay/*
// @include *v.qq.com/x/cover/*
// @include *v.qq.com/x/page/*
// @include *v.qq.com/*play*
// @include *v.qq.com/cover*
// @include *://*.tudou.com/listplay/*
// @include *://*.tudou.com/albumplay/*
// @include *://*.tudou.com/programs/view/*
// @include *://*.tudou.com/v*
// @include *://*.mgtv.com/b/*
// @include *://film.sohu.com/album/*
// @include *://tv.sohu.com/v/*
// @include *://*.acfun.cn/v/*
// @include *://*.bilibili.com/video/*
// @include *://*.bilibili.com/anime/*
// @include *://*.bilibili.com/bangumi/play/*
// @include *://*.pptv.com/show/*
// @include *://*.baofeng.com/play/*
// @include *://*.wasu.cn/Play/show*
// @include *://v.yinyuetai.com/video/*
// @include *://v.yinyuetai.com/playlist/*
// @include *://*.wasu.cn/Play/show/*
// @include *://music.taihe.com/song*
// @include *://item.taobao.com/*
// @include *://detail.tmall.com/*
// @include *://chaoshi.detail.tmall.com/*
// @include *://detail.tmall.hk/*
// @include *://item.jd.com/*
// @include *://item.jd.hk/*
// @include *://detail.vip.com/detail-*
// @include *://product.suning.com/*
// @include *://music.163.com/song*
// @include *://music.163.com/m/song*
// @include *://y.qq.com/*
// @include *://*.kugou.com/*
// @include *://*.kuwo.cn/*
// @include *://*.xiami.com/*
// @include *://music.taihe.com/*
// @include *://*.1ting.com/player*
// @include *://www.qingting.fm/*
// @include *://www.lizhi.fm/*
// @include *://music.migu.cn/*
// @include *://www.shangxueba.com/ask/*.html
// @include *://www.ximalaya.com/*
// @include *://www.shangxueba.com/ask/*.html
// @include *://pan.baidu.com/disk/home*
// @include *://yun.baidu.com/disk/home*
// @include *://pan.baidu.com/s/*
// @include *://yun.baidu.com/s/*
// @include *://pan.baidu.com/share/link*
// @include *://yun.baidu.com/share/link*
// @exclude *://*.wandhi.com/*
// @require https://lib.baomitu.com/jquery/1.12.4/jquery.min.js
// @require https://cdn.jsdelivr.net/npm/sweetalert2@9.14.0/dist/sweetalert2.min.js
// @require https://lib.baomitu.com/echarts/4.6.0/echarts.min.js
// @require https://lib.baomitu.com/layer/2.3/layer.js
// @require https://lib.baomitu.com/reflect-metadata/0.1.13/Reflect.min.js
// @require https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js
// @require https://cdn.jsdelivr.net/npm/vuex@3.4.0/dist/vuex.min.js
// @require https://cdn.jsdelivr.net/npm/qrcode@1.4.4/build/qrcode.min.js
// @require https://cdn.jsdelivr.net/npm/crypto-js@4.0.0/crypto-js.js
// @license MIT
// @grant GM_setClipboard
// @run-at document-end
// @connect shangxueba365.com
// @connect api.wandhi.com
// @connect cdn.jsdelivr.net
// @connect tool.manmanbuy.com
// @connect xbeibeix.com
// @connect gwdang.com
// @grant unsafeWindow
// @grant GM_xmlhttpRequest
// @grant GM_info
// @grant GM.addStyle
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_notification
// @grant GM_openInTab
// @grant GM_deleteValue
// @grant GM_registerMenuCommand
// @grant GM_unregisterMenuCommand
// @antifeature referral-link
// @downloadURL none
// ==/UserScript==
!function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? t(require("vue"), require("crypto-js")) : "function" == typeof define && define.amd ? define([ "vue", "crypto-js" ], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).Vue, e.CryptoJS);
}(this, (function(e, t) {
"use strict";
function _interopDefaultLegacy(e) {
return e && "object" == typeof e && "default" in e ? e : {
default: e
};
}
var n = _interopDefaultLegacy(e), o = _interopDefaultLegacy(t), extendStatics = function(e, t) {
return (extendStatics = Object.setPrototypeOf || {
__proto__: []
} instanceof Array && function(e, t) {
e.__proto__ = t;
} || function(e, t) {
for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
})(e, t);
};
function __extends(e, t) {
function __() {
this.constructor = e;
}
extendStatics(e, t), e.prototype = null === t ? Object.create(t) : (__.prototype = t.prototype,
new __);
}
function __decorate(e, t, n, o) {
var i, r = arguments.length, a = r < 3 ? t : null === o ? o = Object.getOwnPropertyDescriptor(t, n) : o;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) a = Reflect.decorate(e, t, n, o); else for (var s = e.length - 1; s >= 0; s--) (i = e[s]) && (a = (r < 3 ? i(a) : r > 3 ? i(t, n, a) : i(t, n)) || a);
return r > 3 && a && Object.defineProperty(t, n, a), a;
}
function __metadata(e, t) {
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(e, t);
}
function __awaiter(e, t, n, o) {
return new (n || (n = Promise))((function(i, r) {
function fulfilled(e) {
try {
step(o.next(e));
} catch (e) {
r(e);
}
}
function rejected(e) {
try {
step(o.throw(e));
} catch (e) {
r(e);
}
}
function step(e) {
e.done ? i(e.value) : function adopt(e) {
return e instanceof n ? e : new n((function(t) {
t(e);
}));
}(e.value).then(fulfilled, rejected);
}
step((o = o.apply(e, t || [])).next());
}));
}
function __generator(e, t) {
var n, o, i, r, a = {
label: 0,
sent: function() {
if (1 & i[0]) throw i[1];
return i[1];
},
trys: [],
ops: []
};
return r = {
next: verb(0),
throw: verb(1),
return: verb(2)
}, "function" == typeof Symbol && (r[Symbol.iterator] = function() {
return this;
}), r;
function verb(r) {
return function(s) {
return function step(r) {
if (n) throw new TypeError("Generator is already executing.");
for (;a; ) try {
if (n = 1, o && (i = 2 & r[0] ? o.return : r[0] ? o.throw || ((i = o.return) && i.call(o),
0) : o.next) && !(i = i.call(o, r[1])).done) return i;
switch (o = 0, i && (r = [ 2 & r[0], i.value ]), r[0]) {
case 0:
case 1:
i = r;
break;
case 4:
return a.label++, {
value: r[1],
done: !1
};
case 5:
a.label++, o = r[1], r = [ 0 ];
continue;
case 7:
r = a.ops.pop(), a.trys.pop();
continue;
default:
if (!(i = a.trys, (i = i.length > 0 && i[i.length - 1]) || 6 !== r[0] && 2 !== r[0])) {
a = 0;
continue;
}
if (3 === r[0] && (!i || r[1] > i[0] && r[1] < i[3])) {
a.label = r[1];
break;
}
if (6 === r[0] && a.label < i[1]) {
a.label = i[1], i = r;
break;
}
if (i && a.label < i[2]) {
a.label = i[2], a.ops.push(r);
break;
}
i[2] && a.ops.pop(), a.trys.pop();
continue;
}
r = t.call(e, a);
} catch (e) {
r = [ 6, e ], o = 0;
} finally {
n = i = 0;
}
if (5 & r[0]) throw r[1];
return {
value: r[0] ? r[1] : void 0,
done: !0
};
}([ r, s ]);
};
}
}
var i, r = function() {
function Logger() {}
return Logger.log = function(e, t) {}, Logger.debug = function(e) {
this.log(e, i.debug);
}, Logger.info = function(e) {
this.log(e, i.info);
}, Logger.warn = function(e) {
this.log(e, i.warn);
}, Logger.error = function(e) {
this.log(e, i.error);
}, Logger;
}();
!function(e) {
e[e.debug = 0] = "debug", e[e.info = 1] = "info", e[e.warn = 2] = "warn", e[e.error = 3] = "error";
}(i || (i = {}));
var a = function() {
function Config() {}
return Object.defineProperty(Config, "env", {
get: function() {
return GM_info;
},
enumerable: !1,
configurable: !0
}), Config.get = function(e, t) {
void 0 === t && (t = "");
var n = GM_getValue(this.encode(e), t);
if (n) {
var o = JSON.parse(n);
if (-1 == o.exp || o.exp > (new Date).getTime()) return r.info("cache true"), o.value;
}
return r.info("cache false"), t;
}, Config.set = function(e, t, n) {
void 0 === n && (n = -1);
var o = {
key: e,
value: t,
exp: -1 == n ? n : (new Date).getTime() + 1e3 * n
};
GM_setValue(this.encode(e), JSON.stringify(o));
}, Config.clear = function(e) {
this.set(e, null, -10);
}, Config.decode = function(e) {
return atob(e);
}, Config.encode = function(e) {
return btoa(e);
}, Config;
}(), s = function s() {
this.max = 0, this.price_detail = [];
}, u = function u() {}, c = function c() {}, d = function() {
function Core() {
this.topUrl = top.window.location.href, this.url = this.currentUrl();
}
return Core.appendTo = function(e, t) {
$(e).append(t);
}, Core.lazyload = function(e, t) {
void 0 === t && (t = 5), setTimeout((function() {
e();
}), 1e3 * t);
}, Core.aotulazyload = function(e, t, n) {
void 0 === n && (n = 5), e() ? t() : setTimeout((function() {
Core.aotulazyload(e, t, n);
}), 1e3 * n);
}, Core.addUrl = function(e, t) {
GM_setValue(e, t);
}, Core.openUrl = function(e) {
this.open(GM_getValue(e));
}, Core.prototype.getPar = function(e, t) {
void 0 === t && (t = window.location.search);
var n = t.match(new RegExp("[?&]" + e + "=([^&]+)", "i"));
return null == n || n.length < 1 ? "" : n[1];
}, Core.appendCss = function(e) {
var t = document.createElement("link");
t.type = "text/css", t.rel = "stylesheet", t.href = e, Core.head.appendChild(t);
}, Core.appendCssContent = function(e) {
var t = document.createElement("style");
t.innerHTML = e, Core.head.appendChild(t);
}, Core.prototype.bodyAppendCss = function(e) {
$("body").append($(''));
}, Core.bodyAppend = function(e) {
$("body").append(e);
}, Core.appendJs = function(e) {
var t = document.createElement("script");
t.type = "text/javascript", t.src = e, this.head.appendChild(t);
}, Core.prototype.bodyAppendJs = function(e) {
$("body").append($('