// ==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)
})
})();
/******/ })()
;