您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
漫画分章节下载(可直接下载/压缩下载),并记录下载历史,适用于 酷漫屋、百漫谷、武侠漫画、动漫之家、七夕漫画、36漫画网、古风漫画网、腾讯漫画、漫画星球、好漫8、漫画屋、27漫画网。对个别漫画网站修改阅读样式。
当前为
// ==UserScript== // @name 10漫画下载 // @namespace http://tampermonkey2.net/ // @version 1.1.5 // @description 漫画分章节下载(可直接下载/压缩下载),并记录下载历史,适用于 酷漫屋、百漫谷、武侠漫画、动漫之家、七夕漫画、36漫画网、古风漫画网、腾讯漫画、漫画星球、好漫8、漫画屋、27漫画网。对个别漫画网站修改阅读样式。 // @author journey3510 // @run-at document-end // @grant GM_getValue // @grant GM_setValue // @grant GM_setClipboard // @grant GM_info // @grant GM_xmlhttpRequest // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_download // @grant GM.getValue // @grant GM.setValue // @grant GM.setClipboard // @grant GM.info // @grant GM.xmlHttpRequest // @grant GM.download // @resource vantcss https://unpkg.com/[email protected]/lib/index.css // @require https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js // @require https://cdn.bootcdn.net/ajax/libs/jszip/3.7.1/jszip.min.js // @require https://unpkg.com/[email protected]/lib/vant.min.js // // @match *://www.kumw5.com/* // @connect kumw5.com // // @match *://darpou.com/* // @connect manga8.xyz // // @match *://m.wuxiamh.com/* // @match *://www.wuxiamh.com/* // @connect 169gouwu.com // // @match *://*.dmzj.com/* // @connect dmzj.com // // @match *://qiximh1.com/* // @connect byteimg.com // // @match *://www.36manga.com/* // @connect arc-theday.com // // @match *://www.gufengmanhua.com/* // @connect gufengmanhua.com // @match *://www.123gf.com/* // @connect 123gf.com // @connect xiaoqinre.com // @connect bdstatic.com // // @match *://ac.qq.com/* // @connect acimg.cn // // @match *://www.mhxqiu1.com/* // @connect byteimg.com // // @match *://www.haoman8.com/* // @connect haoman8.com // // @match *://www.mh5.org/* // @connect xiaomingtaiji.net // // @match *://www.2mzx.com/* // @connect 2mzx.com // @connect hnsrht.com // @connect huayingrenren.cn // // @match *://www.zuimh.com/* // @connect pinmh.com // @connect ejujiu.com // @connect dodomh.com // // @match *://www.qianwee.com/* // @connect qianwee.com // @connect szssjg.com // // @match *://www.sixmh7.com/* // @connect byteimg.com // @connect * // @connect laimidao.com // @connect izhegu.com // @connect nicefee.com // @license MIT // ==/UserScript== /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ 400: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, "body {\n font-size: 14px;\n}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 452: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, ".van-cell__title{text-align:left}.van-popover--light{font-size:12px !important;color:#8d8de7 !important}.van-popover--light .van-popover__arrow{color:#d9d9d9 !important}.van-popover__content{border:1px solid !important;padding:2px 9px !important}*{padding:0;margin:0}body{font-size:14px}.app-container{background-color:#f8f8f8;padding:10px}::-webkit-scrollbar{width:7px;height:5px;border-radius:15px;-webkit-border-radius:15px}::-webkit-scrollbar-track-piece{border-radius:15px;-webkit-border-radius:15px}::-webkit-scrollbar-thumb:vertical{height:5px;background-color:rgba(102,204,255,0.533333);border-radius:15px;-webkit-border-radius:15px}::-webkit-scrollbar-thumb:horizontal{width:7px;background-color:rgba(144,147,153,0.5);border-radius:15px;-webkit-border-radius:15px}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 857: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, "*[data-v-5ef48958]{margin:0;padding:0}.custom-indicator[data-v-5ef48958]{position:absolute;height:700px;right:5px;bottom:5px;padding:2px 5px;font-size:12px;background:rgba(0,0,0,0.1)}#thebtn[data-v-5ef48958]{position:fixed;top:150px;right:600px;z-index:90000 !important}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 871: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, ".card[data-v-5ef48958]{position:fixed;z-index:9999;right:0;top:50%;height:800px;width:420px;background-color:#f8f8f8;transform:translateY(-50%);border:solid 1px #66ccffee;border-radius:25px;transition:all 0.5s;box-shadow:2px 3px 3px 2px #66ccff55}.card__btn[data-v-5ef48958]{transition:all 0.5s;border-radius:30px 0 0 30px;width:30px;height:60px;background-color:#66ccff96;cursor:pointer;position:absolute;right:420px;top:50%;text-align:center}.card__btn svg[data-v-5ef48958]{height:20px;width:20px;position:absolute;right:5px;top:20px;transition:all 0.5s;transform:rotate(180deg)}.card--hide[data-v-5ef48958]{right:-415px}.card--hide .card__btn[data-v-5ef48958]{border-radius:0 30px 30px 0;right:420px;transform:rotate(180deg)}#border-bottom-set[data-v-5ef48958]{border-bottom-left-radius:25px;border-bottom-right-radius:25px;overflow:hidden}#chapterpage[data-v-5ef48958]{position:relative;width:100%;height:100%}#border-top-set[data-v-5ef48958]{border-top-left-radius:25px;border-top-right-radius:25px;overflow:hidden}.swipeitem[data-v-5ef48958]{height:697px;padding-bottom:5px}.test[data-v-5ef48958]{position:absolute;position:relative;cursor:default;height:600px}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 578: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, "#downcontext[data-v-1e855a88]{margin:15px 15px;max-height:680px;border-radius:15px;overflow:auto}.comicnametag1[data-v-1e855a88]{margin-left:10px;height:15px;margin-top:4px;display:inline-block;max-width:200px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#downlist[data-v-1e855a88]{margin:10px 5px;padding:5px 0px;border-radius:15px;width:100%;overflow-y:auto;overflow-x:hidden;max-height:500px}#downlist .downitem[data-v-1e855a88]{display:flex;flex-direction:column;width:98%}#downlist .downitem .itemname[data-v-1e855a88]{display:flex;justify-content:space-between;margin:2px 5px}#downlist .downitem .itemname .comicnametag[data-v-1e855a88]{display:inline-block;width:60px;max-width:60px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer}#downlist .downitem .itemname .chapterspan[data-v-1e855a88]{display:inline-block;max-width:200px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#downlist .downitem .itemname .hasError[data-v-1e855a88]{color:red}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 327: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, ".homeindex[data-v-7eb2bc79]{margin-top:20px;overflow-y:auto;max-height:675px}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 625: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, ".setindex[data-v-234d1526]{display:flex;flex-direction:column;margin:20px 15px 30px 15px;height:680px;max-height:680px;justify-content:space-between}.setindex #setpart[data-v-234d1526]{flex-direction:row;border-radius:15px;background-color:#ffffff;overflow:auto}.setindex #setpart .van-cell-group__title[data-v-234d1526]{color:#78a5ff;font-size:15px}.setindex #setpart .van-cell[data-v-234d1526]{padding:10px 1px}.setindex #setpart .van-cell .cellleftvalue[data-v-234d1526]{flex:1}.setindex #setpart .van-cell .cellrightvalue[data-v-234d1526]{flex:0.2 !important}.setindex #setpart .van-cell .rightbutton[data-v-234d1526]{flex-direction:row-reverse}.setindex #setpart .van-cell .custom-title[data-v-234d1526]{text-align:left}.setindex #setpart .van-cell .rightslider[data-v-234d1526]{margin:10px 15px;width:150px}.setindex #setpart .van-cell .rightslider .custom-button[data-v-234d1526]{width:26px;color:#fff;font-size:10px;line-height:18px;text-align:center;background-color:#ee0a24;border-radius:100px}.setindex #set-bottom[data-v-234d1526]{display:flex;justify-content:center;margin-bottom:20px}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 210: /***/ ((module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, "#comiclist[data-v-657d4b24]{margin-top:15px;border-radius:15px;position:relative;height:650px}#overlayDom[data-v-657d4b24]{background-color:#eeeeeece}#select-list[data-v-657d4b24]{max-height:600px;overflow-y:auto}#editItem[data-v-657d4b24]{display:flex;justify-content:space-between;margin:0px 15px;padding:5px;display:flex;flex-wrap:wrap}#comicinfo[data-v-657d4b24]{width:280px;margin:20px auto}#comicinfo .van-cell__title[data-v-657d4b24]{max-width:80px !important}input[data-v-657d4b24]{margin-left:5px;margin-right:5px;width:50px}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 645: /***/ ((module) => { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader // eslint-disable-next-line func-names module.exports = function (cssWithMappingToString) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item); if (item[2]) { return "@media ".concat(item[2], " {").concat(content, "}"); } return content; }).join(""); }; // import a list of modules into the list // eslint-disable-next-line func-names list.i = function (modules, mediaQuery, dedupe) { if (typeof modules === "string") { // eslint-disable-next-line no-param-reassign modules = [[null, modules, ""]]; } var alreadyImportedModules = {}; if (dedupe) { for (var i = 0; i < this.length; i++) { // eslint-disable-next-line prefer-destructuring var id = this[i][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _i = 0; _i < modules.length; _i++) { var item = [].concat(modules[_i]); if (dedupe && alreadyImportedModules[item[0]]) { // eslint-disable-next-line no-continue continue; } if (mediaQuery) { if (!item[2]) { item[2] = mediaQuery; } else { item[2] = "".concat(mediaQuery, " and ").concat(item[2]); } } list.push(item); } }; return list; }; /***/ }), /***/ 379: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isOldIE = function isOldIE() { var memo; return function memorize() { if (typeof memo === 'undefined') { // Test for IE <= 9 as proposed by Browserhacks // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 // Tests for existence of standard globals is to allow style-loader // to operate correctly into non-standard environments // @see https://github.com/webpack-contrib/style-loader/issues/177 memo = Boolean(window && document && document.all && !window.atob); } return memo; }; }(); var getTarget = function getTarget() { var memo = {}; return function memorize(target) { if (typeof memo[target] === 'undefined') { var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { try { // This will throw an exception if access to iframe is blocked // due to cross-origin restrictions styleTarget = styleTarget.contentDocument.head; } catch (e) { // istanbul ignore next styleTarget = null; } } memo[target] = styleTarget; } return memo[target]; }; }(); var stylesInDom = []; function getIndexByIdentifier(identifier) { var result = -1; for (var i = 0; i < stylesInDom.length; i++) { if (stylesInDom[i].identifier === identifier) { result = i; break; } } return result; } function modulesToDom(list, options) { var idCountMap = {}; var identifiers = []; for (var i = 0; i < list.length; i++) { var item = list[i]; var id = options.base ? item[0] + options.base : item[0]; var count = idCountMap[id] || 0; var identifier = "".concat(id, " ").concat(count); idCountMap[id] = count + 1; var index = getIndexByIdentifier(identifier); var obj = { css: item[1], media: item[2], sourceMap: item[3] }; if (index !== -1) { stylesInDom[index].references++; stylesInDom[index].updater(obj); } else { stylesInDom.push({ identifier: identifier, updater: addStyle(obj, options), references: 1 }); } identifiers.push(identifier); } return identifiers; } function insertStyleElement(options) { var style = document.createElement('style'); var attributes = options.attributes || {}; if (typeof attributes.nonce === 'undefined') { var nonce = true ? __webpack_require__.nc : 0; if (nonce) { attributes.nonce = nonce; } } Object.keys(attributes).forEach(function (key) { style.setAttribute(key, attributes[key]); }); if (typeof options.insert === 'function') { options.insert(style); } else { var target = getTarget(options.insert || 'head'); if (!target) { throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); } target.appendChild(style); } return style; } function removeStyleElement(style) { // istanbul ignore if if (style.parentNode === null) { return false; } style.parentNode.removeChild(style); } /* istanbul ignore next */ var replaceText = function replaceText() { var textStore = []; return function replace(index, replacement) { textStore[index] = replacement; return textStore.filter(Boolean).join('\n'); }; }(); function applyToSingletonTag(style, index, remove, obj) { var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE /* istanbul ignore if */ if (style.styleSheet) { style.styleSheet.cssText = replaceText(index, css); } else { var cssNode = document.createTextNode(css); var childNodes = style.childNodes; if (childNodes[index]) { style.removeChild(childNodes[index]); } if (childNodes.length) { style.insertBefore(cssNode, childNodes[index]); } else { style.appendChild(cssNode); } } } function applyToTag(style, options, obj) { var css = obj.css; var media = obj.media; var sourceMap = obj.sourceMap; if (media) { style.setAttribute('media', media); } else { style.removeAttribute('media'); } if (sourceMap && typeof btoa !== 'undefined') { css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); } // For old IE /* istanbul ignore if */ if (style.styleSheet) { style.styleSheet.cssText = css; } else { while (style.firstChild) { style.removeChild(style.firstChild); } style.appendChild(document.createTextNode(css)); } } var singleton = null; var singletonCounter = 0; function addStyle(obj, options) { var style; var update; var remove; if (options.singleton) { var styleIndex = singletonCounter++; style = singleton || (singleton = insertStyleElement(options)); update = applyToSingletonTag.bind(null, style, styleIndex, false); remove = applyToSingletonTag.bind(null, style, styleIndex, true); } else { style = insertStyleElement(options); update = applyToTag.bind(null, style, options); remove = function remove() { removeStyleElement(style); }; } update(obj); return function updateStyle(newObj) { if (newObj) { if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { return; } update(obj = newObj); } else { remove(); } }; } module.exports = function (list, options) { options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> // tags it will allow on a page if (!options.singleton && typeof options.singleton !== 'boolean') { options.singleton = isOldIE(); } list = list || []; var lastIdentifiers = modulesToDom(list, options); return function update(newList) { newList = newList || []; if (Object.prototype.toString.call(newList) !== '[object Array]') { return; } for (var i = 0; i < lastIdentifiers.length; i++) { var identifier = lastIdentifiers[i]; var index = getIndexByIdentifier(identifier); stylesInDom[index].references--; } var newLastIdentifiers = modulesToDom(newList, options); for (var _i = 0; _i < lastIdentifiers.length; _i++) { var _identifier = lastIdentifiers[_i]; var _index = getIndexByIdentifier(_identifier); if (stylesInDom[_index].references === 0) { stylesInDom[_index].updater(); stylesInDom.splice(_index, 1); } } lastIdentifiers = newLastIdentifiers; }; }; /***/ }), /***/ 872: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "HL": () => (/* binding */ matchWeb), /* harmony export */ "Po": () => (/* binding */ currentComics), /* harmony export */ "eT": () => (/* binding */ getWebList) /* harmony export */ }); /* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(624); /* eslint-disable no-undef */ /* eslint-disable no-empty */ /* eslint-disable no-eval */ const comicsWebInfo = [ { domain: 'manhua.dmzj.com', homepage: 'https://manhua.dmzj.com/', webName: '动漫之家', comicNameCss: '.odd_anim_title_m .anim_title_text h1', chapterCss: '.cartoon_online_border', readtype: 1, getImgs: async function(context) { const group = context.matchAll(/(function[\s\S]+?return \S})(\([\s\S]+?{}\))/g) const func = [] for (const item of group) { func.push(item[1]) func.push(item[2]) } const code = '(' + func[0] + ')' + func[1] let imgStr = eval(code) imgStr = imgStr.match(/\[[\s\S]+?\]/)[0] let imgArray = JSON.parse(imgStr) if (imgArray[0].search('http') === -1) { imgArray = imgArray.map((item) => { return 'https://images.dmzj.com/' + item }) } return imgArray } }, { domain: 'www.dmzj.com', homepage: 'https://www.dmzj.com/', webName: '动漫之家2', comicNameCss: '.comic_deCon h1 a', chapterCss: '.tab-content-selected .list_con_li.autoHeight', readtype: 1, getImgs: async function(context) { const group = context.matchAll(/(function[\s\S]+?return \S})(\([\s\S]+?{}\))/g) const func = [] for (const item of group) { func.push(item[1]) func.push(item[2]) } const code = '(' + func[0] + ')' + func[1] let imgStr = eval(code) imgStr = imgStr.match(/page_url":"(.*?)","sum_pages/)[1] let imgArray = imgStr.split('\\r\\n') if (imgArray[0].search('http') === -1) { imgArray = imgArray.map((item) => { return 'https://images.dmzj.com/' + item.replace(/\\/g, '') }) } return imgArray } }, { domain: 'www.kumw5.com', homepage: 'http://www.kumw5.com/', webName: '酷漫屋', comicNameCss: '.info h1', chapterCss: '#detail-list-select-1', readtype: 1, iswork: true, getImgs: function(context) { const reg = /var km[^>]*_img_url='[^>]*'/gi const s1 = context.match(reg) const base64Context = s1[0].match(/'(\S*)'/)[1] let imgstr = window.atob(base64Context) imgstr = eval(imgstr).toString() const imgArray = imgstr.matchAll(/(http[\s\S]+?),/g) const imgUrl = [] for (const item of imgArray) { imgUrl.push(item[1]) } return imgUrl } }, { domain: 'darpou.com', homepage: 'https://darpou.com/', webName: '百漫谷', comicNameCss: '.fed-part-eone.fed-font-xvi a', chapterCss: '.fed-play-item.fed-drop-item.fed-visible .fed-part-rows:nth-child(2)', readtype: 1, getImgs: async function(context) { const txtUrl = context.match(/http(\S*).txt/gi)[0] const txtRes = await (0,_utils_index__WEBPACK_IMPORTED_MODULE_0__/* .request */ .WY)('get', txtUrl) const txtContext = txtRes.responseText const imgReg = /http(\S*)jpg/g return txtContext.match(imgReg) } }, { domain: 'm.wuxiamh.com', homepage: 'https://m.wuxiamh.com/', webName: '武侠漫画(手机)', comicNameCss: '.view-sub.autoHeight .title', chapterCss: '#chapter-list-1', readtype: 0, iswork: false, nextpageRgeCss: '.action-list li:nth-child(3) a', getImgs: async function(context) { const imgobj = context.matchAll(/><mip-img src="(https:\/\/[\s\S]+?(jpg|webp))/g) const imgUrl = [] for (const item of imgobj) { imgUrl.push(item[1]) } const number = context.match(/<span id="k_total" class="curPage">(\d+)<\/span>/)[1] const context1 = context.match(/class="action-list">[\s\S]+?<mip-link href="(https:\/\/[\s\S]+?html)">下一页/g)[0] let nextPageUrl = context1.match(/http(\S*)html/g)[2] nextPageUrl = nextPageUrl.indexOf('-') !== -1 ? nextPageUrl : '' return { imgUrl, nextPageUrl, number } } }, { domain: 'www.wuxiamh.com', homepage: 'https://www.wuxiamh.com/', webName: '武侠漫画网(电脑)', comicNameCss: '.title h1', chapterCss: '#chapter-list-1', readtype: 1, iswork: false, getImgs: async function(context) { const imgStr = context.match(/var chapterImages = ([[\s\S]+?])[\s\S]+?var chapterPath/)[1] const imgs = eval(imgStr) return imgs } }, { domain: 'qiximh1.com', homepage: 'http://qiximh1.com', webName: '七夕漫画', comicNameCss: '.comic_name .name', chapterCss: '.catalog_list.row_catalog_list', readtype: 1, getImgs: function(context) { const group = context.matchAll(/(function[\s\S]+?return \S})(\([\s\S]+?{}\))/g) const func = [] for (const item of group) { func.push(item[1]) func.push(item[2]) } const code = '(' + func[0] + ')' + func[1] let imgStr = eval(code) imgStr = imgStr.match(/\[[\s\S]+?\]/)[0] const imgArray = JSON.parse(imgStr) return imgArray } }, { domain: 'www.36manga.com', homepage: 'https://www.36manga.com/', webName: '36漫画网', comicNameCss: '.book-title h1 span', chapterCss: '#chapter-list-4 li:not(:first-of-type)', readtype: 1, iswork: false, getImgs: function(context) { const group = context.matchAll(/chapterImages = ([\s\S]+?);var chapterPath = "([\s\S]+?)";var chapterPrice/g) let imgarr = [] let middleStr = '' for (const item of group) { imgarr = JSON.parse(item[1]) middleStr = item[2] } if (imgarr[0].search('http') === -1) { imgarr = imgarr.map((item) => { return 'https://img001.arc-theday.com/' + middleStr + item }) } return imgarr } }, { domain: 'www.gufengmanhua.com', homepage: 'https://www.gufengmanhua.com/', webName: '古风漫画网', comicNameCss: '.book-title h1 span', chapterCss: '#chapter-list-1,#chapter-list-10', readtype: 1, getImgs: function(context) { const imgStr = context.match(/chapterImages = ([\s\S]+?);var chapterPath/)[1] let imgarr = JSON.parse(imgStr) if (imgarr[0].search('http') === -1) { imgarr = imgarr.map((item) => { return 'https://res5.gufengmanhua.com' + item }) } return imgarr } }, { domain: 'www.123gf.com', homepage: 'https://www.123gf.com/', webName: '古风漫画网 2', comicNameCss: '.book-title h1 span', chapterCss: '#chapter-list-1,#chapter-list-10', readtype: 1, readCssText: '.img_info {display: none;}.tbCenter img {border: 0px;}', getImgs: async function(context) { const group = context.matchAll(/chapterImages = (.*?);var chapterPath = "(.*?)"/g) const strArr = [] for (const item of group) { strArr.push(item[1]) strArr.push(item[2]) } const josnRes = await (0,_utils_index__WEBPACK_IMPORTED_MODULE_0__/* .request */ .WY)('get', this.homepage + 'js/config.js') const josnContext = josnRes.responseText const imageDomian = josnContext.match(/"domain":\["(.*?)"]/)[1] let imgarr = JSON.parse(strArr[0]) if (imgarr[0].search('http') === -1) { imgarr = imgarr.map((item) => { return imageDomian + '/' + strArr[1] + item }) } return imgarr } }, { domain: 'ac.qq.com', homepage: 'https://ac.qq.com/', webName: '腾讯漫画', comicNameCss: '.works-intro-title.ui-left strong', chapterCss: '.chapter-page-all.works-chapter-list', readtype: 1, hasSpend: true, freeCss: '.ui-icon-free', payCss: '.ui-icon-pay', getImgs: function(context) { let nonce = context.match(/<script>\s*window.*?=(.*?)?;/)[1] nonce = eval(nonce) const dataStr = context.match(/DATA.*?'(.*)?'/)[1] const data = dataStr.split('') nonce = nonce.match(/\d+[a-zA-Z]+/g) let len = nonce.length let locate = null let str = '' while (len--) { locate = parseInt(nonce[len]) & 255 str = nonce[len].replace(/\d+/g, '') data.splice(locate, str.length) } const chapterStr = data.join('') const chapterObj = JSON.parse(window.atob(chapterStr)) const imgarr = [] chapterObj.picture.forEach(element => { imgarr.push(element.url) }) return imgarr } }, { domain: 'www.mhxqiu1.com', homepage: 'http://www.mhxqiu1.com/', webName: '漫画星球', comicNameCss: '.cy_title h1', chapterCss: '.cy_plist #mh-chapter-list-ol-0', readtype: 1, getImgs: function(context) { const group = context.matchAll(/(function.*?return \S})(\(.*?{}\))/g) const func = [] for (const item of group) { func.push(item[1]) func.push(item[2]) } const code = '(' + func[0] + ')' + func[1] let imgStr = eval(code) imgStr = imgStr.match(/\[[\s\S]+?\]/)[0] const imgArray = JSON.parse(imgStr) return imgArray } }, { domain: 'www.haoman8.com', homepage: 'https://www.haoman8.com/', webName: '好漫8', comicNameCss: '.content .title', chapterCss: '#j_chapter_list', readtype: 1, getImgs: function(context) { const group = context.matchAll(/data-echo="(.*?)"/g) const imgArray = [] for (const item of group) { imgArray.push(item[1]) } return imgArray } }, { domain: 'www.mh5.org', homepage: 'https://www.mh5.org/', webName: '漫画屋', comicNameCss: '.comic-title.j-comic-title', chapterCss: '.chapter__list-box.clearfix', readtype: 1, getImgs: function(context) { const group = context.matchAll(/data-original="(.*?)"/g) const imgArray = [] for (const item of group) { imgArray.push(item[1]) } return imgArray } }, { domain: 'www.2mzx.com', homepage: 'https://www.2mzx.com/', webName: '27漫画网', comicNameCss: '.bar .position strong', chapterCss: '#play_0 #chapter-list-1', readtype: 1, iswork: false, getImgs: async function(context) { const imgStr = context.match(/var chapterImages = ([[\s\S]+?])[\s\S]+?var chapterPath/)[1] const imgs = eval(imgStr) return imgs } }, { domain: 'www.zuimh.com', homepage: 'https://www.zuimh.com/', webName: '最漫画', comicNameCss: '.book-detail .book-title h1 span', chapterCss: '.chapter-body.clearfix #chapter-list-1', readtype: 1, readCssText: '.img_info {display: none;}.tbCenter img {border: 0px;}', getImgs: async function(context) { const imgStr = context.match(/var chapterImages = ([[\s\S]+?])[\s\S]+?var chapterPath/)[1] const imgs = eval(imgStr) return imgs } }, { domain: 'www.qianwee.com', homepage: 'https://www.qianwee.com/', webName: '前未漫画', comicNameCss: '.comic_deCon.autoHeight h1', chapterCss: '.zj_list_con #chapter-list-1', readtype: 1, readCssText: '.img_info {display: none;}.comic_wraCon img {border: 0px;margin-top:0px;}', getImgs: async function(context) { const imgStr = context.match(/var chapterImages = ([[\s\S]+?])[\s\S]+?var chapterPath/)[1] const imgs = eval(imgStr) return imgs } }, { domain: 'www.sixmh7.com', homepage: 'http://www.sixmh7.com/', webName: '六漫画', comicNameCss: '#intro_l > div.cy_title > h1', chapterCss: '.cy_zhangjie .cy_plist', readtype: 1, getImgs: async function(context) { const group = context.matchAll(/(function[\s\S]+?return \S})(\([\s\S]+?{}\))/g) const func = [] for (const item of group) { func.push(item[1]) func.push(item[2]) } const code = '(' + func[0] + ')' + func[1] let imgStr = eval(code) imgStr = imgStr.match(/\[[\s\S]+?\]/)[0] const imgArray = JSON.parse(imgStr) return imgArray } } ] const getWebList = () => { const list = [] comicsWebInfo.forEach(element => { list.push({ name: element.webName, url: element.homepage, iswork: element.iswork }) }) return list } let currentComics = null const matchWeb = (url) => { let hname = '' var domain = url.split('/') if (domain[2]) { hname = domain[2] } else { hname = '' } for (let i = 0; i < comicsWebInfo.length; i++) { if (comicsWebInfo[i].domain === hname) { currentComics = comicsWebInfo[i] break } } } /***/ }), /***/ 624: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "E_": () => (/* binding */ getHtml), /* harmony export */ "WY": () => (/* binding */ request), /* harmony export */ "Xr": () => (/* binding */ loadStyle), /* harmony export */ "zd": () => (/* binding */ downFile) /* harmony export */ }); /* harmony import */ var _utils_comics__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(872); const loadStyle = (url, name, text) => { const head = document.getElementsByTagName('head')[0] if (url !== '') { const link = document.createElement('link') link.rel = 'stylesheet' link.type = 'text/css' link.href = url link.media = 'all' head.appendChild(link) } else { const style = document.createElement('style') style.name = name style.id = name style.innerText = text head.appendChild(style) } } const getHtml = async(url) => { return new Promise((resolve, reject) => { setTimeout(() => { // eslint-disable-next-line no-undef GM_xmlhttpRequest({ method: 'get', url: url, onload: function(res) { const imgs = _utils_comics__WEBPACK_IMPORTED_MODULE_0__/* .currentComics.getImgs */ .Po.getImgs(res.response) resolve(imgs) }, onerror: function(e) { reject(e) } }) }, 200) }) } const request = async(method, url, responseType) => { return new Promise((resolve, reject) => { // eslint-disable-next-line no-undef GM_xmlhttpRequest({ method, url, responseType, onload: function(res) { resolve(res) }, onerror: function(e) { reject(e) }, ontimeout: function() { console.log('超时') } }) }) } const downFile = async(url, name) => { return new Promise((resolve, reject) => { // eslint-disable-next-line no-undef GM_download({ url, name, onload: result => { resolve(true) }, onerror: result => { resolve(false) }, ontimeout: result => { resolve(false) } }) }) } /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ id: moduleId, /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/nonce */ /******/ (() => { /******/ __webpack_require__.nc = undefined; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. (() => { ;// CONCATENATED MODULE: external "Vue" const external_Vue_namespaceObject = Vue; var external_Vue_default = /*#__PURE__*/__webpack_require__.n(external_Vue_namespaceObject); ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/app.vue?vue&type=template&id=5ef48958&scoped=true& var render = function () { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c("div", { staticClass: "app" }, [ _c( "div", { staticClass: "card", class: { "card--hide": _vm.isHide } }, [ _c("van-nav-bar", { attrs: { id: "border-top-set", title: _vm.titles[this.active] }, }), _vm._v(" "), _c( "van-swipe", { ref: "swipe", staticClass: "my-swipe", staticStyle: { cursor: "default" }, attrs: { "indicator-color": "white", touchable: false, duration: 5, "initial-swipe": _vm.active, "show-indicators": false, }, }, [ _c("van-swipe-item", { staticClass: "swipeitem" }, [_c("Home")], 1), _vm._v(" "), _c( "van-swipe-item", { staticClass: "swipeitem" }, [_c("Table", { attrs: { id: "chapterpage" } })], 1 ), _vm._v(" "), _c("van-swipe-item", { staticClass: "swipeitem" }, [_c("Down")], 1), _vm._v(" "), _c( "van-swipe-item", { staticClass: "swipeitem" }, [_c("Setting")], 1 ), ], 1 ), _vm._v(" "), _c( "div", { staticClass: "app-container " }, [ _c( "van-tabbar", { staticStyle: { position: "absolute" }, attrs: { id: "border-bottom-set", "active-color": "#ee0000", "inactive-color": "#000", }, model: { value: _vm.active, callback: function ($$v) { _vm.active = $$v }, expression: "active", }, }, [ _c("van-tabbar-item", { attrs: { icon: "home-o" } }), _vm._v(" "), _c("van-tabbar-item", { attrs: { icon: "todo-list-o" } }), _vm._v(" "), _c("van-tabbar-item", { attrs: { icon: "underway-o" } }), _vm._v(" "), _c("van-tabbar-item", { attrs: { icon: "setting-o" } }), ], 1 ), ], 1 ), _vm._v(" "), _c("div", { staticClass: "card__btn", on: { click: _vm.hide } }, [ _c( "svg", { staticClass: "icon", attrs: { t: "1589962875590", viewBox: "0 0 1024 1024", version: "1.1", "p-id": "2601", }, }, [ _c("path", { attrs: { d: "M730.020653 1018.946715l91.277028-89.978692a16.760351 16.760351 0 0 0 5.114661-11.803064 15.343983 15.343983 0 0 0-5.114661-11.803064l-400.123871-393.435467L821.691117 118.254899a17.075099 17.075099 0 0 0 0-23.606129L730.020653 4.670079a17.232473 17.232473 0 0 0-23.999564 0L202.030255 500.08402a16.445603 16.445603 0 0 0-4.721226 11.803064 15.265296 15.265296 0 0 0 5.114661 11.803064l503.597399 495.413941a17.153786 17.153786 0 0 0 23.999564 0z m0 0", fill: "#EE000055", "p-id": "2602", }, }), ] ), ]), ], 1 ), ]) } var staticRenderFns = [] render._withStripped = true ;// CONCATENATED MODULE: ./src/app.vue?vue&type=template&id=5ef48958&scoped=true& ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/home.vue?vue&type=template&id=7eb2bc79&scoped=true& var homevue_type_template_id_7eb2bc79_scoped_true_render = function () { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { staticClass: "homeindex" }, [ _c( "van-cell-group", { attrs: { inset: "" } }, _vm._l(_vm.comicList, function (item, index) { return _c("van-cell", { key: index, attrs: { "is-link": "" }, on: { click: function ($event) { return _vm.jump(item.url) }, }, scopedSlots: _vm._u( [ { key: "title", fn: function () { return [ _c("span", [_vm._v(_vm._s(item.name))]), _vm._v(" "), item.iswork === false ? _c("van-icon", { attrs: { title: "?可访问 ?", name: "info-o", color: "red", }, }) : _vm._e(), ] }, proxy: true, }, ], null, true ), }) }), 1 ), ], 1 ) } var homevue_type_template_id_7eb2bc79_scoped_true_staticRenderFns = [] homevue_type_template_id_7eb2bc79_scoped_true_render._withStripped = true ;// CONCATENATED MODULE: ./src/views/home.vue?vue&type=template&id=7eb2bc79&scoped=true& // EXTERNAL MODULE: ./src/utils/comics.js var comics = __webpack_require__(872); ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/home.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ const homevue_type_script_lang_js_ = ({ name: 'Index', data() { return { comicList: [] } }, mounted() { this.comicList = (0,comics/* getWebList */.eT)() }, methods: { jump(url) { window.open(url, '_blank') // window.location.href = url } } }); ;// CONCATENATED MODULE: ./src/views/home.vue?vue&type=script&lang=js& /* harmony default export */ const views_homevue_type_script_lang_js_ = (homevue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js var injectStylesIntoStyleTag = __webpack_require__(379); var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/home.vue?vue&type=style&index=0&id=7eb2bc79&lang=scss&scoped=true& var homevue_type_style_index_0_id_7eb2bc79_lang_scss_scoped_true_ = __webpack_require__(327); ;// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/home.vue?vue&type=style&index=0&id=7eb2bc79&lang=scss&scoped=true& var options = {}; options.insert = "head"; options.singleton = false; var update = injectStylesIntoStyleTag_default()(homevue_type_style_index_0_id_7eb2bc79_lang_scss_scoped_true_/* default */.Z, options); /* harmony default export */ const views_homevue_type_style_index_0_id_7eb2bc79_lang_scss_scoped_true_ = (homevue_type_style_index_0_id_7eb2bc79_lang_scss_scoped_true_/* default.locals */.Z.locals || {}); ;// CONCATENATED MODULE: ./src/views/home.vue?vue&type=style&index=0&id=7eb2bc79&lang=scss&scoped=true& ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js /* globals __VUE_SSR_CONTEXT__ */ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules). // This module is a runtime utility for cleaner component module output and will // be included in the final webpack user bundle. function normalizeComponent ( scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, /* server only */ shadowMode /* vue-cli only */ ) { // Vue.extend constructor export interop var options = typeof scriptExports === 'function' ? scriptExports.options : scriptExports // render functions if (render) { options.render = render options.staticRenderFns = staticRenderFns options._compiled = true } // functional template if (functionalTemplate) { options.functional = true } // scopedId if (scopeId) { options._scopeId = 'data-v-' + scopeId } var hook if (moduleIdentifier) { // server build hook = function (context) { // 2.3 injection context = context || // cached call (this.$vnode && this.$vnode.ssrContext) || // stateful (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional // 2.2 with runInNewContext: true if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { context = __VUE_SSR_CONTEXT__ } // inject component styles if (injectStyles) { injectStyles.call(this, context) } // register component module identifier for async chunk inferrence if (context && context._registeredComponents) { context._registeredComponents.add(moduleIdentifier) } } // used by ssr in case component is cached and beforeCreate // never gets called options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode ? function () { injectStyles.call( this, (options.functional ? this.parent : this).$root.$options.shadowRoot ) } : injectStyles } if (hook) { if (options.functional) { // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook // register for functional component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) return originalRender(h, context) } } else { // inject component registration as beforeCreate hook var existing = options.beforeCreate options.beforeCreate = existing ? [].concat(existing, hook) : [hook] } } return { exports: scriptExports, options: options } } ;// CONCATENATED MODULE: ./src/views/home.vue ; /* normalize component */ var component = normalizeComponent( views_homevue_type_script_lang_js_, homevue_type_template_id_7eb2bc79_scoped_true_render, homevue_type_template_id_7eb2bc79_scoped_true_staticRenderFns, false, null, "7eb2bc79", null ) /* hot reload */ if (false) { var api; } component.options.__file = "src/views/home.vue" /* harmony default export */ const home = (component.exports); ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/table.vue?vue&type=template&id=657d4b24&scoped=true& var tablevue_type_template_id_657d4b24_scoped_true_render = function () { var this$1 = this var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { attrs: { id: "comiclist" } }, [ _c( "van-popup", { style: { position: "absolute", width: "100%", height: "30%", borderTop: "1px solid #fcadad", }, attrs: { "get-container": "#chapterpage", round: "", position: "top", }, model: { value: _vm.show, callback: function ($$v) { _vm.show = $$v }, expression: "show", }, }, [ _c( "van-cell-group", { style: { display: "flex", width: "250px", margin: "10px auto" }, attrs: { title: "选项", inset: "" }, }, [ _c("van-cell", { attrs: { title: "本次压缩下载" }, scopedSlots: _vm._u([ { key: "right-icon", fn: function () { return [ _c("van-checkbox", { staticClass: "rightbutton", attrs: { "label-position": "left" }, model: { value: _vm.zipDownFlag, callback: function ($$v) { _vm.zipDownFlag = $$v }, expression: "zipDownFlag", }, }), ] }, proxy: true, }, ]), }), ], 1 ), ], 1 ), _vm._v(" "), _c( "div", { attrs: { id: "editItem" } }, [ _c( "div", [ _c( "van-button", { attrs: { type: "primary", size: "mini", disabled: !_vm.showSelectList, }, on: { click: _vm.selectAll }, }, [_vm._v("全选")] ), _vm._v(" "), _c( "van-button", { attrs: { type: "primary", size: "mini", disabled: !_vm.showSelectList, }, on: { click: _vm.CancelSelect }, }, [_vm._v("取消")] ), ], 1 ), _vm._v(" "), _c( "div", [ _vm._v("\n 选\n "), _c("van-icon", { style: { cursor: "pointer" }, attrs: { name: "more-o", color: "#ee0000", size: "25" }, on: { click: function () { this$1.show = !this$1.show }, }, }), _vm._v(" 项\n "), ], 1 ), _vm._v(" "), _c( "van-button", { staticStyle: { width: "80px" }, attrs: { size: "mini", round: "", type: "primary", disabled: !_vm.showSelectList, }, on: { click: _vm.downSelectList }, }, [_vm._v("下载")] ), ], 1 ), _vm._v(" "), _c( "van-divider", { style: { color: "#1989fa", borderColor: "#1989fa", padding: "0 15px", height: "10px", }, }, [ _c( "code", { staticStyle: { cursor: "pointer" }, on: { click: _vm.reloadList }, }, [_vm._v("重载列表")] ), ] ), _vm._v(" "), !_vm.showSelectList ? _c( "div", [ _c( "van-empty", { attrs: { description: "漫画章节" } }, [ _c( "van-button", { staticClass: "bottom-button", staticStyle: { width: "120px" }, attrs: { round: "", type: "primary", disabled: _vm.comicName === "------", }, on: { click: _vm.getSelectList }, }, [_vm._v(" 加载 ")] ), ], 1 ), _vm._v(" "), _c( "van-cell-group", { attrs: { id: "comicinfo", inset: "" } }, [ _c("van-cell", { attrs: { title: "网站", value: _vm.webname }, }), _vm._v(" "), _c("van-cell", { attrs: { title: "漫画", value: _vm.comicName }, }), ], 1 ), ], 1 ) : _vm._e(), _vm._v(" "), _c("van-overlay", { attrs: { id: "overlayDom", show: _vm.overlayShow } }), _vm._v(" "), _vm.showSelectList ? _c( "div", { attrs: { id: "select-list" } }, [ _c( "van-cell-group", { staticStyle: { "border-radius": "25px" }, attrs: { inset: "" }, }, [ _c( "van-checkbox-group", { ref: "checkboxGroup", model: { value: _vm.selectResult, callback: function ($$v) { _vm.selectResult = $$v }, expression: "selectResult", }, }, _vm._l(_vm.list, function (item, index) { return _c("van-cell", { key: index, style: item.url !== "javascript:void();" ? "" : { color: "red" }, attrs: { title: item.chapterName }, scopedSlots: _vm._u( [ { key: "right-icon", fn: function () { return [ _c("van-checkbox", { staticClass: "selectChapter", attrs: { name: index, disabled: item.url !== "javascript:void();" ? false : true, "icon-size": "24px", }, on: { click: function ($event) { return _vm.radioSelect(index) }, }, }), ] }, proxy: true, }, ], null, true ), }) }), 1 ), ], 1 ), ], 1 ) : _vm._e(), ], 1 ) } var tablevue_type_template_id_657d4b24_scoped_true_staticRenderFns = [] tablevue_type_template_id_657d4b24_scoped_true_render._withStripped = true ;// CONCATENATED MODULE: ./src/views/table.vue?vue&type=template&id=657d4b24&scoped=true& ;// CONCATENATED MODULE: ./src/config/index.js /* eslint-disable no-undef */ const AppName = "10漫画下载" const AppVersion = "1.1.5" const AppEnv = "production" const isDev = AppEnv === 'development' ;// CONCATENATED MODULE: ./src/config/setup.js /* eslint-disable no-undef */ const configDefault = { version: AppVersion, maxChapterNum: 3, maxPictureNum: 3, zipDownFlag: true, imgSplicingFlag: true, downHistory: '[]' } const appinit = () => { if (isDev) { return } // 如条件全为false, 则更新设置 if (GM_getValue('version') !== undefined && GM_getValue('version') === AppVersion) { console.log('不需要更新数据') return } for (const key in configDefault) { // 不存在,添加 if (GM_getValue(key) === undefined) { GM_setValue(key, configDefault[key]) } } GM_setValue('version', AppVersion) } const setinit = async() => { if (isDev) { return } return new Promise((resolve, reject) => { for (const key in configDefault) { GM_setValue(key, configDefault[key]) } resolve(true) }) } const setStorage = async(key, value) => { return new Promise((resolve, reject) => { GM_setValue(key, value) resolve(true) }) } const getStorage = async(key) => { return new Promise((resolve, reject) => { const value = GM_getValue(key) resolve(value) }) } ;// CONCATENATED MODULE: external "vant" const external_vant_namespaceObject = vant; var external_vant_default = /*#__PURE__*/__webpack_require__.n(external_vant_namespaceObject); ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/table.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ const tablevue_type_script_lang_js_ = ({ name: 'Table', data() { return { list: [], selectResult: [], downResult: [], showSelectList: false, overlayShow: false, show: false, currentComics: '', webname: '未匹配', comicName: '------', paylogoArr: [], zipDownFlag: true } }, mounted() { this.getInfo() }, methods: { async getInfo() { try { this.currentComics = comics/* currentComics */.Po if (comics/* currentComics */.Po === null) { return } const comicNameCss = this.currentComics.comicNameCss this.webname = comics/* currentComics.webName */.Po.webName this.comicName = document.querySelector(comicNameCss).innerText this.$bus.$emit('getComicName', this.comicName) // this.zipDownFlag = await getStorage('zipDownFlag') // eslint-disable-next-line no-empty } catch (error) { console.log('error: ', error) } return }, selectAll() { this.$refs.checkboxGroup.toggleAll(false) if (comics/* currentComics.hasSpend */.Po.hasSpend) { this.list.forEach((element, index) => { if (element.url !== 'javascript:void();') { this.selectResult.push(index) } }) return } this.$refs.checkboxGroup.toggleAll(true) }, CancelSelect() { this.$refs.checkboxGroup.toggleAll(false) }, radioSelect(index) { // console.log('index', this.selectResult) }, async getSelectList() { this.overlayShow = true const chapterCss = comics/* currentComics.chapterCss */.Po.chapterCss setTimeout(() => { if (comics/* currentComics.hasSpend */.Po.hasSpend) { this.paylogoArr = [] const logoCss = comics/* currentComics.freeCss */.Po.freeCss + ',' + comics/* currentComics.payCss */.Po.payCss const logoArr = document.querySelectorAll(logoCss) logoArr.forEach((element, index) => { if ('.' + logoArr[index].className === comics/* currentComics.payCss */.Po.payCss) { this.paylogoArr.push(true) } else { this.paylogoArr.push(false) } }) } const nodeList = document.querySelectorAll(chapterCss) nodeList.forEach(dom => { const urls = dom.querySelectorAll('a') const readtype = comics/* currentComics.readtype */.Po.readtype urls.forEach((element, index) => { let chapterName = element.innerText.replace(/\n|\r/g, '') chapterName = chapterName.trim() const data = { comicName: this.comicName, chapterName: chapterName, url: element.href, readtype } if (comics/* currentComics.hasSpend */.Po.hasSpend) { data.isPay = this.paylogoArr[index] if (data.isPay) { data.url = 'javascript:void();' } } this.list.push(data) }) }) this.overlayShow = false this.showSelectList = true }, 100) }, downSelectList() { if (this.selectResult.length === 0) { (0,external_vant_namespaceObject.Toast)({ message: '请选择章节', getContainer: '.card', position: 'bottom' }) return } this.selectResult.forEach(num => { const item = this.list[num] item.zipDownFlag = this.zipDownFlag this.downResult.push(item) }) this.$bus.$emit('selectDown', this.downResult) this.$bus.$emit('changTab', 2) this.downResult = [] this.selectResult = [] }, reloadList() { this.list = [] this.selectResult = [] this.getSelectList() } } }); ;// CONCATENATED MODULE: ./src/views/table.vue?vue&type=script&lang=js& /* harmony default export */ const views_tablevue_type_script_lang_js_ = (tablevue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/table.vue?vue&type=style&index=0&id=657d4b24&lang=scss&scoped=true& var tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_ = __webpack_require__(210); ;// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/table.vue?vue&type=style&index=0&id=657d4b24&lang=scss&scoped=true& var tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_options = {}; tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_options.insert = "head"; tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_options.singleton = false; var tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_update = injectStylesIntoStyleTag_default()(tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_/* default */.Z, tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_options); /* harmony default export */ const views_tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_ = (tablevue_type_style_index_0_id_657d4b24_lang_scss_scoped_true_/* default.locals */.Z.locals || {}); ;// CONCATENATED MODULE: ./src/views/table.vue?vue&type=style&index=0&id=657d4b24&lang=scss&scoped=true& ;// CONCATENATED MODULE: ./src/views/table.vue ; /* normalize component */ var table_component = normalizeComponent( views_tablevue_type_script_lang_js_, tablevue_type_template_id_657d4b24_scoped_true_render, tablevue_type_template_id_657d4b24_scoped_true_staticRenderFns, false, null, "657d4b24", null ) /* hot reload */ if (false) { var table_api; } table_component.options.__file = "src/views/table.vue" /* harmony default export */ const table = (table_component.exports); ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/setting.vue?vue&type=template&id=234d1526&scoped=true& var settingvue_type_template_id_234d1526_scoped_true_render = function () { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c("div", { staticClass: "setindex" }, [ _c( "div", { attrs: { id: "setpart" } }, [ _c( "van-cell-group", { attrs: { id: "downpart", title: "下载", inset: "" } }, [ _c("van-cell", { attrs: { label: "*下载前生效", center: "" }, scopedSlots: _vm._u([ { key: "title", fn: function () { return [ _c( "span", { staticClass: "custom-title", staticStyle: { width: "300px" }, }, [_vm._v("最大下载章节数")] ), ] }, proxy: true, }, { key: "default", fn: function () { return [ _c("van-slider", { staticClass: "rightslider", attrs: { min: 1, max: 5 }, on: { change: function ($event) { return _vm.onChangeData( "maxChapterNum", _vm.maxChapterNum ) }, }, scopedSlots: _vm._u([ { key: "button", fn: function () { return [ _c("div", { staticClass: "custom-button" }, [ _vm._v(_vm._s(_vm.maxChapterNum)), ]), ] }, proxy: true, }, ]), model: { value: _vm.maxChapterNum, callback: function ($$v) { _vm.maxChapterNum = $$v }, expression: "maxChapterNum", }, }), ] }, proxy: true, }, ]), }), _vm._v(" "), _c("van-cell", { attrs: { label: "*下载前生效", center: "" }, scopedSlots: _vm._u([ { key: "title", fn: function () { return [ _c( "span", { staticClass: "custom-title", staticStyle: { width: "300px" }, }, [_vm._v("每章最大下载图片数")] ), ] }, proxy: true, }, { key: "default", fn: function () { return [ _c("van-slider", { staticClass: "rightslider", attrs: { min: 1, max: 5 }, on: { change: function ($event) { return _vm.onChangeData( "maxPictureNum", _vm.maxPictureNum ) }, }, scopedSlots: _vm._u([ { key: "button", fn: function () { return [ _c("div", { staticClass: "custom-button" }, [ _vm._v(_vm._s(_vm.maxPictureNum)), ]), ] }, proxy: true, }, ]), model: { value: _vm.maxPictureNum, callback: function ($$v) { _vm.maxPictureNum = $$v }, expression: "maxPictureNum", }, }), ] }, proxy: true, }, ]), }), _vm._v(" "), _c("van-cell", { attrs: { "title-class": "cellleftvalue", "value-class": "cellrightvalue", label: "*本次启动默认设置, 不勾选则下载图片", center: "", }, scopedSlots: _vm._u([ { key: "title", fn: function () { return [ _c("span", { staticClass: "custom-title" }, [ _vm._v("压缩下载"), ]), _vm._v(" "), _c( "van-popover", { attrs: { placement: "right", "get-container": "#downpart", offset: [-18, 10], "close-on-click-outside": true, }, scopedSlots: _vm._u([ { key: "reference", fn: function () { return [ _c("van-icon", { attrs: { name: "info-o", color: "red" }, on: { mouseover: function ($event) { _vm.zipDownPopover = true }, mouseleave: function ($event) { _vm.zipDownPopover = false }, }, }), ] }, proxy: true, }, ]), model: { value: _vm.zipDownPopover, callback: function ($$v) { _vm.zipDownPopover = $$v }, expression: "zipDownPopover", }, }, [ _c("div", [ _c("code", { staticClass: "popovertext" }, [ _vm._v( "* 如需保存在文件夹需要设置油猴下载模式为浏览器API" ), ]), _c("br"), _vm._v(" "), _c("code", { staticClass: "popovertext" }, [ _vm._v( "* 如有较多油猴弹窗提示跨域,建议取消勾选直接下载" ), ]), ]), ] ), ] }, proxy: true, }, { key: "default", fn: function () { return [ _c("van-checkbox", { staticClass: "rightbutton", on: { change: function ($event) { return _vm.onChangeData( "zipDownFlag", _vm.zipDownFlag ) }, }, model: { value: _vm.zipDownFlag, callback: function ($$v) { _vm.zipDownFlag = $$v }, expression: "zipDownFlag", }, }), ] }, proxy: true, }, ]), }), ], 1 ), _vm._v(" "), _c( "van-cell-group", { attrs: { id: "webpart", title: "原网站阅读样式修改", inset: "" } }, [ _c("van-cell", { attrs: { "title-class": "cellleftvalue", "value-class": "cellrightvalue", label: "去除部分漫画网站图片上下间隔", center: "", }, scopedSlots: _vm._u([ { key: "title", fn: function () { return [ _c("span", { staticClass: "custom-title" }, [ _vm._v("图片拼接"), ]), _vm._v(" "), _c( "van-popover", { attrs: { placement: "bottom-start", "get-container": "#webpart", offset: [-2, 0], "close-on-click-outside": true, }, scopedSlots: _vm._u([ { key: "reference", fn: function () { return [ _c("van-icon", { attrs: { name: "info-o", color: "red" }, on: { mouseover: function ($event) { _vm.showPopover = true }, mouseleave: function ($event) { _vm.showPopover = false }, }, }), ] }, proxy: true, }, ]), model: { value: _vm.showPopover, callback: function ($$v) { _vm.showPopover = $$v }, expression: "showPopover", }, }, [ _c("code", { staticClass: "popovertext" }, [ _vm._v("建议浏览长条漫画时开启"), ]), ] ), ] }, proxy: true, }, { key: "default", fn: function () { return [ _c("van-checkbox", { staticClass: "rightbutton", on: { change: _vm.webImgSplicing }, model: { value: _vm.imgSplicingFlag, callback: function ($$v) { _vm.imgSplicingFlag = $$v }, expression: "imgSplicingFlag", }, }), ] }, proxy: true, }, ]), }), ], 1 ), ], 1 ), _vm._v(" "), _c( "div", { attrs: { id: "set-bottom" } }, [ _c( "van-button", { style: { width: "120px", background: "#ee000055" }, attrs: { round: "" }, on: { click: _vm.allInit }, }, [_vm._v("全部重置")] ), ], 1 ), ]) } var settingvue_type_template_id_234d1526_scoped_true_staticRenderFns = [] settingvue_type_template_id_234d1526_scoped_true_render._withStripped = true ;// CONCATENATED MODULE: ./src/views/setting.vue?vue&type=template&id=234d1526&scoped=true& // EXTERNAL MODULE: ./src/utils/index.js var utils = __webpack_require__(624); ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/setting.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* eslint-disable no-undef */ /* harmony default export */ const settingvue_type_script_lang_js_ = ({ name: 'Setting', data() { return { maxChapterNum: 1, maxPictureNum: 2, zipDownFlag: true, imgSplicingFlag: false, // zipDownPopover: false, showPopover: false } }, mounted() { this.getAllData() }, methods: { onChangeData(key, value) { setStorage(key, value) }, webImgSplicing(value) { const splicingimgstyle = document.getElementById('splicingimgstyle') if (value === true && comics/* currentComics.readCssText */.Po.readCssText !== undefined) { if (splicingimgstyle) { splicingimgstyle.innerText = comics/* currentComics.readCssText */.Po.readCssText } else { (0,utils/* loadStyle */.Xr)('', 'splicingimgstyle', comics/* currentComics.readCssText */.Po.readCssText) } } else { if (splicingimgstyle) { splicingimgstyle.innerText = '' } } this.onChangeData('imgSplicingFlag', value) }, exeFun(flag) { this.webImgSplicing(flag) }, getAllData() { try { this.maxChapterNum = GM_getValue('maxChapterNum') this.maxPictureNum = GM_getValue('maxPictureNum') this.zipDownFlag = GM_getValue('zipDownFlag') this.imgSplicingFlag = GM_getValue('imgSplicingFlag') // eslint-disable-next-line no-empty } catch (error) {} // 获取数据后执行其他方法 this.exeFun(this.imgSplicingFlag) }, async allInit() { external_vant_namespaceObject.Dialog.confirm({ getContainer: '.card', message: '确认重置' }) .then(() => { setinit().then((result) => { this.getAllData() }) }) .catch(() => { // on cancel }) } } }); ;// CONCATENATED MODULE: ./src/views/setting.vue?vue&type=script&lang=js& /* harmony default export */ const views_settingvue_type_script_lang_js_ = (settingvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/setting.vue?vue&type=style&index=0&id=234d1526&lang=scss&scoped=true& var settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_ = __webpack_require__(625); ;// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/setting.vue?vue&type=style&index=0&id=234d1526&lang=scss&scoped=true& var settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_options = {}; settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_options.insert = "head"; settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_options.singleton = false; var settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_update = injectStylesIntoStyleTag_default()(settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_/* default */.Z, settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_options); /* harmony default export */ const views_settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_ = (settingvue_type_style_index_0_id_234d1526_lang_scss_scoped_true_/* default.locals */.Z.locals || {}); ;// CONCATENATED MODULE: ./src/views/setting.vue?vue&type=style&index=0&id=234d1526&lang=scss&scoped=true& ;// CONCATENATED MODULE: ./src/views/setting.vue ; /* normalize component */ var setting_component = normalizeComponent( views_settingvue_type_script_lang_js_, settingvue_type_template_id_234d1526_scoped_true_render, settingvue_type_template_id_234d1526_scoped_true_staticRenderFns, false, null, "234d1526", null ) /* hot reload */ if (false) { var setting_api; } setting_component.options.__file = "src/views/setting.vue" /* harmony default export */ const setting = (setting_component.exports); ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/down.vue?vue&type=template&id=1e855a88&scoped=true& var downvue_type_template_id_1e855a88_scoped_true_render = function () { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h return _c( "div", { attrs: { id: "downcontext" } }, [ _c( "van-collapse", { model: { value: _vm.collapseActiveName, callback: function ($$v) { _vm.collapseActiveName = $$v }, expression: "collapseActiveName", }, }, [ _c( "van-collapse-item", { attrs: { title: "下载中", name: "1" }, scopedSlots: _vm._u([ { key: "title", fn: function () { return [ _c( "div", { style: { display: "flex", lineHeight: "25px" } }, [ _vm._v("下载中\n "), _vm.comicName ? _c( "van-tag", { staticClass: "comicnametag1", attrs: { type: "primary" }, }, [_vm._v(_vm._s(_vm.comicName))] ) : _vm._e(), ], 1 ), ] }, proxy: true, }, ]), }, [ _vm._v(" "), _c( "div", { attrs: { id: "downlist" } }, _vm._l(_vm.queue.worker, function (item, index) { return _c("div", { key: index, staticClass: "downitem" }, [ item !== undefined ? _c( "div", [ _c("div", { staticClass: "itemname" }, [ _c("span", { staticClass: "custom-title" }, [ _vm._v(_vm._s(item.chapterName)), ]), ]), _vm._v(" "), _c("van-progress", { ref: "progress", refInFor: true, staticStyle: { width: "100%", "margin-top": "10px", }, attrs: { percentage: item.progress, "pivot-color": "#66ccff", color: "linear-gradient(to right, #66ccff22, ##66ccff)", }, }), _vm._v(" "), _c("van-divider", { style: { margin: "13px 0px", padding: "0 0px", height: "1px", }, }), ], 1 ) : _vm._e(), ]) }), 0 ), ] ), _vm._v(" "), _c("van-collapse-item", { attrs: { title: "待下载", name: "2" } }, [ _c( "div", { attrs: { id: "downlist" } }, _vm._l(_vm.queue.list, function (item, index) { return _c( "div", { key: index, staticClass: "downitem" }, [ _c("div", { staticClass: "itemname" }, [ _c("span", { staticClass: "custom-title" }, [ _vm._v(_vm._s(item.chapterName)), ]), ]), _vm._v(" "), _c("van-divider", { style: { margin: "8px 0px", padding: "0 0px", height: "1px", }, }), ], 1 ) }), 0 ), ]), _vm._v(" "), _c( "van-collapse-item", { attrs: { name: "3" }, scopedSlots: _vm._u([ { key: "title", fn: function () { return [ _c( "div", { style: { display: "flex" } }, [ _vm._v("已下载\n "), _c("van-icon", { staticStyle: { "line-height": "25px", "margin-left": "10px", }, attrs: { name: "delete-o", color: "#EE0000", size: "20", }, on: { click: function ($event) { $event.stopPropagation() return _vm.deleteAllHistoryData.apply( null, arguments ) }, }, }), ], 1 ), ] }, proxy: true, }, ]), }, [ _vm._v(" "), _c( "div", { attrs: { id: "downlist" } }, _vm._l(_vm.historyData, function (item, index) { return _c( "div", { key: index, staticClass: "downitem" }, [ _c( "div", { staticClass: "itemname" }, [ _c( "div", [ _c( "van-tag", { staticClass: "comicnametag", attrs: { type: "primary", title: item.comicName, }, on: { click: function ($event) { return _vm.jump(item.comicPageUrl) }, }, }, [_vm._v(_vm._s(item.comicName))] ), _vm._v(" "), _c( "span", { staticClass: "custom-title chapterspan", class: { hasError: item.hasError }, }, [_vm._v(_vm._s(item.chapterName))] ), ], 1 ), _vm._v(" "), _c("van-icon", { style: { cursor: "pointer" }, attrs: { name: "delete-o", size: "18px" }, on: { click: function ($event) { return _vm.deleteHistoryData(index, item.id) }, }, }), ], 1 ), _vm._v(" "), _c("van-divider", { style: { margin: "8px 0px", padding: "0 0px", height: "1px", }, }), ], 1 ) }), 0 ), ] ), ], 1 ), ], 1 ) } var downvue_type_template_id_1e855a88_scoped_true_staticRenderFns = [] downvue_type_template_id_1e855a88_scoped_true_render._withStripped = true ;// CONCATENATED MODULE: ./src/views/down.vue?vue&type=template&id=1e855a88&scoped=true& ;// CONCATENATED MODULE: external "JSZip" const external_JSZip_namespaceObject = JSZip; var external_JSZip_default = /*#__PURE__*/__webpack_require__.n(external_JSZip_namespaceObject); ;// CONCATENATED MODULE: ./src/utils/queue.js // 多个任务并行执行的队列 // https://juejin.cn/post/6844903961728647181 class Queue { constructor(workerLen, maxPictureNum, vue) { this.workerLen = workerLen || 3 // 同时执行的任务数 this.pictureNum = maxPictureNum || 2 // 章节最大下载图片数量 this.list = [] // 任务队列 this.worker = new Array(this.workerLen) // 正在执行的任务 this.workerDownInfo = new Array(this.workerLen) // 存储下载信息 this.Vue = vue } // 压缩下载方式 async downloadFile(fileName, content) { const url = window.URL.createObjectURL(content) await (0,utils/* downFile */.zd)(url, fileName) window.URL.revokeObjectURL(url) } /** * 执行一个任务 * @param { number } index */ async * exeDown(index) { const { readtype, chapterName } = this.worker[index] const _this = this async function afterDown(index) { const { comicName, hasError } = _this.worker[index] const comicPageUrl = window.location.href let historyData = await getStorage('downHistory') || '[]' historyData = JSON.parse(historyData) const id = (new Date()).getTime() historyData.unshift({ id, comicName, chapterName, comicPageUrl, hasError }) historyData = JSON.stringify(historyData) await setStorage('downHistory', historyData) _this.Vue.getHistoryData() _this.worker[index] = undefined _this.run() } if (readtype === 1) { const url = this.worker[index].url let imgs = [] try { imgs = await (0,utils/* getHtml */.E_)(url) } catch (error) { this.worker[index].hasError = true } this.worker[index].imgs = imgs this.worker[index].number = imgs.length yield this.down(index) .then(function() { afterDown(index) }) // } else { yield this.down2(index) .then(function() { afterDown(index) }) } } /** * 添加到任务队列 * @param { Array<Array<any>> } list: 任务队列 */ addList(list) { for (const item of list) { this.list.unshift(item) } } refresh() { this.worker.splice(0, 0) // this.worker.push('') // this.worker.pop() } // 下载图片 Promise addImgDownPromise(index, imgurl, name) { return new Promise((resolve, reject) => { const _this = this const suffix = this.getSuffix(imgurl) const newName = this.worker[index].comicName + '\\' + this.worker[index].chapterName + '\\' + name + '.' + suffix // eslint-disable-next-line no-undef GM_download({ url: imgurl, name: newName, onload: result => { _this.worker[index].currentnum = _this.worker[index].currentnum + 1 _this.worker[index].progress = parseInt(_this.worker[index].currentnum / _this.worker[index].number * 100) _this.refresh() resolve(true) }, onerror: result => { console.log('onerror: ', result) resolve(false) }, ontimeout: result => { console.log('ontimeout: ', result) resolve(false) } }) }) } // 请求图片 Promise addImgPromise(index, imgurl) { return new Promise((resolve, reject) => { const _this = this const suffix = this.getSuffix(imgurl) // eslint-disable-next-line no-undef GM_xmlhttpRequest({ method: 'get', url: imgurl, responseType: 'blob', onload: function(gmRes) { _this.worker[index].currentnum = _this.worker[index].currentnum + 1 _this.worker[index].progress = parseInt(_this.worker[index].currentnum / _this.worker[index].number * 100) _this.refresh() resolve({ blob: gmRes.response, suffix: suffix }) }, onerror: function(e) { resolve({ blob: 1, suffix: '' }) }, ontimeout: function() { resolve({ blob: 0, suffix: '' }) } }) }) } // 网站翻页阅读方式 async down2(workerId) { const { url, zipDownFlag } = this.worker[workerId] const { imgUrl, nextPageUrl, number } = await (0,utils/* getHtml */.E_)(url) this.worker[workerId].number = number while (imgUrl.length > 0) { // eslint-disable-next-line prefer-const let promise = [] for (let index = this.pictureNum; index > 0; index--) { if (imgUrl[0] === undefined) { break } if (zipDownFlag) { promise.push(this.addImgPromise(workerId, imgUrl[0])) } else { const name = this.worker[workerId].imgIndex + 1 promise.push(this.addImgDownPromise(workerId, imgUrl[0], name)) } imgUrl.shift() } const res = await Promise.all(promise) res.forEach(element => { this.workerDownInfo[workerId].push(element) }) } if (nextPageUrl !== '') { this.worker[workerId].url = nextPageUrl return this.down2(workerId) } // 是否压缩 if (zipDownFlag) { const result = await this.makeZip(workerId) return new Promise((resolve, reject) => { resolve(result) }) } else { return new Promise((resolve, reject) => { resolve(1) }) } } // 网站卷轴阅读方式 async down(workerId) { const { imgs, zipDownFlag } = this.worker[workerId] const promise = [] let len = imgs.length let pictureNum = this.pictureNum while (pictureNum-- && len > 0) { // 是否压缩 if (zipDownFlag) { promise.push(this.addImgPromise(workerId, imgs[0])) } else { const name = this.worker[workerId].imgIndex + 1 promise.push(this.addImgDownPromise(workerId, imgs[0], name)) this.worker[workerId].imgIndex++ } this.worker[workerId].imgs.shift() len-- } const res = await Promise.all(promise) res.forEach(element => { this.workerDownInfo[workerId].push(element) }) if (this.worker[workerId].imgs.length > 0) { return this.down(workerId) } // 是否压缩 if (zipDownFlag) { const result = await this.makeZip(workerId) return new Promise((resolve, reject) => { resolve(result) }) } else { return new Promise((resolve, reject) => { resolve(1) }) } } // 分配并执行任务 async run() { const runIndex = [] for (let i = 0; i < this.workerLen; i++) { const len = this.list.length if (!this.worker[i] && len > 0) { // 需要执行的任务 const item = this.list[len - 1] const worker = { comicName: item.comicName, chapterName: item.chapterName, currentnum: 0, number: 0, imgs: [], url: item.url, progress: 0, readtype: item.readtype, func: this.exeDown(i), zipDownFlag: item.zipDownFlag, imgIndex: 0, hasError: false } this.workerDownInfo[i] = [] this.worker[i] = worker this.list.pop() runIndex.push(i) } } // 执行任务 for (const index of runIndex) { this.worker[index].func.next() } } getSuffix(url) { const testurl = url.toLowerCase() const imgtype = ['jpg', 'jpeg', 'webp', 'png', 'gif', 'bmp', 'tiff', 'svg', 'ico'] for (let i = 0; i < imgtype.length; i++) { const a = testurl.search(imgtype[i]) if (a !== -1) { return imgtype[i] } } // 可能网址没有图片后缀 return 'jpg' } // 压缩 async makeZip(workerId) { const { comicName, chapterName } = this.worker[workerId] return new Promise((resolve, reject) => { const zip = new (external_JSZip_default())() this.workerDownInfo[workerId].forEach((item, index) => { const imgblob = item.blob const suffix = item.suffix if (imgblob === 1 || imgblob === 0) { zip.file(parseInt(index + 1) + '.xx', '', { blob: true }) return } zip.file(parseInt(index + 1) + '.' + suffix, imgblob, { blob: true }) }) zip.generateAsync({ type: 'blob', compression: 'DEFLATE', compressionOptions: { level: 9 } }).then((zipblob) => { const name = comicName + '\\' + chapterName + '.zip' this.downloadFile(name, zipblob) resolve() return }) }) } } ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/down.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ const downvue_type_script_lang_js_ = ({ name: 'Down', data() { return { collapseActiveName: ['1', '2', '3'], comicName: null, queue: { 'worker': '', 'list': '', 'workeredList': '' }, maxChapterNum: 3, maxPictureNum: 2, zipDownFlag: true, historyData: [] } }, watch: { }, mounted() { console.clear() this.$bus.$on('selectDown', this.downInit) }, created() { this.$bus.$on('getComicName', this.getComicName) this.getHistoryData() }, methods: { getComicName(value) { if (value !== '------') { this.comicName = value } }, async downInit(arr) { if (this.queue.worker === '') { this.maxChapterNum = await getStorage('maxChapterNum') this.maxPictureNum = await getStorage('maxPictureNum') this.zipDownFlag = await getStorage('zipDownFlag') this.queue = new Queue(this.maxChapterNum, this.maxPictureNum, this) } this.queue.addList(arr) this.queue.run() }, async getHistoryData() { const data = await getStorage('downHistory') this.historyData = JSON.parse(data || '[]') }, async deleteHistoryData(index, id) { this.historyData.splice(index, 1) let data = await getStorage('downHistory') let historyData = JSON.parse(data || '[]') historyData = historyData.filter((item) => item.id !== id) data = JSON.stringify(historyData) setStorage('downHistory', data) }, deleteAllHistoryData() { external_vant_namespaceObject.Dialog.confirm({ getContainer: '.card', message: '确认全部删除' }) .then(() => { this.historyData.splice(0, this.historyData.length) setStorage('downHistory', '[]') }) .catch(() => { // on cancel }) }, jump(url) { window.open(url, '_blank') // window.location.href = url } } }); ;// CONCATENATED MODULE: ./src/views/down.vue?vue&type=script&lang=js& /* harmony default export */ const views_downvue_type_script_lang_js_ = (downvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/down.vue?vue&type=style&index=0&id=1e855a88&lang=scss&scoped=true& var downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_ = __webpack_require__(578); ;// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/views/down.vue?vue&type=style&index=0&id=1e855a88&lang=scss&scoped=true& var downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_options = {}; downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_options.insert = "head"; downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_options.singleton = false; var downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_update = injectStylesIntoStyleTag_default()(downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_/* default */.Z, downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_options); /* harmony default export */ const views_downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_ = (downvue_type_style_index_0_id_1e855a88_lang_scss_scoped_true_/* default.locals */.Z.locals || {}); ;// CONCATENATED MODULE: ./src/views/down.vue?vue&type=style&index=0&id=1e855a88&lang=scss&scoped=true& ;// CONCATENATED MODULE: ./src/views/down.vue ; /* normalize component */ var down_component = normalizeComponent( views_downvue_type_script_lang_js_, downvue_type_template_id_1e855a88_scoped_true_render, downvue_type_template_id_1e855a88_scoped_true_staticRenderFns, false, null, "1e855a88", null ) /* hot reload */ if (false) { var down_api; } down_component.options.__file = "src/views/down.vue" /* harmony default export */ const down = (down_component.exports); ;// CONCATENATED MODULE: ./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/app.vue?vue&type=script&lang=js& // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /* harmony default export */ const appvue_type_script_lang_js_ = ({ name: 'App', components: { Home: home, Table: table, Down: down, Setting: setting }, data() { return { AppName: AppName, AppVersion: AppVersion, show: true, isHide: true, active: 1, titles: ['漫画网站', '选择章节', '下载', '设置'], comicInfo: {} } }, computed: { current: function() { return this.active } }, watch: { active(val) { this.$refs.swipe.swipeTo(val) } }, created() { appinit() ;(0,comics/* matchWeb */.HL)(window.location.href) }, mounted() { this.$bus.$on('changTab', (val) => { this.active = val }) }, methods: { showContext() { this.show = !this.show }, hide() { this.isHide = !this.isHide }, test(e) { } } }); ;// CONCATENATED MODULE: ./src/app.vue?vue&type=script&lang=js& /* harmony default export */ const src_appvue_type_script_lang_js_ = (appvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/app.vue?vue&type=style&index=0&id=5ef48958&lang=scss&scoped=true& var appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_ = __webpack_require__(857); ;// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/app.vue?vue&type=style&index=0&id=5ef48958&lang=scss&scoped=true& var appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_options = {}; appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_options.insert = "head"; appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_options.singleton = false; var appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_update = injectStylesIntoStyleTag_default()(appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_/* default */.Z, appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_options); /* harmony default export */ const lib_vue_loader_options_src_appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_ = (appvue_type_style_index_0_id_5ef48958_lang_scss_scoped_true_/* default.locals */.Z.locals || {}); ;// CONCATENATED MODULE: ./src/app.vue?vue&type=style&index=0&id=5ef48958&lang=scss&scoped=true& // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/app.vue?vue&type=style&index=1&id=5ef48958&lang=scss&scoped=true& var appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_ = __webpack_require__(871); ;// CONCATENATED MODULE: ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./src/app.vue?vue&type=style&index=1&id=5ef48958&lang=scss&scoped=true& var appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_options = {}; appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_options.insert = "head"; appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_options.singleton = false; var appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_update = injectStylesIntoStyleTag_default()(appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_/* default */.Z, appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_options); /* harmony default export */ const lib_vue_loader_options_src_appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_ = (appvue_type_style_index_1_id_5ef48958_lang_scss_scoped_true_/* default.locals */.Z.locals || {}); ;// CONCATENATED MODULE: ./src/app.vue?vue&type=style&index=1&id=5ef48958&lang=scss&scoped=true& ;// CONCATENATED MODULE: ./src/app.vue ; /* normalize component */ var app_component = normalizeComponent( src_appvue_type_script_lang_js_, render, staticRenderFns, false, null, "5ef48958", null ) /* hot reload */ if (false) { var app_api; } app_component.options.__file = "src/app.vue" /* harmony default export */ const app = (app_component.exports); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles/global.scss var global = __webpack_require__(452); ;// CONCATENATED MODULE: ./src/styles/global.scss var global_options = {}; global_options.insert = "head"; global_options.singleton = false; var global_update = injectStylesIntoStyleTag_default()(global/* default */.Z, global_options); /* harmony default export */ const styles_global = (global/* default.locals */.Z.locals || {}); // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/less-loader/dist/cjs.js!./src/styles/global.less var cjs_js_src_styles_global = __webpack_require__(400); ;// CONCATENATED MODULE: ./src/styles/global.less var styles_global_options = {}; styles_global_options.insert = "head"; styles_global_options.singleton = false; var styles_global_update = injectStylesIntoStyleTag_default()(cjs_js_src_styles_global/* default */.Z, styles_global_options); /* harmony default export */ const src_styles_global = (cjs_js_src_styles_global/* default.locals */.Z.locals || {}); ;// CONCATENATED MODULE: ./src/main.js // import 'vant/lib/index.css' external_Vue_default().use((external_vant_default())) const id = `app_vue_${Date.now()}` const root = document.createElement('div') root.id = id document.body.appendChild(root) ;(external_Vue_default()).prototype.$bus = new (external_Vue_default())() if (isDev) { (0,utils/* loadStyle */.Xr)('https://unpkg.com/[email protected]/lib/index.css') } else { // eslint-disable-next-line no-undef GM_addStyle(GM_getResourceText('vantcss')) } new (external_Vue_default())({ el: `#${id}`, render: h => h(app) }) })(); /******/ })() ;