├── .browserslistrc ├── dist ├── favicon.ico ├── static │ ├── img │ │ ├── bg1.30c94b70.jpg │ │ ├── bg2.9fa4bfd5.jpg │ │ ├── bg3.de5572dc.jpg │ │ ├── bg4.16738123.jpg │ │ ├── bg5.b604e73f.jpg │ │ ├── bg6.6a80ac9c.jpg │ │ ├── bg7.2f2d61ce.jpg │ │ ├── guda.faa3d051.jpg │ │ ├── alipay.a19ae9c4.jpg │ │ ├── error.e0630c3c.jpg │ │ ├── wechat.df1a3147.png │ │ ├── ip_icon.fbe6de26.png │ │ ├── json_icon.69735bef.jpg │ │ ├── loading.298527cb.gif │ │ ├── base64_icon.6d395c9b.jpg │ │ ├── cimoc_icon.573179f6.png │ │ ├── magnet_icon.92419020.jpg │ │ ├── tools_icon.a2b80b7a.jpg │ │ ├── default_avatar.80e1d931.jpg │ │ └── timestamp_icon.0522f44d.png │ ├── fonts │ │ ├── element-icons.535877f5.woff │ │ └── element-icons.732389de.ttf │ └── css │ │ └── app.b82410f7.css ├── 404.html └── index.html ├── public ├── favicon.ico ├── 404.html └── index.html ├── sponsor ├── alipay.jpg └── wechat.png ├── src ├── assets │ ├── guda.jpg │ ├── kama.png │ ├── pictures │ │ ├── bg1.jpg │ │ ├── bg2.jpg │ │ ├── bg3.jpg │ │ ├── bg4.jpg │ │ ├── bg5.jpg │ │ ├── bg6.jpg │ │ ├── bg7.jpg │ │ ├── error.jpg │ │ ├── font_icon.jpg │ │ ├── ip_icon.png │ │ ├── json_icon.jpg │ │ ├── loading.gif │ │ ├── base64_icon.jpg │ │ ├── cimoc_icon.png │ │ ├── magnet_icon.jpg │ │ ├── media_icon.png │ │ ├── tools_icon.jpg │ │ ├── bilibili_icon.png │ │ ├── default_avatar.jpg │ │ └── timestamp_icon.png │ ├── css │ │ ├── icon.css │ │ └── main.css │ └── md │ │ ├── about_me_3.md │ │ ├── about_me_2.md │ │ └── about_me_1.md ├── components │ ├── bus.js │ ├── tools │ │ └── ToolCard.vue │ ├── comment │ │ ├── CommentFloor.vue │ │ └── CommentEditor.vue │ ├── movie │ │ └── MovieCard.vue │ ├── Header.vue │ ├── Tags.vue │ ├── Footer.vue │ └── comic │ │ └── ComicCard.vue ├── store │ └── index.js ├── api │ └── HostAddress.vue ├── utils │ ├── debounce.js │ └── throttle.js ├── main.js ├── views │ ├── About.vue │ ├── Home.vue │ ├── ComicPicture.vue │ ├── Comment.vue │ ├── MovieMessage.vue │ ├── MovieDetail.vue │ ├── Dashboard.vue │ ├── Comic.vue │ ├── ComicChapter.vue │ └── Magnet.vue ├── App.vue └── router │ └── index.js ├── babel.config.js ├── .gitignore ├── kbwebstack-web.iml ├── vue.config.js ├── README.md ├── .github └── FUNDING.yml └── package.json /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | -------------------------------------------------------------------------------- /dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/favicon.ico -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /sponsor/alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/sponsor/alipay.jpg -------------------------------------------------------------------------------- /sponsor/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/sponsor/wechat.png -------------------------------------------------------------------------------- /src/assets/guda.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/guda.jpg -------------------------------------------------------------------------------- /src/assets/kama.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/kama.png -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/assets/pictures/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/bg1.jpg -------------------------------------------------------------------------------- /src/assets/pictures/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/bg2.jpg -------------------------------------------------------------------------------- /src/assets/pictures/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/bg3.jpg -------------------------------------------------------------------------------- /src/assets/pictures/bg4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/bg4.jpg -------------------------------------------------------------------------------- /src/assets/pictures/bg5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/bg5.jpg -------------------------------------------------------------------------------- /src/assets/pictures/bg6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/bg6.jpg -------------------------------------------------------------------------------- /src/assets/pictures/bg7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/bg7.jpg -------------------------------------------------------------------------------- /src/assets/pictures/error.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/error.jpg -------------------------------------------------------------------------------- /dist/static/img/bg1.30c94b70.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/bg1.30c94b70.jpg -------------------------------------------------------------------------------- /dist/static/img/bg2.9fa4bfd5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/bg2.9fa4bfd5.jpg -------------------------------------------------------------------------------- /dist/static/img/bg3.de5572dc.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/bg3.de5572dc.jpg -------------------------------------------------------------------------------- /dist/static/img/bg4.16738123.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/bg4.16738123.jpg -------------------------------------------------------------------------------- /dist/static/img/bg5.b604e73f.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/bg5.b604e73f.jpg -------------------------------------------------------------------------------- /dist/static/img/bg6.6a80ac9c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/bg6.6a80ac9c.jpg -------------------------------------------------------------------------------- /dist/static/img/bg7.2f2d61ce.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/bg7.2f2d61ce.jpg -------------------------------------------------------------------------------- /dist/static/img/guda.faa3d051.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/guda.faa3d051.jpg -------------------------------------------------------------------------------- /src/assets/pictures/font_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/font_icon.jpg -------------------------------------------------------------------------------- /src/assets/pictures/ip_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/ip_icon.png -------------------------------------------------------------------------------- /src/assets/pictures/json_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/json_icon.jpg -------------------------------------------------------------------------------- /src/assets/pictures/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/loading.gif -------------------------------------------------------------------------------- /dist/static/img/alipay.a19ae9c4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/alipay.a19ae9c4.jpg -------------------------------------------------------------------------------- /dist/static/img/error.e0630c3c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/error.e0630c3c.jpg -------------------------------------------------------------------------------- /dist/static/img/wechat.df1a3147.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/wechat.df1a3147.png -------------------------------------------------------------------------------- /src/assets/pictures/base64_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/base64_icon.jpg -------------------------------------------------------------------------------- /src/assets/pictures/cimoc_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/cimoc_icon.png -------------------------------------------------------------------------------- /src/assets/pictures/magnet_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/magnet_icon.jpg -------------------------------------------------------------------------------- /src/assets/pictures/media_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/media_icon.png -------------------------------------------------------------------------------- /src/assets/pictures/tools_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/tools_icon.jpg -------------------------------------------------------------------------------- /dist/static/img/ip_icon.fbe6de26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/ip_icon.fbe6de26.png -------------------------------------------------------------------------------- /dist/static/img/json_icon.69735bef.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/json_icon.69735bef.jpg -------------------------------------------------------------------------------- /dist/static/img/loading.298527cb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/loading.298527cb.gif -------------------------------------------------------------------------------- /src/assets/pictures/bilibili_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/bilibili_icon.png -------------------------------------------------------------------------------- /src/assets/pictures/default_avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/default_avatar.jpg -------------------------------------------------------------------------------- /src/assets/pictures/timestamp_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/src/assets/pictures/timestamp_icon.png -------------------------------------------------------------------------------- /src/components/bus.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | 3 | // 使用 Event Bus 4 | const bus = new Vue(); 5 | 6 | export default bus; -------------------------------------------------------------------------------- /dist/static/img/base64_icon.6d395c9b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/base64_icon.6d395c9b.jpg -------------------------------------------------------------------------------- /dist/static/img/cimoc_icon.573179f6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/cimoc_icon.573179f6.png -------------------------------------------------------------------------------- /dist/static/img/magnet_icon.92419020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/magnet_icon.92419020.jpg -------------------------------------------------------------------------------- /dist/static/img/tools_icon.a2b80b7a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/tools_icon.a2b80b7a.jpg -------------------------------------------------------------------------------- /dist/static/img/default_avatar.80e1d931.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/default_avatar.80e1d931.jpg -------------------------------------------------------------------------------- /dist/static/img/timestamp_icon.0522f44d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/img/timestamp_icon.0522f44d.png -------------------------------------------------------------------------------- /src/assets/css/icon.css: -------------------------------------------------------------------------------- 1 | 2 | [class*=" el-icon-lx"], [class^=el-icon-lx] { 3 | font-family: lx-iconfont!important; 4 | } -------------------------------------------------------------------------------- /dist/static/fonts/element-icons.535877f5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/fonts/element-icons.535877f5.woff -------------------------------------------------------------------------------- /dist/static/fonts/element-icons.732389de.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KBdog/kbwebstack/HEAD/dist/static/fonts/element-icons.732389de.ttf -------------------------------------------------------------------------------- /src/assets/md/about_me_3.md: -------------------------------------------------------------------------------- 1 | # 赞助 2 | 3 | * 如果喜欢本项目可以请我喝杯茶哦~ 4 | * 5 | 6 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | Vue.use(Vuex) 5 | 6 | export default new Vuex.Store({ 7 | state: { 8 | }, 9 | mutations: { 10 | }, 11 | actions: { 12 | }, 13 | modules: { 14 | } 15 | }) 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | pnpm-debug.log* 14 | 15 | # Editor directories and files 16 | .idea 17 | .vscode 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | *.sw? 23 | -------------------------------------------------------------------------------- /kbwebstack-web.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/api/HostAddress.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /dist/404.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /public/404.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | //访问路径 3 | publicPath: '/kbwebstack', 4 | assetsDir: 'static', 5 | productionSourceMap: false, 6 | chainWebpack: config => { 7 | config.module.rule('md') 8 | .test(/\.md/) 9 | .use('vue-loader') 10 | .loader('vue-loader') 11 | .end() 12 | .use('vue-markdown-loader') 13 | .loader('vue-markdown-loader/lib/markdown-compiler') 14 | .options({ 15 | raw: true 16 | }) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/utils/debounce.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 防抖函数 3 | * @param {*} fn 是我们需要包装的事件回调 4 | * @param {*} delay 是每次推迟执行的等待时间 5 | */ 6 | const debounce = (fn, delay = 1000) => { 7 | // 定时器 8 | let timer = null; 9 | // 将debounce处理结果当作函数返回 10 | return function() { 11 | // 保留调用时的this上下文 12 | let context = this; 13 | // 保留调用时传入的参数 14 | let args = arguments; 15 | // 每次事件被触发时,都去清除之前的旧定时器 16 | if (timer) { 17 | clearTimeout(timer); 18 | } 19 | // 设立新定时器 20 | timer = setTimeout(function() { 21 | fn.apply(context, args); 22 | }, delay); 23 | }; 24 | }; 25 | export default debounce; 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # kb资源站前端 2 | 3 | * 提供百度热点新闻爬取,磁力链接搜索,漫画搜索,影视资讯查询,在线小工具等功能 4 | * 磁力源目前已有种子搜,喵绅士,磁力树,移花宫 5 | * 漫画源目前有拷贝漫画、影子漫画可用,后面会陆续增加 6 | 7 | ## 使用依赖 8 | 9 | * `node.js` 10 | * `vue.js` 11 | 12 | ## 预览 13 | 14 | * 项目已部署至`github`和`gitee` 15 | * `github`:[https://kbdog.github.io/kbwebstack](https://kbdog.github.io/kbwebstack) 16 | * `gitee`:[https://kbdog.gitee.io/kbwebstack](https://kbdog.gitee.io/kbwebstack) 17 | 18 | ## 功能介绍 19 | 20 | 1. 百度热点新闻爬取 21 | 2. 磁力链接搜索复制下载 22 | 3. 漫画搜索在线预览 23 | 4. 影视资讯查询展示 24 | 5. 各种在线小工具 25 | 6. 评论留言 26 | 27 | ## 赞助 28 | 29 | * 如果喜欢可以给个`star`或者请我喝杯茶哦~ 30 | * 31 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: https://kbdog.github.io/img/wechat.png 13 | -------------------------------------------------------------------------------- /src/assets/md/about_me_2.md: -------------------------------------------------------------------------------- 1 | # 作品 2 | 3 | ### [dmzj爬虫工具](https://github.com/KBdog/crawler-comic-dmzj2) 4 | 对`dmzj`后端接口进行数据抓取并下载漫画图片 5 | 6 | ### [copymanga爬虫工具](https://github.com/KBdog/crawler-comic-copymanga) 7 | 使用命令行解析`copymanga`后端下载图片 8 | 9 | ### [manhuaren爬虫工具](https://github.com/KBdog/crawler-comic-manhuaren) 10 | 对`manhuaren`后端`token`解密并抓取漫画数据下载 11 | 12 | ### [kb资源站后端](https://github.com/KBdog/kbWebStack-backend) 13 | 为`kb资源站`前端提供后端数据接口服务 14 | 15 | ### [kb资源站前端](https://github.com/KBdog/kbwebstack) 16 | 提供百度热点新闻爬取、磁力链接搜索、漫画搜索、影视资讯、在线小工具等功能 17 | 18 | ## 联系方式 19 | * [KBdog的个人博客](https://kbdog.github.io) 20 | * [Github](https://github.com/KBdog) 21 | * [Bilibili](https://space.bilibili.com/3368545) 22 | * [Twitter](https://twitter.com/yu1246450339) 23 | -------------------------------------------------------------------------------- /src/utils/throttle.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 节流函数 3 | * @param {*} fn 是我们需要包装的事件回调 4 | * @param {*} wait 是每次推迟执行的等待时间 5 | */ 6 | const throttle = (fn, wait = 1500) => { 7 | let inThrottle, lastFn, lastTime; 8 | return function() { 9 | const context = this, 10 | args = arguments; 11 | if (!inThrottle) { 12 | fn.apply(context, args); 13 | lastTime = Date.now(); 14 | inThrottle = true; 15 | } else { 16 | clearTimeout(lastFn); 17 | lastFn = setTimeout(function() { 18 | if (Date.now() - lastTime >= wait) { 19 | fn.apply(context, args); 20 | lastTime = Date.now(); 21 | } 22 | }, Math.max(wait - (Date.now() - lastTime), 0)); 23 | } 24 | }; 25 | }; 26 | export default throttle; 27 | -------------------------------------------------------------------------------- /src/assets/md/about_me_1.md: -------------------------------------------------------------------------------- 1 | # 关于我 2 | 3 | Hi!这里是kbdog! 4 | 5 | ## 我的信息 6 | 7 | | 属性 | 参数 | 8 | | :------------: | :--------------------------------------------------: | 9 | | 性别 | 男 | 10 | | 年龄 | 95后 | 11 | | 喜欢的娱乐方式 | 写代码、听音乐、打游戏 | 12 | | 喜欢的影视作品 | 流浪地球、人民的名义 | 13 | | 喜欢的游戏 | 英雄联盟 | 14 | | 喜欢的歌手 | 周杰伦 | 15 | | 装备 | 联想小新14笔记本,华为p10,QCY-T8无线蓝牙耳机,原道耳机 | 16 | | 短期目标 | 努力锻炼 | 17 | | 实习经历 | 2021.8.2-2021.12.31 广州太平洋网络 | 18 | | 学历 | 本科 | 19 | | 已考证件 | C1驾驶证、大学英语CET4、软考中级软件设计师 | 20 | 21 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kbwebstack-web", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "npm run serve", 7 | "serve": "vue-cli-service serve", 8 | "build": "vue-cli-service build", 9 | "lint": "vue-cli-service lint" 10 | }, 11 | "dependencies": { 12 | "axios": "^0.21.1", 13 | "core-js": "^3.6.5", 14 | "element-ui": "^2.15.2", 15 | "js-base64": "^3.7.2", 16 | "v-viewer": "^1.6.4", 17 | "vue": "^2.6.11", 18 | "vue-clipboard2": "^0.3.1", 19 | "vue-lazyload": "^1.3.3", 20 | "vue-router": "^3.2.0", 21 | "vuex": "^3.4.0" 22 | }, 23 | "devDependencies": { 24 | "@vue/cli-plugin-babel": "~4.5.0", 25 | "@vue/cli-plugin-router": "~4.5.0", 26 | "@vue/cli-plugin-vuex": "~4.5.0", 27 | "@vue/cli-service": "~4.5.0", 28 | "babel-eslint": "^10.1.0", 29 | "github-markdown-css": "^4.0.0", 30 | "highlight.js": "^11.2.0", 31 | "sass": "^1.26.5", 32 | "sass-loader": "^8.0.2", 33 | "vue-loader": "^15.9.8", 34 | "vue-markdown-loader": "^2.4.1", 35 | "vue-template-compiler": "^2.6.14", 36 | "webpack-cli": "^4.9.1" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | kbwebstack-web
-------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import router from './router' 4 | import store from './store' 5 | import ElementUI from 'element-ui' 6 | import 'element-ui/lib/theme-chalk/index.css' 7 | import axios from "axios"; 8 | import VueClipboard from "vue-clipboard2"; 9 | import fr from "element-ui/src/locale/lang/fr"; 10 | import './assets/css/icon.css'; 11 | //base64加密 12 | // import {Base64} from 'js-base64'; 13 | let Base64 = require('js-base64').Base64; 14 | // markdown样式 15 | import 'github-markdown-css' 16 | // 代码高亮 17 | import 'highlight.js/styles/github.css' 18 | //viewer 19 | import 'viewerjs/dist/viewer.css'; 20 | import VueViewer from "v-viewer"; 21 | import VueLazyload from 'vue-lazyload'; 22 | Vue.use(VueViewer); 23 | Vue.use(VueLazyload,{ 24 | preLoad: 1.3, 25 | error: require('./assets/pictures/error.jpg'), 26 | loading: require('./assets/pictures/loading.gif'), 27 | attempt: 3, 28 | lazyComponent:true 29 | }); 30 | //其他主要组件 31 | Vue.prototype.$axios=axios; 32 | Vue.config.productionTip = false; 33 | Vue.use(ElementUI); 34 | Vue.use(VueClipboard); 35 | //把签发token写成全局方法 36 | Vue.prototype.getToken=function(timestamp,uri){ 37 | var encodeString=uri+"_"+timestamp; 38 | return Base64.encode(encodeString); 39 | }; 40 | router.beforeEach((to, from, next) => { 41 | //给网页添加标题 42 | document.title = `${to.meta.title} | kb资源站`; 43 | //限制url跳转漫画章节或图片页面 44 | // if(to.path=='/comicChapter'|to.path=='/comicPicture'){ 45 | // // if(!from.path.includes('comic')){ 46 | // // next('/comic'); 47 | // // } 48 | // } 49 | next(); 50 | 51 | }); 52 | new Vue({ 53 | router, 54 | store, 55 | render: h => h(App) 56 | }).$mount('#app'); 57 | -------------------------------------------------------------------------------- /src/views/About.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 28 | 29 | 64 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 82 | 92 | -------------------------------------------------------------------------------- /src/components/tools/ToolCard.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 37 | 38 | 75 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 57 | 58 | 64 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <%= htmlWebpackPlugin.options.title %> 11 | 12 | 13 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 41 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueRouter from 'vue-router' 3 | import Home from "../views/Home"; 4 | import Magnet from "../views/Magnet"; 5 | import Comic from "../views/Comic"; 6 | import MovieMessage from "../views/MovieMessage"; 7 | import Comment from "../views/Comment"; 8 | import Tools from "../views/Tools"; 9 | import About from "../views/About"; 10 | import Dashboard from "../views/Dashboard"; 11 | import ComicChapter from "../views/ComicChapter"; 12 | import ComicPicture from "../views/ComicPicture"; 13 | import MovieDetail from '@/views/MovieDetail'; 14 | Vue.use(VueRouter); 15 | const router = new VueRouter({ 16 | routes:[ 17 | { 18 | path:'/', 19 | redirect:'/dashboard' 20 | }, 21 | { 22 | path: '/', 23 | name:'home', 24 | component: Home, 25 | children:[ 26 | { 27 | path:'/dashboard', 28 | name:'dashboard', 29 | component:Dashboard, 30 | meta:{ 31 | title:'首页' 32 | } 33 | }, 34 | { 35 | path:'/magnet', 36 | name:'magnet', 37 | component: Magnet, 38 | meta:{ 39 | title:'磁力资源' 40 | } 41 | }, 42 | { 43 | path: '/comic', 44 | name:'comic', 45 | component:Comic, 46 | meta: { 47 | title:'漫画爬虫' 48 | }, 49 | }, 50 | { 51 | path:'/comicChapter', 52 | name:'comicChapter', 53 | component:ComicChapter, 54 | meta:{ 55 | title:'漫画章节', 56 | } 57 | }, 58 | { 59 | path:'/comicPicture', 60 | name:'comicPicture', 61 | component: ComicPicture, 62 | meta:{ 63 | title:'漫画图片' 64 | } 65 | }, 66 | { 67 | path:'/movie', 68 | name:'movie', 69 | component:MovieMessage, 70 | meta:{ 71 | title:'影视资讯' 72 | } 73 | }, 74 | { 75 | path:'/movieDetail', 76 | name:'movieDetail', 77 | component:MovieDetail, 78 | meta:{ 79 | title:'影视详情' 80 | } 81 | }, 82 | { 83 | path:'/tools', 84 | name:'tools', 85 | component:Tools, 86 | meta:{ 87 | title:'在线工具' 88 | } 89 | }, 90 | { 91 | path:'/comment', 92 | name:'comment', 93 | component:Comment, 94 | meta:{ 95 | title:'留言板' 96 | } 97 | }, 98 | { 99 | path:'/about', 100 | name:'about', 101 | component:About, 102 | meta:{ 103 | title:'关于作者' 104 | } 105 | } 106 | ] 107 | }, 108 | //错误路径全部跳转回首页 109 | { 110 | path: '*', 111 | redirect:'/' 112 | } 113 | ] 114 | }) 115 | 116 | export default router 117 | -------------------------------------------------------------------------------- /src/assets/css/main.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | html, body, #app, .wrapper { 7 | width: 100%; 8 | height: 100%; 9 | overflow: hidden; 10 | } 11 | 12 | body { 13 | font-family: 'PingFang SC', "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif; 14 | } 15 | 16 | a { 17 | text-decoration: none 18 | } 19 | 20 | 21 | .content-box { 22 | position: absolute; 23 | left: 250px; 24 | right: 0; 25 | top: 70px; 26 | bottom: 0; 27 | padding-bottom: 30px; 28 | -webkit-transition: left .3s ease-in-out; 29 | transition: left .3s ease-in-out; 30 | background: #f0f0f0; 31 | } 32 | 33 | .content { 34 | width: 100%; 35 | height: 100%; 36 | padding: 0px; 37 | overflow-y: scroll; 38 | box-sizing: border-box; 39 | } 40 | 41 | .content-collapse { 42 | left: 65px; 43 | } 44 | 45 | .container { 46 | padding: 30px; 47 | background: #fff; 48 | border: 1px solid #ddd; 49 | border-radius: 5px; 50 | } 51 | 52 | .crumbs { 53 | margin: 10px 0; 54 | } 55 | 56 | .el-table th { 57 | background-color: #f5f7fa !important; 58 | } 59 | 60 | .pagination { 61 | margin: 20px 0; 62 | text-align: right; 63 | } 64 | 65 | .plugins-tips { 66 | padding: 20px 10px; 67 | margin-bottom: 20px; 68 | } 69 | 70 | .el-button+.el-tooltip { 71 | margin-left: 10px; 72 | } 73 | 74 | .el-table tr:hover { 75 | background: #f6faff; 76 | } 77 | 78 | .mgb20 { 79 | margin-bottom: 20px; 80 | } 81 | 82 | .move-enter-active, 83 | .move-leave-active { 84 | transition: opacity .5s; 85 | } 86 | 87 | .move-enter, 88 | .move-leave { 89 | opacity: 0; 90 | } 91 | 92 | /*BaseForm*/ 93 | 94 | .form-box { 95 | width: 600px; 96 | } 97 | 98 | .form-box .line { 99 | text-align: center; 100 | } 101 | 102 | .el-time-panel__content::after, 103 | .el-time-panel__content::before { 104 | margin-top: -7px; 105 | } 106 | 107 | .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { 108 | padding-bottom: 0; 109 | } 110 | 111 | /*Upload*/ 112 | 113 | .pure-button { 114 | width: 150px; 115 | height: 40px; 116 | line-height: 40px; 117 | text-align: center; 118 | color: #fff; 119 | border-radius: 3px; 120 | } 121 | 122 | .g-core-image-corp-container .info-aside { 123 | height: 45px; 124 | } 125 | 126 | .el-upload--text { 127 | background-color: #fff; 128 | border: 1px dashed #d9d9d9; 129 | border-radius: 6px; 130 | box-sizing: border-box; 131 | width: 360px; 132 | height: 180px; 133 | text-align: center; 134 | cursor: pointer; 135 | position: relative; 136 | overflow: hidden; 137 | } 138 | 139 | .el-upload--text .el-icon-upload { 140 | font-size: 67px; 141 | color: #97a8be; 142 | margin: 40px 0 16px; 143 | line-height: 50px; 144 | } 145 | 146 | .el-upload--text { 147 | color: #97a8be; 148 | font-size: 14px; 149 | text-align: center; 150 | } 151 | 152 | .el-upload--text em { 153 | font-style: normal; 154 | } 155 | 156 | /*VueEditor*/ 157 | 158 | .ql-container { 159 | min-height: 400px; 160 | } 161 | 162 | .ql-snow .ql-tooltip { 163 | transform: translateX(117.5px) translateY(10px) !important; 164 | } 165 | 166 | .editor-btn { 167 | margin-top: 20px; 168 | } 169 | 170 | /*markdown*/ 171 | 172 | .v-note-wrapper .v-note-panel { 173 | min-height: 500px; 174 | } 175 | -------------------------------------------------------------------------------- /src/components/comment/CommentFloor.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 48 | 49 | 136 | -------------------------------------------------------------------------------- /src/views/ComicPicture.vue: -------------------------------------------------------------------------------- 1 | 54 | 55 | 79 | 80 | 152 | -------------------------------------------------------------------------------- /src/components/movie/MovieCard.vue: -------------------------------------------------------------------------------- 1 | 45 | 46 | 89 | 90 | 147 | -------------------------------------------------------------------------------- /src/components/Header.vue: -------------------------------------------------------------------------------- 1 | 34 | 35 | 81 | 82 | 167 | -------------------------------------------------------------------------------- /src/views/Comment.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 119 | 120 | 144 | -------------------------------------------------------------------------------- /src/components/comment/CommentEditor.vue: -------------------------------------------------------------------------------- 1 | 25 | 26 | 122 | 123 | 170 | -------------------------------------------------------------------------------- /src/components/Tags.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 113 | 114 | 115 | 223 | -------------------------------------------------------------------------------- /src/views/MovieMessage.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 168 | 169 | 200 | -------------------------------------------------------------------------------- /src/components/Footer.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 178 | 179 | 230 | -------------------------------------------------------------------------------- /src/views/MovieDetail.vue: -------------------------------------------------------------------------------- 1 | 93 | 94 | 162 | 163 | 214 | -------------------------------------------------------------------------------- /src/views/Dashboard.vue: -------------------------------------------------------------------------------- 1 | 54 | 55 | 199 | 200 | 260 | -------------------------------------------------------------------------------- /src/views/Comic.vue: -------------------------------------------------------------------------------- 1 | 49 | 50 | 228 | 229 | 260 | -------------------------------------------------------------------------------- /dist/static/css/app.b82410f7.css: -------------------------------------------------------------------------------- 1 | *{padding:0;margin:0;text-decoration:none;font-size:100%}.el-menu--horizontal>.el-menu-item[data-v-1e3189dc]{border-bottom:0 solid transparent}.menu-item-class[data-v-1e3189dc]{height:10vh;width:9.7rem;text-align:center;line-height:10vh;font-weight:700}.index-img-class[data-v-1e3189dc]{width:100%;height:100%}.el-menu.el-menu--horizontal[data-v-1e3189dc]{border:none}.el-menu-item[data-v-1e3189dc]:hover{color:#ff69b4!important}.el-menu--horizontal>.el-menu-item.is-active[data-v-1e3189dc]{border:none}.header[data-v-1e3189dc]{position:relative;box-sizing:border-box;width:100%;color:#fff;display:flex;flex-direction:row;justify-content:center}.header-left[data-v-1e3189dc]{float:left;width:20.75rem;height:4.17rem}.header-right[data-v-1e3189dc]{float:right}.img-style-class[data-v-1e3189dc]{width:100%;height:100%;background:linear-gradient(180deg,#42dbf0,rgba(164,207,199,0)),#2cffd9;box-shadow:0 2px 2px rgba(0,0,0,.08);border-radius:1.25rem;display:flex;flex-direction:row;justify-content:center}.img-style-class-content[data-v-1e3189dc]{display:flex;flex-direction:column;justify-content:center}.img-font-style-class[data-v-1e3189dc]{width:17.9375rem;height:3.4375rem;margin-left:.625rem;font-family:Sanchez;font-style:normal;font-weight:400;font-size:2rem;line-height:2.5625rem;display:flex;align-items:center;color:#c7a69c}.img-font-style-class-img-content[data-v-1e3189dc]{width:3.125rem;height:3.125rem;margin-right:1.25rem}@media (max-width:412px){.lycorisRecoil-left[data-v-1f0f1451],.lycorisRecoil-right[data-v-1f0f1451]{display:none}}@media (min-width:413px)and (max-width:1920px){.lycorisRecoil-right[data-v-1f0f1451]{position:fixed;right:50px;bottom:10px}.lycorisRecoil-left[data-v-1f0f1451]{position:fixed;left:50px;bottom:10px}}.footer[data-v-1f0f1451]{background:#f5f5f5;text-align:center;width:100%;padding:1.875rem 0}.copyright[data-v-1f0f1451],.count[data-v-1f0f1451],.ip[data-v-1f0f1451],.time[data-v-1f0f1451]{font-weight:700;margin-top:.625rem}@media (min-width:550px){.ul-class{display:block;white-space:nowrap}}@media (max-width:549px){.ul-class{display:block;white-space:nowrap;overflow-x:scroll}}.tags{position:relative;height:1.875rem;overflow:hidden;background:#fff;padding-right:7.5rem;box-shadow:0 .3125rem .625rem #ddd}.tags ul{box-sizing:border-box;width:100%;height:100%}.tags-li{display:inline-block;margin:.1875rem .3125rem .125rem .1875rem;border-radius:.1875rem;font-size:.75rem;overflow:hidden;cursor:pointer;height:1.4375rem;line-height:1.4375rem;border:.0625rem solid #e9eaec;background:#fff;padding:0 .3125rem 0 .75rem;vertical-align:middle;color:#666;transition:all .3s ease-in}.tags-li:not(.active):hover{background:#f8f8f8}.tags-li.active{color:#fff;border:.0625rem solid #409eff;background-color:#409eff}.tags-li-title{text-decoration:none;float:left;max-width:5rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:.3125rem;color:#666}.tags-li.active .tags-li-title{color:#fff}.tags-close-box{position:absolute;right:0;top:0;box-sizing:border-box;padding-top:.0625rem;text-align:center;width:6.875rem;height:1.875rem;background:#fff;box-shadow:-.1875rem 0 .9375rem .1875rem rgba(0,0,0,.1);z-index:10}.router[data-v-1156fc79]{min-height:30.9375rem}a[data-v-08cd7f26]{text-decoration:none}.handle-input[data-v-08cd7f26],.handle-select[data-v-08cd7f26]{width:100%}.div-loading-class[data-v-08cd7f26]{padding-top:3.125rem}.handle-box[data-v-08cd7f26],.magnet[data-v-08cd7f26]{padding:1.25rem}.keyword-label[data-v-08cd7f26]{color:#ff69b4;font-weight:800;padding-bottom:1.25rem}.magnet-card[data-v-08cd7f26]{padding:.3125rem}.magnet-title[data-v-08cd7f26]{font-weight:700;color:#5dade2}.description-table[data-v-08cd7f26]{text-align:center;font-weight:500}.magnet-size[data-v-08cd7f26],.magnet-time[data-v-08cd7f26]{color:#27ae60}.magnet-hot[data-v-08cd7f26]{color:#f1948a}.magnet-link[data-v-08cd7f26]{color:#529cfa}.comic-card[data-v-8e5c678a]{width:18.125rem;padding:.625rem;display:inline-flex}.el-link.el-link--default[data-v-8e5c678a]{width:100%}.el-link[data-v-8e5c678a]{display:block}.el-card[data-v-8e5c678a]{width:100%}.comic-card-content[data-v-8e5c678a]{display:flex;width:100%;height:100%}.img[data-v-8e5c678a]{padding-right:1.25rem}.img[data-v-8e5c678a],.real-img-class[data-v-8e5c678a]{width:6.25rem;height:8rem}.comic-name[data-v-8e5c678a]{width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;font-size:.875rem;font-weight:700;min-height:40%;margin-bottom:.625rem}.comic-name2[data-v-8e5c678a]{font-size:12px}.comic-name2[data-v-8e5c678a],.comic-name3[data-v-8e5c678a]{width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;font-weight:700;min-height:100%;margin-bottom:.625rem}.comic-name3[data-v-8e5c678a]{font-size:14px}.comic-name4[data-v-8e5c678a]{min-height:100%}.comic-name4[data-v-8e5c678a],.comic-name5[data-v-8e5c678a]{width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;font-size:14px;font-weight:700;margin-bottom:.625rem}.comic-name5[data-v-8e5c678a]{min-height:40%}.comic-author[data-v-8e5c678a]{display:block;font-size:.75rem;color:#999}.real-comic-list[data-v-17d38351]{display:flex;flex-wrap:wrap}.comic[data-v-17d38351]{padding:1.25rem}.handle-input[data-v-17d38351],.handle-select[data-v-17d38351]{width:100%}.handle-box[data-v-17d38351]{padding:1.25rem}.card-list[data-v-17d38351]{width:85%;margin:0 auto}.keyword-label[data-v-17d38351]{color:#ff69b4;font-weight:800;padding-bottom:1.25rem}.movie-card[data-v-73829d7b]{width:16.875rem;padding:10px;display:inline-flex;max-height:20rem}.el-link.el-link--default[data-v-73829d7b]{width:100%}.el-link[data-v-73829d7b]{display:block}.el-card[data-v-73829d7b]{width:100%}.movie-card-content[data-v-73829d7b]{display:flex;flex-direction:row;justify-content:flex-start;width:100%;height:100%}.img[data-v-73829d7b]{width:120px;height:170px;padding-right:20px}.movie-name[data-v-73829d7b]{width:100%;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;font-size:14px;font-weight:700;min-height:5%;margin-bottom:10px}.movie-author[data-v-73829d7b]{display:block;font-size:12px;color:#999;margin-top:1em}.keyword-class[data-v-73829d7b]{width:100%;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.movie-list[data-v-ebad8a0c]{width:100%;display:flex;flex-direction:row;justify-content:center}.movie-item-list[data-v-ebad8a0c]{width:80%;display:flex;flex-direction:row;flex-wrap:wrap}.handle-box[data-v-ebad8a0c],.movie[data-v-ebad8a0c]{padding:20px}.keyword-label[data-v-ebad8a0c]{color:#ff69b4;font-weight:800;padding-bottom:20px}.editor-content[data-v-3262af5b]{border:1px solid #ffb6c1;margin:20px;display:flex;flex-direction:column;align-items:center}.editor-content1[data-v-3262af5b]{width:80%;border:.0625rem solid #f0f0f0;border-radius:.25rem;margin-bottom:.625rem;overflow:hidden;position:relative;padding:.625rem}.editor-header[data-v-3262af5b]{box-sizing:border-box;line-height:1.75;border-bottom:.0625rem dashed #dedede}.editor-header .el-input[data-v-3262af5b]{width:33.3%;margin-bottom:.625rem}.editor-textarea[data-v-3262af5b]{margin-top:.625rem}.editor-button[data-v-3262af5b]{margin-top:.625rem;display:flex;flex-direction:row;justify-content:flex-end}.comment-floor[data-v-ee025e34]{width:80%;display:flex;flex-direction:row;justify-content:center}.el-card[data-v-ee025e34]{width:100%}.floor-content[data-v-ee025e34]{width:100%;display:flex;flex-direction:row;justify-content:flex-start}.profile-message[data-v-ee025e34]{width:9.375rem;display:flex;flex-direction:column;align-items:center;text-align:center;padding-right:5%;border-right:1px solid #f6f8fa}.comment-message[data-v-ee025e34]{width:80%;padding-left:5%;border-left:1px solid #f6f8fa;display:flex;flex-direction:column;align-items:flex-end}.avatar-img[data-v-ee025e34]{padding:.1875rem;border:.0625rem solid #ccc}.img[data-v-ee025e34]{width:3.75rem;height:3.75rem}.nickName-class[data-v-ee025e34]{margin-top:.5625rem;font-size:.875rem;color:#5dade2;font-weight:700}.el-link.el-link--default[data-v-ee025e34]{color:#606266;overflow-wrap:anywhere}.email-class[data-v-ee025e34],.network-class[data-v-ee025e34]{margin-top:.5625rem;font-weight:700;max-width:100%;overflow-wrap:anywhere}.comment-message-content[data-v-ee025e34]{min-height:10.625rem;width:100%;word-break:break-word;white-space:pre-wrap}.comment-message-time[data-v-ee025e34]{display:inline-block;margin:0 .25rem;color:#999}.comment[data-v-4d206042]{width:100%;height:100%;margin-top:1.25rem;margin-bottom:1.25rem}.comment-editor[data-v-4d206042]{display:flex;flex-direction:row;justify-content:center}.comment-content[data-v-4d206042]{margin-top:1.25rem;display:flex;flex-direction:column;align-items:center}.box-card[data-v-723b1ff4]{width:100%;margin-bottom:10px;border-radius:6px}.category img[data-v-723b1ff4]{width:40px;height:40px;border-radius:12.5px}.tool-card[data-v-723b1ff4]{margin-left:20px;margin-right:20px;margin-bottom:10px;width:22rem}.category .title[data-v-723b1ff4]{width:36px;height:20px;font-weight:700;color:#000;position:relative;top:-6px;font-family:Helvetica Neue}.desc[data-v-723b1ff4],p[data-v-723b1ff4]{width:100%;font-size:14px;padding-left:10px}.check[data-v-723b1ff4]{text-align:right;margin-bottom:0}.p-iplocation-class[data-v-cb467460]{color:#529cfa;font-weight:800;padding-bottom:1.25rem;font-size:1.875rem}.p-label-class[data-v-cb467460]{color:#ff69b4;font-weight:800;padding-bottom:1.25rem}.main-content[data-v-cb467460]{width:100%;height:100%;margin-top:.625rem;margin-bottom:1.25rem;display:flex;flex-direction:column;align-items:center}.tools-list[data-v-cb467460]{margin-top:.625rem;flex-wrap:wrap}.tools-content[data-v-cb467460],.tools-list[data-v-cb467460]{width:90%;display:flex;flex-direction:row;justify-content:center}.tools-content[data-v-cb467460]{min-height:12.5rem;margin-top:1.25rem}.tools-item[data-v-cb467460]{width:100%;display:flex;flex-direction:column;align-items:center;margin-top:2rem}.author-class[data-v-ad202bcc]{max-width:100%;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;padding:1.875rem}.author-one[data-v-ad202bcc],.author-two[data-v-ad202bcc],.markdown-div[data-v-ad202bcc]{width:700px;display:flex;flex-direction:row;justify-content:center}.markdown-div[data-v-ad202bcc]{margin-bottom:1.25rem}.box-card[data-v-5b3cf616]{width:100%;margin-bottom:.625rem;border-radius:.375rem}.block img[data-v-5b3cf616]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.category img[data-v-5b3cf616]{width:2.5rem;height:2.5rem;border-radius:.78rem}.category .title[data-v-5b3cf616]{width:2.25rem;height:1.25rem;font-weight:700;color:#000;position:relative;top:-.375rem;font-family:Helvetica Neue}.desc[data-v-5b3cf616],p[data-v-5b3cf616]{width:100%;font-size:.875rem;padding-left:.625rem}.check[data-v-5b3cf616]{text-align:right;margin-bottom:0}.pic-page[data-v-5b3cf616],.pic-page img[data-v-5b3cf616]{width:100%;height:100%}.pic-page h3[data-v-5b3cf616]{position:absolute;bottom:0;color:#fff;text-shadow:0 0 .3125rem red,0 0 .3125rem #6bf403}.el-image-class[data-v-1efc7adc]{width:14.375rem}.comic-cover[data-v-1efc7adc]{margin-right:6.25rem;display:inline-block;width:14.375rem}.comic-message[data-v-1efc7adc]{max-width:74%;display:inline-block}.chapter[data-v-1efc7adc]{padding:1.25rem}.mgb20[data-v-1efc7adc]{margin-bottom:1.25rem;min-height:21.875rem}.comic-title[data-v-1efc7adc]{display:flex;flex-direction:row;flex-wrap:wrap;margin-right:-.9375rem;margin-left:1.25rem}.chapterLabel[data-v-1efc7adc]{font-size:1.875rem}.chapterList[data-v-1efc7adc]{display:inline-block}#box[data-v-5e16e092]{padding:20px}.container1[data-v-5e16e092]{width:100%}.crumbs[data-v-5e16e092]{margin:10px 0}@media (max-width:412px){.imgTable[data-v-5e16e092]{display:inline-block;text-align:center;width:310px;margin:1.5%;border:1px solid #ffb6c1}.imgClass[data-v-5e16e092]{margin-bottom:2px;border-bottom:1px solid #ffb6c1}.imgClass img[data-v-5e16e092]{width:310px;height:437px}.imgClass[data-v-5e16e092]:hover{cursor:cell}}@media (min-width:413px)and (max-width:1920px){.imgTable[data-v-5e16e092]{display:inline-block;text-align:center;width:200px;margin:1.5%;border:1px solid #ffb6c1}.imgClass[data-v-5e16e092]{margin-bottom:2px;border-bottom:1px solid #ffb6c1}.imgClass img[data-v-5e16e092]{width:200px;height:282px}.imgClass[data-v-5e16e092]:hover{cursor:cell}}.rating-subfix[data-v-4eaed348]{font-size:14px;color:#f90;line-height:1.38}.rating[data-v-4eaed348]{display:flex;flex-direction:row;text-overflow:ellipsis;text-align:left;margin-bottom:1.25rem}.el-image-class[data-v-4eaed348]{width:14.375rem}.comic-cover[data-v-4eaed348]{margin-right:6.25rem;display:inline-block;width:14.375rem}.comic-message[data-v-4eaed348]{max-width:74%;display:inline-block}.chapter[data-v-4eaed348]{padding:20px}.mgb20[data-v-4eaed348]{margin-bottom:20px;min-height:350px}.comic-title[data-v-4eaed348]{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;margin-right:-15px;margin-left:20px}.chapterLabel[data-v-4eaed348]{font-size:30px}.chapterList[data-v-4eaed348]{display:inline-block}[class*=" el-icon-lx"],[class^=el-icon-lx]{font-family:lx-iconfont!important} -------------------------------------------------------------------------------- /src/views/ComicChapter.vue: -------------------------------------------------------------------------------- 1 | 72 | 73 | 255 | 256 | 301 | -------------------------------------------------------------------------------- /src/components/comic/ComicCard.vue: -------------------------------------------------------------------------------- 1 | 64 | 65 | 285 | 286 | 404 | -------------------------------------------------------------------------------- /src/views/Magnet.vue: -------------------------------------------------------------------------------- 1 | 94 | 95 | 526 | 527 | 580 | --------------------------------------------------------------------------------