// ==UserScript== // @name 【玩的嗨】VIP工具箱,一站式音乐搜索下载,获取B站封面,上学吧答案获取等众多功能聚合 2020-05-08 更新,报错请及时反馈 // @namespace http://www.wandhi.com/ // @version 4.1.8 // @homepage https://tools.wandhi.com/scripts // @supportURL https://wiki.wandhi.com/ // @description 功能介绍:1、Vip视频解析;2、一站式音乐搜索解决方案;3、bilibili视频封面获取;4、上学吧答案查询(接口偶尔抽风);5、商品历史价格展示(一次性告别虚假降价);6、优惠券查询 // @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 *://detail.tmall.hk/* // @include *://item.jd.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.bootcss.com/sweetalert/2.1.2/sweetalert.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 // @license MIT // @grant GM_setClipboard // @run-at document-end // @connect shangxueba365.com // @connect api.wandhi.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 // @downloadURL none // ==/UserScript== (function () { 'use strict'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } var Core = (function () { function Core() { this.topUrl = top.window.location.href; this.url = this.currentUrl(); } Core.appendTo = function (selecter, html) { $(selecter).append(html); }; Core.addUrl = function (key, url) { GM_setValue(key, url); }; Core.openUrl = function (key) { this.open(GM_getValue(key)); }; Core.prototype.getPar = function (option, url) { if (url === void 0) { url = window.location.search; } var v = url.match(new RegExp("[\?\&]" + option + "=([^\&]+)", "i")); return v == null || v.length < 1 ? "" : v[1]; }; Core.appendCss = function (url) { var linkCSS = document.createElement("link"); linkCSS.type = "text/css"; linkCSS.rel = "stylesheet"; linkCSS.href = url; Core.head.appendChild(linkCSS); }; Core.appendCssContent = function (content) { var Style = document.createElement("style"); Style.innerHTML = content; Core.head.appendChild(Style); }; Core.prototype.bodyAppendCss = function (url) { $('body').append($('')); }; Core.bodyAppend = function (html) { $("body").append(html); }; Core.appendJs = function (url) { var linkScript = document.createElement("script"); linkScript.type = "text/" + ("javascript"); linkScript.src = url; this.head.appendChild(linkScript); }; Core.prototype.bodyAppendJs = function (url) { $('body').append($('')); }; Core.prototype.currentUrl = function () { return window.location.href; }; Core.prototype.Msg = function (msg) { return layer.msg(msg, { icon: 5 }); }; Core.prototype.showContent = function (title, content) { return layer.open({ type: 1, title: title, shade: 0, content: content }); }; Core.prototype.close = function (obj) { layer.close(obj); }; Core.prototype.closeAll = function () { layer.closeAll(); }; Core.open = function (url, loadInBackGround) { if (loadInBackGround === void 0) { loadInBackGround = false; } GM_openInTab(url, loadInBackGround); }; Core.uuid = function (len, radix) { if (len === void 0) { len = 10; } if (radix === void 0) { radix = 16; } var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); var uuid = [], i; radix = radix || chars.length; if (len) { for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]; } else { var r = void 0; uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'; uuid[14] = '4'; for (i = 0; i < 36; i++) { if (!uuid[i]) { r = 0 | Math.random() * 16; uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; } } } return uuid.join(''); }; Core.head = document.getElementsByTagName('head')[0]; Core.top_url = top.window.location.href; return Core; }()); var Common; (function (Common) { var Menu = (function () { function Menu() { this.core = new Core(); this.site = /tv.wandhi.com/i; this.userAgent = navigator.userAgent; this.menusClass = ['first', 'second', 'third', 'fourth', 'fifth']; this.menuSelecter = "#Wandhi-nav"; } Menu.prototype.loader = function () { Core.appendCssContent(this.getCss()); }; Menu.prototype.getBody = function (option) { return "
"; }; Menu.prototype.getCss = function () { return "html .aside-nav{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-size:62.5%}body .aside-nav{font-family:\"Helvetica Neue\",Helvetica,\"Microsoft YaHei\",Arial,sans-serif;margin:0;font-size:1.6rem;color:#4e546b}.aside-nav{position:fixed;top:350px;width:260px;height:260px;-webkit-filter:url(#goo);filter:url(#goo);-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none;opacity:.75;z-index:20180817}.aside-nav.no-filter{-webkit-filter:none;filter:none}.aside-nav .aside-menu{position:absolute;width:70px;height:70px;-webkit-border-radius:50%;border-radius:50%;background:#f34444;left:0;top:0;right:0;bottom:0;margin:auto;text-align:center;line-height:70px;color:#fff;font-size:20px;z-index:1;cursor:move}.aside-nav .menu-item{position:absolute;width:60px;height:60px;background-color:#ff7676;left:0;top:0;right:0;bottom:0;margin:auto;line-height:60px;text-align:center;-webkit-border-radius:50%;border-radius:50%;text-decoration:none;color:#fff;-webkit-transition:background .5s,-webkit-transform .6s;transition:background .5s,-webkit-transform .6s;-moz-transition:transform .6s,background .5s,-moz-transform .6s;transition:transform .6s,background .5s;transition:transform .6s,background .5s,-webkit-transform .6s,-moz-transform .6s;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.aside-nav .menu-item:hover{background:#a9c734}.aside-nav .menu-line{line-height:20px;padding-top:10px}.aside-nav:hover{opacity:1}.aside-nav:hover .aside-menu{-webkit-animation:jello 1s;-moz-animation:jello 1s;animation:jello 1s}.aside-nav:hover .menu-first{-webkit-transform:translate3d(0,-135%,0);-moz-transform:translate3d(0,-135%,0);transform:translate3d(0,-135%,0)}.aside-nav:hover .menu-second{-webkit-transform:translate3d(120%,-70%,0);-moz-transform:translate3d(120%,-70%,0);transform:translate3d(120%,-70%,0)}.aside-nav:hover .menu-third{-webkit-transform:translate3d(120%,70%,0);-moz-transform:translate3d(120%,70%,0);transform:translate3d(120%,70%,0)}.aside-nav:hover .menu-fourth{-webkit-transform:translate3d(0,135%,0);-moz-transform:translate3d(0,135%,0);transform:translate3d(0,135%,0)}@-webkit-keyframes jello{from,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@-moz-keyframes jello{from,11.1%,to{-moz-transform:none;transform:none}22.2%{-moz-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-moz-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-moz-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-moz-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-moz-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-moz-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-moz-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{from,11.1%,to{-webkit-transform:none;-moz-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);-moz-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);-moz-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);-moz-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);-moz-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);-moz-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(0.390625deg) skewY(0.390625deg);-moz-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);-moz-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;animation-fill-mode:both}\n@-webkit-keyframes bounceInUp{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,800px,0);transform:translate3d(0,800px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-moz-keyframes bounceInUp{from,60%,75%,90%,to{-moz-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-moz-transform:translate3d(0,800px,0);transform:translate3d(0,800px,0)}60%{opacity:1;-moz-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-moz-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-moz-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);-moz-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,800px,0);-moz-transform:translate3d(0,800px,0);transform:translate3d(0,800px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-moz-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);-moz-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);-moz-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;-moz-animation-name:bounceInUp;animation-name:bounceInUp;-webkit-animation-delay:1s;-moz-animation-delay:1s;animation-delay:1s}@media screen and (max-width:640px){}@media screen and (min-width:641px) and (max-width:1367px){.aside-nav{top:50px}}"; }; Menu.prototype.Init = function (menus, callback) { var _this = this; if (this.site.test(this.core.topUrl)) { return; } this.loader(); var str = ""; menus.forEach(function (element, index) { str += "" + element.show + ""; }); Core.bodyAppend(this.getBody(str)); /Safari|iPhone/i.test(this.userAgent) && /chrome/i.test(this.userAgent) && $("#Wandhi-nav").addClass("no-filter"); var drags = { down: !1, x: 0, y: 0, winWid: 0, winHei: 0, clientX: 0, clientY: 0 }; var asideNav = $(this.menuSelecter)[0]; $("body").on("mousedown", "#Wandhi-nav", function (a) { var getCss = function (a, e) { return a.currentStyle ? a.currentStyle[e] : document.defaultView.getComputedStyle(a, !1)[e]; }; drags.down = !0, drags.clientX = a.clientX, drags.clientY = a.clientY, drags.x = parseInt(getCss(this, "left")), drags.y = parseInt(getCss(this, "top")), drags.winHei = $(window).height(), drags.winWid = $(window).width(), $(document).on("mousemove", function (a) { var e = a.clientX - drags.clientX, t = a.clientY - drags.clientY; asideNav = asideNav || $("#Wandhi-nav")[0]; asideNav.style.top = drags.y + t + "px"; asideNav.style.left = drags.x + e + "px"; }); }).on("mouseup", "#Wandhi-nav", function () { drags.down = !1, $(document).off("mousemove"); }); callback.call(this); }; return Menu; }()); Common.Menu = Menu; })(Common || (Common = {})); var container = new Map(); var Container = (function () { function Container() { } Container.Registe = function (type, args) { var className = this.processName(type.name); container.set(className, window.Reflect.construct(type, this.buildParams(args))); return container.get(className); }; Container.buildParams = function (args) { var para = []; args === null || args === void 0 ? void 0 : args.map(function (item) { para.push(item); }); return para; }; Container.processName = function (name) { return name.toLowerCase(); }; Container.Require = function (type) { var _this = this; var name = this.processName(type.name); if (container.has(name)) { return container.get(name); } var classParams = Reflect.getMetadata(METADATA_PARAMS, type); var args; if (classParams === null || classParams === void 0 ? void 0 : classParams.length) { args = classParams.map(function (item) { return _this.Require(item); }); } return this.Registe(type, args); }; Container.define = function (target, key) { var _a; var classType = Reflect.getMetadata(METADATA_TYPE, target, key); var desc = (_a = Object.getOwnPropertyDescriptor(target, key)) !== null && _a !== void 0 ? _a : { writable: true, configurable: true }; desc.value = this.Require(classType); Object.defineProperty(target, key, desc); }; return Container; }()); var METADATA_TYPE = "design:type"; var METADATA_PARAMS = "design:paramtypes"; function WandhiAuto(target, key) { Container.define(target, key); } var PluginBase = (function () { function PluginBase() { } PluginBase.prototype.linkTest = function (url) { var _this = this; if (!url) { url = this.core.currentUrl(); } var flag = false; this.rules.forEach(function (v, k) { if (v.test(url)) { flag = true; _this.site = k; return false; } return true; }); return flag; }; PluginBase.prototype.Process = function () { this.loader(); this.run(); }; PluginBase.prototype.getData = function (url, callback) { $.getJSON(url, function (d) { callback(d); }); }; var _a, _b; __decorate([ WandhiAuto, __metadata("design:type", typeof (_a = typeof Core !== "undefined" && Core) === "function" ? _a : Object) ], PluginBase.prototype, "core", void 0); __decorate([ WandhiAuto, __metadata("design:type", typeof (_b = typeof Common !== "undefined" && Common.Menu) === "function" ? _b : Object) ], PluginBase.prototype, "menu", void 0); return PluginBase; }()); var LinesOption = (function () { function LinesOption() { } return LinesOption; }()); var Config = (function () { function Config() { } Object.defineProperty(Config, "env", { get: function () { return GM_info; }, enumerable: true, configurable: true }); Config.get = function (key, de) { if (de === void 0) { de = ""; } var objStr = GM_getValue(this.encode(key), de); if (objStr) { var obj = JSON.parse(objStr); if (obj.exp == -1 || obj.exp > new Date().getTime()) { return obj.value; } } return de; }; Config.set = function (key, v, exp) { if (exp === void 0) { exp = -1; } var obj = { key: key, value: v, exp: exp == -1 ? exp : new Date().getTime() + exp }; GM_setValue(this.encode(key), JSON.stringify(obj)); }; Config.decode = function (str) { return atob(str); }; Config.encode = function (str) { return btoa(str); }; return Config; }()); var Runtime = (function () { function Runtime() { } Object.defineProperty(Runtime, "url", { get: function () { return window.location.href; }, enumerable: true, configurable: true }); return Runtime; }()); var HttpRequest = (function () { function HttpRequest(option) { this.headers = new Map(); this.url = option.url; this.method = option.methodType; this.dataType = option.dataType; this._option = option; } HttpRequest.prototype.onload = function (res) { this._option.onSuccess(res); }; HttpRequest.prototype.onerror = function () { this.onerror(); }; HttpRequest.prototype.setQueryData = function (datas) { if (datas instanceof FormData) { this.data = datas; } else { var fd = new FormData(); for (var i in datas) { fd.append(i, datas[i]); } this.data = fd; } }; Object.defineProperty(HttpRequest.prototype, "onLoad", { get: function () { return this.onSuccess; }, enumerable: true, configurable: true }); return HttpRequest; }()); var AjaxOption = (function () { function AjaxOption(_url, _methodType, _data, _success, _header) { if (_methodType === void 0) { _methodType = "GET"; } if (_header === void 0) { _header = new Map(); } this.url = _url; this.methodType = _methodType; this.onSuccess = _success; this.onError = _success; this.data = _data; this.headers = _header; } AjaxOption.prototype.getData = function () { if (this.data instanceof FormData) { return this.data; } else if (this.data instanceof Map) { var fd_1 = new FormData(); this.data.forEach(function (v, k) { fd_1.append(k, v); }); return fd_1; } else { var fd = new FormData(); for (var i in this.data) { fd.append(i, this.data[i]); } return fd; } }; return AjaxOption; }()); var Alert = (function () { function Alert() { } Alert.open = function (titls, content, area, shade, offset, maxmin) { if (area === void 0) { area = ['400px', '300px']; } if (shade === void 0) { shade = 0; } if (offset === void 0) { offset = "lb"; } if (maxmin === void 0) { maxmin = true; } return layer.open({ type: 1, title: titls, area: area, shade: shade, offset: offset, maxmin: maxmin, content: content }); }; Alert.info = function (msg) { return layer.msg(msg, { time: 2000 }); }; Alert.error = function (msg) { return layer.msg(msg, { icon: 5, time: 2000 }); }; Alert.confim = function (title, msg, buttons, callback) { return layer.open({ type: 1, title: title || false, closeBtn: true, shade: 0.8, id: 'LAY_layuipro', resize: false, btn: buttons, btnAlign: 'c', moveType: 1, content: "" + error + "
\n \u9519\u8BEF\u8BE6\u60C5\uFF1A" + escape(res.responseText) + "
\n \u73AF\u5883\u4FE1\u606F\uFF1A\u6CB9\u7334\u7248\u672C\uFF1A" + Config.env.version + "
\n\u811A\u672C\u7248\u672C\uFF1A" + Config.env.script.version + "
\nUrl\uFF1A" + Runtime.url + "
\n ", ['去反馈', "\u5173\u95ED"], function () { Core.open("https://gitee.com/ixysy/OneKeyVip/issues"); }); (_b = option.onSuccess) === null || _b === void 0 ? void 0 : _b.call(option, null); } }, onerror: function (res) { var _a; Alert.confim("", " \n" + escape(res.responseText) + "
\n \u73AF\u5883\u4FE1\u606F\uFF1A\u6CB9\u7334\u7248\u672C\uFF1A" + Config.env.version + "
\n\u811A\u672C\u7248\u672C\uFF1A" + Config.env.script.version + "
\nUrl\uFF1A" + Runtime.url + "
\n ", ['去反馈', "\u5173\u95ED"], function () { Core.open("https://gitee.com/ixysy/OneKeyVip/issues"); }); (_a = option.onError) === null || _a === void 0 ? void 0 : _a.call(option, res); } }); }; Http.getData = function (url, callback) { $.getJSON(url, function (d) { callback(d); }); }; Http.post = function (url, data) { var index = Alert.loading(); var p = new Promise(function (resolve) { Http.ajax(new AjaxOption(url, "POST", data, function (data) { Alert.close(index); resolve(data); })); }).finally(function () { return Alert.close(index); }); return p; }; Http.get = function (url, data) { var p = new Promise(function (resolve) { Http.ajax(new AjaxOption(url, "GET", data, function (data) { resolve(data); })); }); return p; }; return Http; }()); var Route = (function () { function Route() { this.queryTao = ""; } Object.defineProperty(Route, "apiRoot", { get: function () { return "https://api.wandhi.com/api"; }, enumerable: true, configurable: true }); Route.querySbx = function (id, callback) { var _this = this; if (Config.get(this.sxb_key, "") !== "") { this.query365(id, Config.get(this.sxb_key), callback); } else { this.queryValue('sxb_anhao', function (res) { _this.query365(id, res.data, callback); }); } }; Route.sbxFeedback = function (id, answer) { this.baseApi('/tools/record', new Map([ ['id', id], ['data', answer], ['anhao', Config.get(this.sxb_key)] ]), function () { }); }; Route.query365 = function (id, anhao, callback) { var api = Config.get('sxb_api'); if (!api) { this.queryValue('sxb_api', function (res) { Config.set('sxb_api', res.data, 1000 * 60 * 60 * 24); Http.post(res.data, new Map([ ["docinfo", "https://www.shangxueba.com/ask/" + id + ".html"], ["anhao", anhao] ])); }); } else { Http.post(api, new Map([ ["docinfo", "https://www.shangxueba.com/ask/" + id + ".html"], ["anhao", anhao] ])).then(function (res) { callback(res); }); } }; Route.queryValue = function (key, callback) { this.baseApi(Route.config, new Map([ ["key", key] ]), callback); }; Route.queryHistory = function (url, siteType, callback) { this.baseApi(this.history, new Map([['url', url], ['type', siteType]]), callback); }; Route.queryBiliImg = function (callback) { this.baseApi(this.bili, new Map([['url', Runtime.url]]), callback); }; Route.baseApi = function (api, data, callback) { Http.post(Route.apiRoot + api, data).then(function (res) { callback(res); }); }; Route.sxb_anhao = "http://www.lelunwen.com/e/action/ListInfo/?classid=45"; Route.sxb_key = "sxb_anhao"; Route.config = "/config/query"; Route.history = "/history/"; Route.bili = "/tools/bili"; return Route; }()); var SiteEnum; (function (SiteEnum) { SiteEnum["TaoBao"] = "TaoBao"; SiteEnum["TMall"] = "TMall"; SiteEnum["JingDong"] = "JingDong"; SiteEnum["IQiYi"] = "IQiYi"; SiteEnum["YouKu"] = "YouKu"; SiteEnum["LeShi"] = "LeShi"; SiteEnum["TuDou"] = "TuDou"; SiteEnum["Tencent_V"] = "Tencent_V"; SiteEnum["MangGuo"] = "MangGuo"; SiteEnum["SoHu"] = "SoHu"; SiteEnum["Acfun"] = "Acfun"; SiteEnum["BiliBili"] = "BiliBili"; SiteEnum["M1905"] = "M1905"; SiteEnum["PPTV"] = "PPTV"; SiteEnum["YinYueTai"] = "YinYueTai"; SiteEnum["WangYi"] = "WangYi"; SiteEnum["Tencent_M"] = "Tencent_M"; SiteEnum["KuGou"] = "KuGou"; SiteEnum["KuWo"] = "KuWo"; SiteEnum["XiaMi"] = "XiaMi"; SiteEnum["TaiHe"] = "TaiHe"; SiteEnum["QingTing"] = "QingTing"; SiteEnum["LiZhi"] = "LiZhi"; SiteEnum["MiGu"] = "MiGu"; SiteEnum["XiMaLaYa"] = "XiMaLaYa"; SiteEnum["SXB"] = "SXB"; SiteEnum["BDY"] = "BDY"; SiteEnum["BDY1"] = "BDY1"; SiteEnum["LZY"] = "LZY"; })(SiteEnum || (SiteEnum = {})); var HistoryService = (function (_super) { __extends(HistoryService, _super); function HistoryService() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.rules = new Map([ [SiteEnum.TMall, /detail.tmall.com\/item.htm/i], [SiteEnum.TaoBao, /item.taobao.com/i], [SiteEnum.JingDong, /item.jd.com\/[0-9]*.html/i], ]); return _this; } HistoryService.prototype.loader = function () { Core.appendCssContent(this.getHistoryCss()); }; HistoryService.prototype.run = function () { this.injectHistory(); }; HistoryService.prototype.injectHistory = function () { switch (this.site) { case SiteEnum.TaoBao: case SiteEnum.TMall: this.initHistoryTao(); break; case SiteEnum.JingDong: this.initHistoryJd(); break; } }; HistoryService.prototype.initHistoryTao = function () { if ($("#J_DetailMeta").length) { Core.appendTo("#J_DetailMeta", this.getHistoryHtml()); } else { Core.appendTo("#detail", this.getHistoryHtml() + "\u4F18\u60E0\u5238 | \u5238\u540E | \u6709 \u6548 \u671F | \u64CD\u4F5C |
---|---|---|---|
\u6B63\u5728\u67E5\u8BE2\u4F18\u60E0\u4FE1\u606F\uFF0C\u8BF7\u7A0D\u5019... |