├── .browserslistrc ├── .eslintrc.js ├── .gitignore ├── README.md ├── babel.config.js ├── package-lock.json ├── package.json ├── postcss.config.js ├── public ├── favicon.ico └── index.html ├── src ├── App.vue ├── assets │ ├── images │ │ ├── 333.png │ │ ├── Aa.png │ │ ├── Collection.png │ │ ├── Greate-l.png │ │ ├── Greate-l2.png │ │ ├── Greate.png │ │ ├── account.png │ │ ├── bookList.png │ │ ├── comment.png │ │ ├── follow.png │ │ ├── leave.png │ │ ├── menu1.png │ │ ├── menu2.png │ │ ├── menu3.png │ │ ├── menu4.png │ │ ├── menu5.png │ │ ├── menu6.png │ │ ├── moon.png │ │ ├── mseeage.png │ │ ├── mulu.png │ │ ├── passwordpd.png │ │ ├── record.png │ │ ├── return.png │ │ ├── sun.png │ │ ├── talk.png │ │ ├── top-book.jpg │ │ ├── top1.jpg │ │ ├── top2.png │ │ ├── zhui1 copy.jpg │ │ ├── zhui1.jpg │ │ ├── zhui2 copy.jpg │ │ ├── zhui2.jpg │ │ ├── zhui3 copy.jpg │ │ └── zhui3.jpg │ ├── inconfont │ │ ├── iconfont.css │ │ ├── iconfont.eot │ │ ├── iconfont.js │ │ ├── iconfont.json │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ └── iconfont.woff2 │ ├── logo.png │ └── user.png ├── components │ ├── booksInfo │ │ └── BooksInfo.vue │ └── readbooks │ │ └── bookContent.vue ├── main.js ├── router │ └── index.js ├── store │ └── index.js ├── tools │ └── myaxios.js └── views │ ├── Good.vue │ ├── Personal.vue │ ├── Ranking.vue │ ├── Search.vue │ ├── Shelf.vue │ ├── Sort.vue │ ├── Sortbooks.vue │ ├── books │ └── Booksearch.vue │ ├── per │ ├── bowerect.vue │ ├── personinfo.vue │ └── personre.vue │ └── ranks │ ├── femalerankDetail.vue │ └── malerankDetail.vue └── vue.config.js /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | 'extends': [ 7 | 'plugin:vue/recommended', 8 | 'eslint:recommended' 9 | ], 10 | rules: { 11 | 12 | // 关闭必须使用单引号 13 | 'quotes': [0, 'single'], 14 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 15 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 16 | 'prefer-promise-reject-errors': 0, 17 | 'space-unary-ops': 0, 18 | 'no-unused-expressions': 0, 19 | 'no-useless-return': 0, 20 | 'standard/no-callback-literal': 0, 21 | 'import/first': 0, 22 | 'import/export': 0, 23 | 'no-mixed-operators': 0, 24 | 'no-use-before-define': 0, 25 | 26 | // 不允许使用分号 27 | 'semi': [2, 'never'], 28 | 29 | // 允许使用== 30 | 'eqeqeq': 0, 31 | 32 | // 缩进使用不做限制 33 | 'indent': 2, 34 | 35 | // 允许使用tab 36 | 'no-tabs': 0, 37 | 38 | // 函数圆括号之前没有空格 39 | 'space-before-function-paren': [2, 'never'], 40 | 41 | // 不要求块内空格填充格式 42 | 'padded-blocks': 0, 43 | 44 | // 不限制变量一起声明 45 | 'one-var': 0, 46 | 47 | // 条件语句中复制操作符需要用圆括号括起来 48 | 'no-cond-assign': [2, 'except-parens'], 49 | 50 | // 允许使用条件表达式使用常量 51 | 'no-constant-condition': 2, 52 | 53 | // 单行可忽略大括号,多行不可忽略 54 | 'curly': [2, 'multi-line'], 55 | 56 | // 不允许使用var变量 57 | 'no-var': 2, 58 | 59 | 'no-unused-vars': 0, 60 | 61 | // 不允许出现多个空格 62 | 'no-multi-spaces': ['error', { ignoreEOLComments: true }], 63 | 'camelcase': 0, 64 | 65 | // 对象字面量的键值空格风格 66 | 'key-spacing': 2, 67 | 68 | // if语句包含一个return语句, else就多余 69 | 'no-else-return': 2, 70 | 71 | // 建议将经常出现的数字提取为变量 72 | 'no-magic-numbers': [0, { ignoreArrayIndexes: true }], 73 | 74 | // 不允许重复声明变量 75 | 'no-redeclare': [2, { builtinGlobals: true }], 76 | 77 | // 立即执行函数风格 78 | 'wrap-iife': [2, 'inside'], 79 | 80 | // 不允许圆括号中出现空格 81 | 'space-in-parens': [2, 'never'], 82 | 83 | // 确保运算符周围有空格 84 | 'space-infix-ops': 2, 85 | 86 | // 强制点号与属性同一行 87 | 'dot-location': [2, 'property'], 88 | 89 | // 强制单行代码使用空格 90 | 'block-spacing': [2, 'always'], 91 | 92 | // 约束for-in使用hasOwnProperty判断 93 | 'guard-for-in': 0, 94 | 95 | // 采用one true brace style大括号风格 96 | 'brace-style': [2, '1tbs', { 'allowSingleLine': true }], 97 | 98 | // 统一逗号周围空格风格 99 | 'comma-spacing': [2, { 'before': false, 'after': true }], 100 | 101 | // 禁止出现多个空行 102 | 'no-multiple-empty-lines': [2, { 'max': 1, 'maxEOF': 2 }], 103 | 104 | // 允许箭头函数不使用圆括号 105 | 'arrow-parens': 0, 106 | 107 | // 规范generator函数的使用 108 | 'generator-star-spacing': [2, { 'before': false, 'after': true }], 109 | 110 | // 要求在块级 111 | 'lines-around-comment': [2, { 'beforeBlockComment': true, 'afterBlockComment': false, 'beforeLineComment': true, 'afterLineComment': false }] 112 | }, 113 | parserOptions: { 114 | parser: 'babel-eslint' 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 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 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw? 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue_cm1 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Run your tests 19 | ``` 20 | npm run test 21 | ``` 22 | 23 | ### Lints and fixes files 24 | ``` 25 | npm run lint 26 | ``` 27 | 28 | ### Customize configuration 29 | See [Configuration Reference](https://cli.vuejs.org/config/). 30 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue_cm1", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint" 9 | }, 10 | "dependencies": { 11 | "axios": "^0.19.0", 12 | "core-js": "^3.3.2", 13 | "jquery": "^3.4.1", 14 | "lib-flexible": "^0.3.2", 15 | "mint-ui": "^2.2.13", 16 | "moment": "^2.24.0", 17 | "vue": "^2.6.10", 18 | "vue-router": "^3.1.3", 19 | "vuex": "^3.1.2", 20 | "vuex-persistedstate": "^2.7.0" 21 | }, 22 | "devDependencies": { 23 | "@vue/cli-plugin-babel": "^4.0.0", 24 | "@vue/cli-plugin-eslint": "^4.0.0", 25 | "@vue/cli-service": "^4.0.0", 26 | "babel-eslint": "^10.0.3", 27 | "css-loader": "^3.2.0", 28 | "eslint": "^5.16.0", 29 | "eslint-plugin-vue": "^5.0.0", 30 | "less": "^3.0.4", 31 | "less-loader": "^5.0.0", 32 | "lint-staged": "^9.4.2", 33 | "postcss-pxtorem": "^4.0.1", 34 | "vue-template-compiler": "^2.6.10" 35 | }, 36 | "gitHooks": { 37 | "pre-commit": "lint-staged" 38 | }, 39 | "lint-staged": { 40 | "*.{js,vue}": [ 41 | "vue-cli-service lint", 42 | "git add" 43 | ] 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | //autoprefixer 自动补全css前缀的东西 4 | 'autoprefixer': { 5 | //兼容的机型 6 | browsers: ['Android >= 4.0', 'iOS >= 7'] 7 | }, 8 | 'postcss-pxtorem': { 9 | rootValue: 37.5, //换算基数,一般和html的font-size一致 10 | propList: ['*'] //哪些css属性需要换算 11 | } 12 | } 13 | }; -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 读了吗 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 40 | 41 | 86 | 87 | 150 | -------------------------------------------------------------------------------- /src/assets/images/333.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/333.png -------------------------------------------------------------------------------- /src/assets/images/Aa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/Aa.png -------------------------------------------------------------------------------- /src/assets/images/Collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/Collection.png -------------------------------------------------------------------------------- /src/assets/images/Greate-l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/Greate-l.png -------------------------------------------------------------------------------- /src/assets/images/Greate-l2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/Greate-l2.png -------------------------------------------------------------------------------- /src/assets/images/Greate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/Greate.png -------------------------------------------------------------------------------- /src/assets/images/account.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/account.png -------------------------------------------------------------------------------- /src/assets/images/bookList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/bookList.png -------------------------------------------------------------------------------- /src/assets/images/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/comment.png -------------------------------------------------------------------------------- /src/assets/images/follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/follow.png -------------------------------------------------------------------------------- /src/assets/images/leave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/leave.png -------------------------------------------------------------------------------- /src/assets/images/menu1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/menu1.png -------------------------------------------------------------------------------- /src/assets/images/menu2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/menu2.png -------------------------------------------------------------------------------- /src/assets/images/menu3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/menu3.png -------------------------------------------------------------------------------- /src/assets/images/menu4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/menu4.png -------------------------------------------------------------------------------- /src/assets/images/menu5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/menu5.png -------------------------------------------------------------------------------- /src/assets/images/menu6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/menu6.png -------------------------------------------------------------------------------- /src/assets/images/moon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/moon.png -------------------------------------------------------------------------------- /src/assets/images/mseeage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/mseeage.png -------------------------------------------------------------------------------- /src/assets/images/mulu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/mulu.png -------------------------------------------------------------------------------- /src/assets/images/passwordpd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/passwordpd.png -------------------------------------------------------------------------------- /src/assets/images/record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/record.png -------------------------------------------------------------------------------- /src/assets/images/return.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/return.png -------------------------------------------------------------------------------- /src/assets/images/sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/sun.png -------------------------------------------------------------------------------- /src/assets/images/talk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/talk.png -------------------------------------------------------------------------------- /src/assets/images/top-book.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/top-book.jpg -------------------------------------------------------------------------------- /src/assets/images/top1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/top1.jpg -------------------------------------------------------------------------------- /src/assets/images/top2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/top2.png -------------------------------------------------------------------------------- /src/assets/images/zhui1 copy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/zhui1 copy.jpg -------------------------------------------------------------------------------- /src/assets/images/zhui1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/zhui1.jpg -------------------------------------------------------------------------------- /src/assets/images/zhui2 copy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/zhui2 copy.jpg -------------------------------------------------------------------------------- /src/assets/images/zhui2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/zhui2.jpg -------------------------------------------------------------------------------- /src/assets/images/zhui3 copy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/zhui3 copy.jpg -------------------------------------------------------------------------------- /src/assets/images/zhui3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/images/zhui3.jpg -------------------------------------------------------------------------------- /src/assets/inconfont/iconfont.css: -------------------------------------------------------------------------------- 1 | @font-face {font-family: "iconfont"; 2 | src: url('iconfont.eot?t=1572765666339'); /* IE9 */ 3 | src: url('iconfont.eot?t=1572765666339#iefix') format('embedded-opentype'), /* IE6-IE8 */ 4 | url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), 5 | url('iconfont.woff?t=1572765666339') format('woff'), 6 | url('iconfont.ttf?t=1572765666339') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ 7 | url('iconfont.svg?t=1572765666339#iconfont') format('svg'); /* iOS 4.1- */ 8 | } 9 | 10 | .iconfont { 11 | font-family: "iconfont" !important; 12 | font-size: 16px; 13 | font-style: normal; 14 | -webkit-font-smoothing: antialiased; 15 | -moz-osx-font-smoothing: grayscale; 16 | } 17 | 18 | .icon-fenlei:before { 19 | content: "\e61d"; 20 | } 21 | 22 | .icon-jiarushujia:before { 23 | content: "\e697"; 24 | } 25 | 26 | .icon-wodeshujia:before { 27 | content: "\e618"; 28 | } 29 | 30 | .icon-jiarushujia1:before { 31 | content: "\e60e"; 32 | } 33 | 34 | .icon-paihang:before { 35 | content: "\e613"; 36 | } 37 | 38 | .icon-paihang1:before { 39 | content: "\e60f"; 40 | } 41 | 42 | .icon-user:before { 43 | content: "\e600"; 44 | } 45 | 46 | .icon-fenlei1:before { 47 | content: "\e682"; 48 | } 49 | 50 | .icon-jiarushujia2:before { 51 | content: "\e609"; 52 | } 53 | 54 | .icon-shucheng-paihang:before { 55 | content: "\e628"; 56 | } 57 | 58 | .icon-shucheng-fenlei:before { 59 | content: "\e629"; 60 | } 61 | 62 | .icon-shucheng-mulu:before { 63 | content: "\e630"; 64 | } 65 | 66 | .icon-jingxuan:before { 67 | content: "\e64b"; 68 | } 69 | 70 | .icon-jiarushujia3:before { 71 | content: "\e61a"; 72 | } 73 | 74 | .icon-jingxuan1:before { 75 | content: "\e669"; 76 | } 77 | 78 | .icon-top:before { 79 | content: "\e601"; 80 | } 81 | 82 | .icon-jingxuan2:before { 83 | content: "\e610"; 84 | } 85 | 86 | .icon-shujia:before { 87 | content: "\e70c"; 88 | } 89 | 90 | .icon-fenlei2:before { 91 | content: "\e602"; 92 | } 93 | 94 | .icon-fenlei3:before { 95 | content: "\e60d"; 96 | } 97 | 98 | .icon-tubiaozhizuomoban:before { 99 | content: "\e603"; 100 | } 101 | 102 | .icon-paihang2:before { 103 | content: "\e604"; 104 | } 105 | 106 | .icon-leimupinleifenleileibie--:before { 107 | content: "\e60b"; 108 | } 109 | 110 | .icon-tianjiashuji:before { 111 | content: "\e61e"; 112 | } 113 | 114 | .icon-shujia1:before { 115 | content: "\e658"; 116 | } 117 | 118 | .icon-geren:before { 119 | content: "\e68a"; 120 | } 121 | 122 | .icon-icontab_company_sel:before { 123 | content: "\e605"; 124 | } 125 | 126 | .icon-jiarushujia4:before { 127 | content: "\e61f"; 128 | } 129 | 130 | .icon-fenlei4:before { 131 | content: "\e611"; 132 | } 133 | 134 | .icon-sousuo:before { 135 | content: "\e608"; 136 | } 137 | 138 | .icon-shujia2:before { 139 | content: "\e6a6"; 140 | } 141 | 142 | .icon-qitajingxuan:before { 143 | content: "\e614"; 144 | } 145 | 146 | .icon-huaban:before { 147 | content: "\e606"; 148 | } 149 | 150 | .icon-shujiachangtai:before { 151 | content: "\e607"; 152 | } 153 | 154 | .icon-paihang3:before { 155 | content: "\e65c"; 156 | } 157 | 158 | .icon-shujia3:before { 159 | content: "\e60c"; 160 | } 161 | 162 | -------------------------------------------------------------------------------- /src/assets/inconfont/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/inconfont/iconfont.eot -------------------------------------------------------------------------------- /src/assets/inconfont/iconfont.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "1489722", 3 | "name": "vue", 4 | "font_family": "iconfont", 5 | "css_prefix_text": "icon-", 6 | "description": "", 7 | "glyphs": [ 8 | { 9 | "icon_id": "1380843", 10 | "name": "分类", 11 | "font_class": "fenlei", 12 | "unicode": "e61d", 13 | "unicode_decimal": 58909 14 | }, 15 | { 16 | "icon_id": "1640040", 17 | "name": "加入书架", 18 | "font_class": "jiarushujia", 19 | "unicode": "e697", 20 | "unicode_decimal": 59031 21 | }, 22 | { 23 | "icon_id": "1667711", 24 | "name": "我的书架", 25 | "font_class": "wodeshujia", 26 | "unicode": "e618", 27 | "unicode_decimal": 58904 28 | }, 29 | { 30 | "icon_id": "2153760", 31 | "name": "加入书架", 32 | "font_class": "jiarushujia1", 33 | "unicode": "e60e", 34 | "unicode_decimal": 58894 35 | }, 36 | { 37 | "icon_id": "2380649", 38 | "name": "排行", 39 | "font_class": "paihang", 40 | "unicode": "e613", 41 | "unicode_decimal": 58899 42 | }, 43 | { 44 | "icon_id": "2538540", 45 | "name": "排行", 46 | "font_class": "paihang1", 47 | "unicode": "e60f", 48 | "unicode_decimal": 58895 49 | }, 50 | { 51 | "icon_id": "2665594", 52 | "name": "个人", 53 | "font_class": "user", 54 | "unicode": "e600", 55 | "unicode_decimal": 58880 56 | }, 57 | { 58 | "icon_id": "2718444", 59 | "name": "分类", 60 | "font_class": "fenlei1", 61 | "unicode": "e682", 62 | "unicode_decimal": 59010 63 | }, 64 | { 65 | "icon_id": "2811220", 66 | "name": "加入书架", 67 | "font_class": "jiarushujia2", 68 | "unicode": "e609", 69 | "unicode_decimal": 58889 70 | }, 71 | { 72 | "icon_id": "3086010", 73 | "name": "书城-排行", 74 | "font_class": "shucheng-paihang", 75 | "unicode": "e628", 76 | "unicode_decimal": 58920 77 | }, 78 | { 79 | "icon_id": "3086011", 80 | "name": "书城-分类", 81 | "font_class": "shucheng-fenlei", 82 | "unicode": "e629", 83 | "unicode_decimal": 58921 84 | }, 85 | { 86 | "icon_id": "3275520", 87 | "name": "书城-目录", 88 | "font_class": "shucheng-mulu", 89 | "unicode": "e630", 90 | "unicode_decimal": 58928 91 | }, 92 | { 93 | "icon_id": "3553432", 94 | "name": "精选", 95 | "font_class": "jingxuan", 96 | "unicode": "e64b", 97 | "unicode_decimal": 58955 98 | }, 99 | { 100 | "icon_id": "3605711", 101 | "name": "加入书架", 102 | "font_class": "jiarushujia3", 103 | "unicode": "e61a", 104 | "unicode_decimal": 58906 105 | }, 106 | { 107 | "icon_id": "5074596", 108 | "name": "精选", 109 | "font_class": "jingxuan1", 110 | "unicode": "e669", 111 | "unicode_decimal": 58985 112 | }, 113 | { 114 | "icon_id": "6197058", 115 | "name": "排行", 116 | "font_class": "top", 117 | "unicode": "e601", 118 | "unicode_decimal": 58881 119 | }, 120 | { 121 | "icon_id": "6382924", 122 | "name": "精选", 123 | "font_class": "jingxuan2", 124 | "unicode": "e610", 125 | "unicode_decimal": 58896 126 | }, 127 | { 128 | "icon_id": "6625193", 129 | "name": "书架 ", 130 | "font_class": "shujia", 131 | "unicode": "e70c", 132 | "unicode_decimal": 59148 133 | }, 134 | { 135 | "icon_id": "6906261", 136 | "name": "分类", 137 | "font_class": "fenlei2", 138 | "unicode": "e602", 139 | "unicode_decimal": 58882 140 | }, 141 | { 142 | "icon_id": "6932993", 143 | "name": "分类", 144 | "font_class": "fenlei3", 145 | "unicode": "e60d", 146 | "unicode_decimal": 58893 147 | }, 148 | { 149 | "icon_id": "7030960", 150 | "name": "个人", 151 | "font_class": "tubiaozhizuomoban", 152 | "unicode": "e603", 153 | "unicode_decimal": 58883 154 | }, 155 | { 156 | "icon_id": "7578152", 157 | "name": "排行", 158 | "font_class": "paihang2", 159 | "unicode": "e604", 160 | "unicode_decimal": 58884 161 | }, 162 | { 163 | "icon_id": "8068494", 164 | "name": "类目 品类 分类 类别-2-01", 165 | "font_class": "leimupinleifenleileibie--", 166 | "unicode": "e60b", 167 | "unicode_decimal": 58891 168 | }, 169 | { 170 | "icon_id": "8770130", 171 | "name": "添加书籍", 172 | "font_class": "tianjiashuji", 173 | "unicode": "e61e", 174 | "unicode_decimal": 58910 175 | }, 176 | { 177 | "icon_id": "8962605", 178 | "name": "书架", 179 | "font_class": "shujia1", 180 | "unicode": "e658", 181 | "unicode_decimal": 58968 182 | }, 183 | { 184 | "icon_id": "9438274", 185 | "name": "个人", 186 | "font_class": "geren", 187 | "unicode": "e68a", 188 | "unicode_decimal": 59018 189 | }, 190 | { 191 | "icon_id": "9464395", 192 | "name": "我 的", 193 | "font_class": "icontab_company_sel", 194 | "unicode": "e605", 195 | "unicode_decimal": 58885 196 | }, 197 | { 198 | "icon_id": "9735949", 199 | "name": "加入书架", 200 | "font_class": "jiarushujia4", 201 | "unicode": "e61f", 202 | "unicode_decimal": 58911 203 | }, 204 | { 205 | "icon_id": "9868854", 206 | "name": "分类", 207 | "font_class": "fenlei4", 208 | "unicode": "e611", 209 | "unicode_decimal": 58897 210 | }, 211 | { 212 | "icon_id": "9936696", 213 | "name": "搜索", 214 | "font_class": "sousuo", 215 | "unicode": "e608", 216 | "unicode_decimal": 58888 217 | }, 218 | { 219 | "icon_id": "10004002", 220 | "name": "书架", 221 | "font_class": "shujia2", 222 | "unicode": "e6a6", 223 | "unicode_decimal": 59046 224 | }, 225 | { 226 | "icon_id": "10090222", 227 | "name": "精选", 228 | "font_class": "qitajingxuan", 229 | "unicode": "e614", 230 | "unicode_decimal": 58900 231 | }, 232 | { 233 | "icon_id": "10662612", 234 | "name": "书城-高亮", 235 | "font_class": "huaban", 236 | "unicode": "e606", 237 | "unicode_decimal": 58886 238 | }, 239 | { 240 | "icon_id": "10755397", 241 | "name": "书架常态", 242 | "font_class": "shujiachangtai", 243 | "unicode": "e607", 244 | "unicode_decimal": 58887 245 | }, 246 | { 247 | "icon_id": "10841161", 248 | "name": "排行", 249 | "font_class": "paihang3", 250 | "unicode": "e65c", 251 | "unicode_decimal": 58972 252 | }, 253 | { 254 | "icon_id": "11265173", 255 | "name": "书架", 256 | "font_class": "shujia3", 257 | "unicode": "e60c", 258 | "unicode_decimal": 58892 259 | } 260 | ] 261 | } 262 | -------------------------------------------------------------------------------- /src/assets/inconfont/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/inconfont/iconfont.ttf -------------------------------------------------------------------------------- /src/assets/inconfont/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/inconfont/iconfont.woff -------------------------------------------------------------------------------- /src/assets/inconfont/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/inconfont/iconfont.woff2 -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/logo.png -------------------------------------------------------------------------------- /src/assets/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dzx-y/vue_readmore/705fedb7dd3e2ac455aa7c67f1d465548f2aaee4/src/assets/user.png -------------------------------------------------------------------------------- /src/components/booksInfo/BooksInfo.vue: -------------------------------------------------------------------------------- 1 | 69 | 70 | 71 | 150 | 151 | -------------------------------------------------------------------------------- /src/components/readbooks/bookContent.vue: -------------------------------------------------------------------------------- 1 | 72 | 73 | 207 | -------------------------------------------------------------------------------- /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 './assets/inconfont/iconfont.css' 6 | 7 | Vue.config.productionTip = false 8 | 9 | import 'mui/css/mui.css' 10 | import 'mui/css/icons-extra.css' 11 | 12 | import MintUI from 'mint-ui' 13 | import 'mint-ui/lib/style.css' 14 | Vue.use(MintUI) 15 | 16 | import 'lib-flexible' 17 | import moment from 'moment' 18 | Vue.filter('dateFormat',function(msg, pattern = "YYYY-MM-DD HH:mm:ss"){ 19 | return moment(msg).format(pattern) 20 | }) 21 | 22 | new Vue({ 23 | router, 24 | store, 25 | render: h => h(App) 26 | }).$mount('#app') 27 | 28 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueRouter from 'vue-router' 3 | const Shelf = ()=> import('@/views/Shelf.vue') 4 | // import Shelf from '@/views/Shelf.vue' 5 | const Sort = ()=>import('@/views/Sort.vue') 6 | // import Sort from '@/views/Sort.vue' 7 | const Good = () => import('@/views/Good.vue') 8 | // import Good from '@/views/Good.vue' 9 | const Ranking =()=> import('@/views/Ranking.vue') 10 | // import Ranking from '@/views/Ranking.vue' 11 | const Personal =()=> import('@/views/Personal.vue') 12 | // import Personal from '@/views/Personal.vue' 13 | const Search =()=> import('@/views/Search.vue') 14 | // import Search from '@/views/Search.vue' 15 | const Sortbooks=()=> import('@/views/Sortbooks.vue') 16 | // import Sortbooks from '@/views/Sortbooks.vue' 17 | const SortbooksInfo=()=>import('@/components/booksInfo/BooksInfo.vue') 18 | // import SortbooksInfo from '@/components/booksInfo/BooksInfo.vue' 19 | // const bookcontent=()=>import('@/components/readbooks/bookContent.vue') 20 | import bookcontent from '@/components/readbooks/bookContent.vue' 21 | import malerankDetail from '@/views/ranks/malerankDetail.vue' 22 | import femalerankDetail from '@/views/ranks/femalerankDetail.vue' 23 | import maleBooksInfo from '@/components/booksInfo/BooksInfo.vue' 24 | import femaleBooksInfo from '@/components/booksInfo/BooksInfo.vue' 25 | import Per from '@/views/per/personre.vue' 26 | import Perinfo from '@/views/per/personinfo.vue' 27 | import Booksearch from '@/views/books/Booksearch.vue' 28 | import BookGoodList from '@/components/booksInfo/BooksInfo.vue' 29 | import BookgirlList from '@/components/booksInfo/BooksInfo.vue' 30 | import Searchbooks from '@/components/booksInfo/BooksInfo.vue' 31 | 32 | import Browere from '@/views/per/bowerect.vue' 33 | import bowerect from '@/components/booksInfo/BooksInfo.vue' 34 | 35 | 36 | Vue.use(VueRouter) 37 | 38 | const routes = [ 39 | { 40 | path: '/', 41 | component: Shelf 42 | }, 43 | { 44 | path: '/Shelf', 45 | component: Shelf 46 | }, 47 | { 48 | path: '/Sort', 49 | component: Sort 50 | }, 51 | { 52 | path: '/Good', 53 | component: Good 54 | }, 55 | { 56 | path: '/Ranking', 57 | component: Ranking 58 | }, 59 | { 60 | path: '/Personal', 61 | component: Personal 62 | }, 63 | { 64 | path: '/Search', 65 | component: Search 66 | }, 67 | { 68 | path: '/Sort/books', 69 | component: Sortbooks, 70 | name:Sortbooks 71 | }, 72 | { 73 | path: '/Sortbooks/sortbooksInfo', 74 | component: SortbooksInfo, 75 | }, 76 | { 77 | path: '/booksinfo/bookcontent', 78 | component: bookcontent, 79 | }, 80 | 81 | { 82 | path: "/ranks/malerankDetail/:id", 83 | component: malerankDetail 84 | }, 85 | { 86 | path: "/ranks/femalerankDetail/:id", 87 | component: femalerankDetail 88 | }, 89 | { 90 | path: "/malerankDetail/maleBooksInfo", 91 | component: maleBooksInfo 92 | }, 93 | { 94 | path: "/femalerankDetail/femaleBooksInfo", 95 | component: femaleBooksInfo 96 | }, 97 | { 98 | path: '/Per/personre', 99 | component: Per 100 | }, 101 | { 102 | path: '/Per/personinfo', 103 | component: Perinfo 104 | }, 105 | { 106 | path: '/books/searchbooks', 107 | component: Booksearch 108 | }, 109 | { 110 | path: '/books/gnumbooks/', 111 | component: BookgirlList 112 | }, 113 | { 114 | path: '/books/numbooks/', 115 | component: BookGoodList 116 | }, 117 | { 118 | path: '/books/searchbooks', 119 | component: Searchbooks 120 | }, 121 | { 122 | path: '/Per/browere', 123 | component: Browere 124 | }, 125 | { 126 | path: '/Bowerect/bowerect', 127 | component: bowerect 128 | }, 129 | 130 | 131 | ] 132 | 133 | const router = new VueRouter({ 134 | routes 135 | }) 136 | 137 | export default router 138 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | import createPersistedState from 'vuex-persistedstate' 4 | 5 | Vue.use(Vuex) 6 | 7 | export default new Vuex.Store({ 8 | state: { 9 | count:0, 10 | books:[], 11 | boot: [] 12 | }, 13 | mutations: { 14 | increment(state) { 15 | state.count+=500 16 | }, 17 | increment2(state) { 18 | state.count+=1000 19 | }, 20 | increment3(state) { 21 | state.count+=3000 22 | }, 23 | increment4(state) { 24 | state.count+=5000 25 | }, 26 | // me 27 | deleate(){ 28 | this.state.books=[] 29 | }, 30 | deleate2(){ 31 | this.state.boot=[] 32 | }, 33 | addTobooks(state,booksinfor){ 34 | var flag = false; 35 | state.books.forEach((item,index)=>{ 36 | if(item.id == booksinfor.id){ 37 | flag = ture; 38 | } 39 | }) 40 | if(flag == false){ 41 | state.books.push(booksinfor); 42 | } 43 | 44 | }, 45 | setbowere(state, booksinto) { 46 | var flag = false; 47 | state.boot.forEach((item,index)=>{ 48 | if(item.id == booksinto.id){ 49 | flag = ture; 50 | } 51 | }) 52 | if(flag == false){ 53 | state.boot.push(booksinto); 54 | } 55 | 56 | } 57 | }, 58 | actions: { 59 | }, 60 | modules: { 61 | }, 62 | getters:{ 63 | }, 64 | plugins: [createPersistedState()] 65 | }) 66 | -------------------------------------------------------------------------------- /src/tools/myaxios.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | import QS from 'qs'; 3 | import { Indicator } from 'mint-ui'; 4 | 5 | axios.defaults.timeout = 10000; 6 | axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; 7 | 8 | var ishow = false; 9 | axios.interceptors.request.use(function(config) { // 拦截请求前的状态 10 | return config; //添加这一行 11 | }) 12 | 13 | axios.interceptors.response.use(function(response) { // 拦截请求后的状态 14 | return response; 15 | }) 16 | 17 | export default function myaxios(method,url,params){ 18 | if(method == "GET"){ 19 | return axios.get(url,{params:params}) 20 | } 21 | else if(method == "POST"){ 22 | var params = QS.stringify(params); 23 | return axios.post(url,params) 24 | } 25 | } 26 | 27 | export const staticPath = 'http://statics.zhuishushenqi.com'; 28 | export const statistics ="/cats/lv2/statistics" //get 29 | export const sortbooks = "/cats/lv2 " //get 30 | export const booksbrief = "/book/by-categories?" 31 | export const bookDetailURL = '/book/' 32 | export const bookDiscussURL = '/post/review/best-by-book?' 33 | export const rankingGenderURL = "/ranking/gender" 34 | export const rankingURL = "/ranking/" 35 | 36 | export const booksChaptersIdURL = '/atoc/?view=summary&book=' 37 | export const booksChaptersURL = '/btoc/' 38 | export const booksTextURL = '/chapter/' 39 | 40 | 41 | //li 42 | export const booksURL = "/book/by-categories?gender=male&type=hot&major=%E7%8E%84%E5%B9%BB&minor=&start=0&limit=20" 43 | export const booksnewURL = "/book/by-categories?gender=male&type=new&major=武侠&minor=&start=0&limit=20" 44 | export const bookgoodURL = "/book/by-categories?gender=female&type=new&major=青春校园&minor=&start=0&limit=20" 45 | export const bookmonthURL = "/book/by-categories?gender=male&type=over&major=都市&minor=&start=0&limit=20" 46 | export const bookmonthsURL = "/book/by-categories?gender=female&type=over&major=现代言情&minor=&start=0&limit=20" 47 | export const bookancientURL = "/book/by-categories?gender=female&type=over&major=古代言情&minor=&start=0&limit=20" 48 | export const hotbookURL = "/book/by-categories?gender=male&type=over&major=科幻&minor=&start=0&limit=20" 49 | export const hotsbookURL = "/book/by-categories?gender=female&type=over&major=青春校园&minor=&start=0&limit=20" 50 | export const bookrankURL = "/book/by-categories?gender=male&type=over&major=军事&minor=&start=0&limit=20" 51 | export const bookranksURL = "/book/by-categories?gender=female&type=reputation&major=现代言情&minor=&start=0&limit=20" 52 | export const booksearchURL = "/book/fuzzy-search?" 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/views/Good.vue: -------------------------------------------------------------------------------- 1 | 83 | 84 | 263 | 264 | 265 | 266 | 382 | 383 | -------------------------------------------------------------------------------- /src/views/Personal.vue: -------------------------------------------------------------------------------- 1 | 140 | 276 | -------------------------------------------------------------------------------- /src/views/Ranking.vue: -------------------------------------------------------------------------------- 1 | 31 | 61 | -------------------------------------------------------------------------------- /src/views/Search.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 14 | 15 | 22 | -------------------------------------------------------------------------------- /src/views/Shelf.vue: -------------------------------------------------------------------------------- 1 | 40 | 41 | 104 | 105 | -------------------------------------------------------------------------------- /src/views/Sort.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /src/views/Sortbooks.vue: -------------------------------------------------------------------------------- 1 | 52 | 53 | 244 | 245 | -------------------------------------------------------------------------------- /src/views/books/Booksearch.vue: -------------------------------------------------------------------------------- 1 | 51 | 52 | 53 | 112 | 113 | -------------------------------------------------------------------------------- /src/views/per/bowerect.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | 82 | 83 | -------------------------------------------------------------------------------- /src/views/per/personinfo.vue: -------------------------------------------------------------------------------- 1 | 37 | 102 | 103 | -------------------------------------------------------------------------------- /src/views/per/personre.vue: -------------------------------------------------------------------------------- 1 | 45 | 110 | 111 | -------------------------------------------------------------------------------- /src/views/ranks/femalerankDetail.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | 71 | 72 | -------------------------------------------------------------------------------- /src/views/ranks/malerankDetail.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | 73 | 74 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'), 2 | 3 | //debug是判断当前是开发环境还是发布环境 4 | debug = process.env.NODE_ENV !== 'production' 5 | 6 | module.exports = { 7 | 8 | //部署应用包时的基本URL,如果是生产环境,部署到 /cli-study/dist 路径;如果是开发环境,部署到根路径 9 | publicPath: process.env.NODE_ENV === 'production' 10 | ? './' 11 | : './', 12 | 13 | //输出文件路径 14 | outputDir: 'dist', 15 | 16 | //放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。 17 | assetsDir: 'static', 18 | 19 | //默认情况下,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存 20 | filenameHashing: true, 21 | 22 | // 是否使用包含运行时编译器的Vue构建版本,设置为 true 后你就可以在 Vue 组件中使用 template 选项了,但是这会让你的应用额外增加 10kb 左右。 23 | runtimeCompiler: true, 24 | 25 | // 默认情况下 babel-loader 会忽略所有 node_modules 中的文件。如果你想要通过 Babel 显式转译一个依赖,可以在这个选项中列出来。 26 | transpileDependencies: [], 27 | 28 | // 发布环境不需要sourceMap 29 | productionSourceMap: false, 30 | 31 | css: { 32 | 33 | // 默认情况下,只有 *.module.[ext] 结尾的文件才会被视作 CSS Modules 模块。设置为 true 后你就可以去掉文件名中的 .module 并将所有的 *.(css|scss|sass|less|styl(us)?) 文件视为 CSS Modules 模块。 34 | modules: false, 35 | 36 | // 是否将组件中的 CSS 提取至一个独立的 CSS 文件中 (而不是动态注入到 JavaScript 中的 inline 代码)。 37 | extract: true, 38 | 39 | // 是否构建样式地图,false 将提高构建速度 40 | sourceMap: true, 41 | 42 | // css预设器配置项 43 | loaderOptions: { 44 | css: { 45 | 46 | //这里的选项会传递给 css-loader 47 | }, 48 | postcss: { 49 | 50 | // 这里的选项会传递给 postcss-loader 51 | } 52 | }, 53 | }, 54 | 55 | //所有 webpack-dev-server 的选项都支持 56 | devServer: { 57 | open: true, 58 | host: '127.0.0.1', 59 | port: 3000, 60 | https: false, 61 | hotOnly: false, 62 | proxy: { 63 | 64 | //凡是请求以api开头的都会使用下面的代理服务器 65 | '/book': { 66 | target: 'http://api.zhuishushenqi.com', // 目标服务器地址 67 | secure: false, // 目标服务器地址是否是安全协议 68 | changeOrigin: true, 69 | // 是否修改来源, 为true时会让目标服务器以为是webpack-dev-server发出的请求!服务端和服务端的请求是没有跨域的 70 | //pathRewrite: {'^/api': '/a'} // 将/api开头的请求地址, /api 改为 /, 即 /api/xx 改为 /xx 71 | }, 72 | '/cats': { 73 | target: 'http://api.zhuishushenqi.com', // 目标服务器地址 74 | secure: false, // 目标服务器地址是否是安全协议 75 | changeOrigin: true, 76 | // 是否修改来源, 为true时会让目标服务器以为是webpack-dev-server发出的请求!服务端和服务端的请求是没有跨域的 77 | //pathRewrite: {'^/api': '/a'} // 将/api开头的请求地址, /api 改为 /, 即 /api/xx 改为 /xx 78 | }, 79 | '/post/*': { 80 | target: 'http://api.zhuishushenqi.com', // 目标服务器地址 81 | secure: false, // 目标服务器地址是否是安全协议 82 | changeOrigin: true, 83 | // 是否修改来源, 为true时会让目标服务器以为是webpack-dev-server发出的请求!服务端和服务端的请求是没有跨域的 84 | //pathRewrite: {'^/api': '/a'} // 将/api开头的请求地址, /api 改为 /, 即 /api/xx 改为 /xx 85 | }, 86 | '/ranking/*': { 87 | target: 'http://api.zhuishushenqi.com', // 目标服务器地址 88 | secure: false, // 目标服务器地址是否是安全协议 89 | changeOrigin: true, 90 | // 是否修改来源, 为true时会让目标服务器以为是webpack-dev-server发出的请求!服务端和服务端的请求是没有跨域的 91 | //pathRewrite: {'^/api': '/a'} // 将/api开头的请求地址, /api 改为 /, 即 /api/xx 改为 /xx 92 | }, 93 | '/btoc': { 94 | target: 'http://api.zhuishushenqi.com', // 目标服务器地址 95 | secure: false, // 目标服务器地址是否是安全协议 96 | changeOrigin: true, 97 | // 是否修改来源, 为true时会让目标服务器以为是webpack-dev-server发出的请求!服务端和服务端的请求是没有跨域的 98 | //pathRewrite: {'^/api': '/a'} // 将/api开头的请求地址, /api 改为 /, 即 /api/xx 改为 /xx 99 | }, 100 | '/atoc': { 101 | target: 'http://api.zhuishushenqi.com', // 目标服务器地址 102 | secure: false, // 目标服务器地址是否是安全协议 103 | changeOrigin: true, 104 | // 是否修改来源, 为true时会让目标服务器以为是webpack-dev-server发出的请求!服务端和服务端的请求是没有跨域的 105 | //pathRewrite: {'^/api': '/a'} // 将/api开头的请求地址, /api 改为 /, 即 /api/xx 改为 /xx 106 | }, 107 | '/chapter': { 108 | target: 'http://chapter2.zhuishushenqi.com', // 目标服务器地址 109 | secure: false, // 目标服务器地址是否是安全协议 110 | changeOrigin: true, 111 | // 是否修改来源, 为true时会让目标服务器以为是webpack-dev-server发出的请求!服务端和服务端的请求是没有跨域的 112 | //pathRewrite: {'^/api': '/a'} // 将/api开头的请求地址, /api 改为 /, 即 /api/xx 改为 /xx 113 | }, 114 | 115 | 116 | 117 | //http://api.zhuishushenqi.com/cats/lv2 118 | } 119 | 120 | //http://127.0.0.1:3000/book/hot-word 121 | 122 | //http://api.zhuishushenqi.com/book/hot-word 123 | }, 124 | 125 | // 第三方插件配置 126 | pluginOptions: {}, 127 | 128 | //调整webpack配置的最简单的方式 129 | configureWebpack: config => { 130 | if (!debug) { 131 | 132 | // 为生产环境修改配置... 133 | config.devtool = '#cheap-module-source-map' 134 | } else { 135 | 136 | // 为开发环境修改配置... 137 | config.devtool = '#cheap-module-eval-source-map' 138 | } 139 | 140 | Object.assign(config, { // 开发生产共同配置 141 | resolve: { 142 | alias: { 143 | '@': path.resolve(__dirname, './src'), 144 | 'vue$': 'vue/dist/vue.js' 145 | } 146 | } 147 | }) 148 | }, 149 | 150 | //webpack的链式编程 151 | chainWebpack: () => { 152 | if (debug) { 153 | 154 | // 本地开发配置 155 | } else { 156 | 157 | // 生产开发配置 158 | } 159 | }, 160 | 161 | /* pages: { 162 | index: { 163 | // page 的入口 164 | entry: 'src/index/main.js', 165 | // 模板来源 166 | template: 'public/index.html', 167 | // 在 dist/index.html 的输出 168 | filename: 'index.html', 169 | // 当使用 title 选项时, 170 | // template 中的 title 标签需要是 <%= htmlWebpackPlugin.options.title %> 171 | title: 'Index Page', 172 | // 在这个页面中包含的块,默认情况下会包含 173 | // 提取出来的通用 chunk 和 vendor chunk。 174 | //chunk参考:https://segmentfault.com/q/1010000016925412/a-1020000016946034 175 | chunks: ['chunk-vendors', 'chunk-common', 'index'] 176 | } 177 | },*/ 178 | lintOnSave: false, 179 | } 180 | --------------------------------------------------------------------------------