yumeng 1 hete
szülő
commit
f5bc7ce2cd

+ 4 - 4
.env.development

@@ -2,9 +2,9 @@
 VUE_APP_BASE_API_URL = http://118.24.244.213:3030
 
 #快手账户报表/素材报表接口地址
-VUE_APP_BASE_REPORT_URL = http://api..bjhcstszkj.cnreportModule
+VUE_APP_BASE_REPORT_URL = http://api.bjhcstszkj.cnreportModule
 # 测试地址 http://gateway..bjhcstszkj.cn
-# 线上地址 http://api..bjhcstszkj.cn
+# 线上地址 http://api.bjhcstszkj.cn
 # 宋英豪 http://192.168.1.67:9999
 # 周泽宇 http://192.168.1.134:9999
 # 杨字安 http://192.168.1.43:9999
@@ -14,12 +14,12 @@ VUE_APP_BASE_SCRIPT_URL = http://192.168.0.195:31013
 
 
 #素材大盘相关接口
-VUE_APP_BASE_MATERIAL_URL = http://api..bjhcstszkj.cn/material
+VUE_APP_BASE_MATERIAL_URL = /material
 # 字安接口 http://192.168.1.43:9999
 # 测试环境 http://192.168.0.195:9999
 # 西安环境 http://192.168.1.59:7006
 
 #盯盘相关接口
-VUE_APP_BASE_STARE_URL = http://api..bjhcstszkj.cn/material
+VUE_APP_BASE_STARE_URL = /material
 # 字安接口 http://192.168.1.43:9999
 # 测试环境 http://192.168.0.195:9999

+ 2 - 2
.env.production

@@ -2,9 +2,9 @@
 VUE_APP_BASE_API_URL = http://118.24.244.213:3030
 
 #账户报表/素材报表接口地址
-VUE_APP_BASE_REPORT_URL = http://api..bjhcstszkj.cn/reportModule
+VUE_APP_BASE_REPORT_URL = http://api.bjhcstszkj.cn/reportModule
 # 测试地址 http://gateway..bjhcstszkj.cn
-# 线上地址 http://api..bjhcstszkj.cn
+# 线上地址 http://api.bjhcstszkj.cn
 
 #脚本视频接口
 VUE_APP_BASE_SCRIPT_URL = http://114.117.193.186:31013

+ 1 - 0
.npmrc

@@ -0,0 +1 @@
+legacy-peer-deps=true

+ 11 - 6
README.md

@@ -18,7 +18,7 @@ Jeecg-boot 的前段UI框架,采用前后端分离方案,提供强大代码
 - JavaScript框架:Vue
 - Webpack
 - node
-- yarn
+- npm
 - eslint
 - @vue/cli 3.2.1
 - [vue-cropper](https://github.com/xyxiao001/vue-cropper) - 头像裁剪组件
@@ -38,22 +38,27 @@ cd  jeecg-boot/ant-design-jeecg-vue
 
 - 安装依赖
 ```
-yarn install
+npm install
 ```
 
 - 开发模式运行
 ```
-yarn run serve
+npm run serve
 ```
 
 - 编译项目
 ```
-yarn run build
+npm run build
 ```
 
 - Lints and fixes files
 ```
-yarn run lint
+npm run lint
+```
+
+- 说明
+```
+项目根目录已提供 .npmrc,并开启 legacy-peer-deps,使用新版本 Node 时直接执行 npm install 即可。
 ```
 
 
@@ -103,4 +108,4 @@ yarn run lint
 备注
 ----
 
-> @vue/cli 升级后,eslint 规则更新了。由于影响到全部 .vue 文件,需要逐个验证。既暂时关闭部分原本不验证的规则,后期维护时,在逐步修正这些 rules
+> @vue/cli 升级后,eslint 规则更新了。由于影响到全部 .vue 文件,需要逐个验证。既暂时关闭部分原本不验证的规则,后期维护时,在逐步修正这些 rules

+ 10 - 9
package.json

@@ -3,8 +3,8 @@
     "version": "2.0.2",
     "private": true,
     "scripts": {
-        "serve": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve",
-        "build": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js  build",
+        "serve": "NODE_OPTIONS=--openssl-legacy-provider node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve",
+        "build": "NODE_OPTIONS=--openssl-legacy-provider node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js  build",
         "lint": "vue-cli-service lint",
         "test:unit": "vue-cli-service test:unit",
         "test:e2e": "vue-cli-service test:e2e"
@@ -16,7 +16,7 @@
         "@riophae/vue-treeselect": "^0.4.0",
         "@tinymce/tinymce-vue": "^2.0.0",
         "ali-oss": "^6.1.1",
-        "ant-design-vue": "^1.3.9",
+        "ant-design-vue": "1.5.2",
         "apexcharts": "^3.6.5",
         "area-data": "^5.0.6",
         "axios": "^0.18.0",
@@ -43,7 +43,7 @@
         "promise.prototype.finally": "^3.1.1",
         "tinymce": "^5.0.2",
         "viser-vue": "^2.4.4",
-        "vue": "^2.6.10",
+        "vue": "2.6.11",
         "vue-apexcharts": "^1.3.2",
         "vue-class-component": "^6.0.0",
         "vue-count-to": "^1.0.13",
@@ -53,19 +53,19 @@
         "vue-layer": "^1.0.2",
         "vue-lazyload": "^1.3.3",
         "vue-loader": "^15.7.0",
-        "vue-ls": "^3.2.0",
+        "vue-ls": "3.2.1",
         "vue-oss-uploader": "^0.1.10",
         "vue-photo-preview": "^1.1.3",
         "vue-preview": "^1.1.3",
         "vue-print-nb": "^1.7.5",
         "vue-print-nb-jeecg": "^1.0.8",
         "vue-property-decorator": "^7.3.0",
-        "vue-router": "^3.0.1",
+        "vue-router": "3.1.6",
         "vue-splitpane": "^1.0.4",
         "vue-video-player": "^5.0.2",
         "vue-waterfall-easy": "^2.4.3",
         "vuedraggable": "^2.20.0",
-        "vuex": "^3.0.1",
+        "vuex": "3.1.2",
         "vuex-class": "^0.3.1"
     },
     "devDependencies": {
@@ -76,17 +76,18 @@
         "@vue/eslint-config-standard": "^4.0.0",
         "babel-eslint": "^10.0.1",
         "babel-plugin-component": "^1.1.1",
+        "cache-loader": "^4.1.0",
         "compression-webpack-plugin": "^5.0.1",
         "eslint": "^5.16.0",
         "eslint-plugin-vue": "^5.1.0",
         "html-webpack-plugin": "^3.2.0",
         "less": "^3.9.0",
         "less-loader": "^4.1.0",
-        "node-sass": "^4.11.0",
+        "sass": "^1.100.0",
         "sass-loader": "^7.0.1",
         "style-resources-loader": "^1.3.2",
         "vue-cli-plugin-style-resources-loader": "^0.1.3",
-        "vue-template-compiler": "^2.6.10",
+        "vue-template-compiler": "2.6.11",
         "webpack": "^4.44.2",
         "webpack-cli": "^6.0.1"
     },

+ 62 - 45
src/utils/request.js

@@ -10,10 +10,10 @@ import {VueAxios} from './axios';
 import {Modal, notification} from 'ant-design-vue';
 import {ACCESS_TOKEN} from '@/store/mutation-types';
 
-const key = '1';
-// 创建 axios 实例
-
-window.axiosCancel = []
+const key = '1';
+// 创建 axios 实例
+
+window.axiosCancel = []
 if (process.env.NODE_ENV === 'development') {
     axios.defaults.baseURL = '/jeecg-boot';
 } else if (process.env.NODE_ENV === 'debug') {
@@ -21,20 +21,32 @@ if (process.env.NODE_ENV === 'development') {
     ACCESS_TOKEN
        axios.defaults.baseURL = 'http://api.bjhcstszkj.cn/jeecg-boot'; // 生产环境
 }
-const service = axios.create({
-    // baseURL: '/jeecg-boot', // api base_url
-    timeout: 6000000, // 请求超时时间
-});
-
-
-const err = (error) => {
-    if (error.esponse) {
-        let data = error.response.data
-        const token = Vue.ls.get(ACCESS_TOKEN)
-        // console.log("------异常响应------", token)
-        // console.log("------异常响应------", error.response.status)
-        switch (error.response.status) {
-            case 403:
+const service = axios.create({
+    // baseURL: '/jeecg-boot', // api base_url
+    timeout: 6000000, // 请求超时时间
+});
+
+const normalizeErrorResult = (error) => {
+    const response = error.response
+    const data = response && typeof response.data === 'object' ? response.data : {}
+    const fallbackMessage = response ? `请求失败(${response.status})` : '网络超时,请刷新页面'
+
+    return {
+        ...data,
+        success: false,
+        code: data.code || (response && response.status) || 500,
+        message: data.message || fallbackMessage
+    }
+}
+
+const err = (error) => {
+    if (error.response) {
+        let data = typeof error.response.data === 'object' ? error.response.data : {}
+        const token = Vue.ls.get(ACCESS_TOKEN)
+        // console.log("------异常响应------", token)
+        // console.log("------异常响应------", error.response.status)
+        switch (error.response.status) {
+            case 403:
                 notification.error({key, message: '系统提示', description: '拒绝访问', duration: 4})
                 break
             case 500:
@@ -75,18 +87,24 @@ const err = (error) => {
                     })
                 }
                 break
-            default:
-                notification.error({
-                    key,
-                    message: '系统提示',
-                    description: data.message,
-                    duration: 4
-                })
-                break
-        }
-    }
-    return Promise.reject(error)
-};
+            default:
+                notification.error({
+                    key,
+                    message: '系统提示',
+                    description: data.message || `请求失败(${error.response.status})`,
+                    duration: 4
+                })
+                break
+        }
+    } else {
+        notification.error({
+            key,
+            message: '系统提示',
+            description: '网络超时,请刷新页面'
+        });
+    }
+    return normalizeErrorResult(error)
+};
 
 // request interceptor
 service.interceptors.request.use(config => {
@@ -112,21 +130,20 @@ service.interceptors.request.use(config => {
 });
 
 // response interceptor
-service.interceptors.response.use((response) => {
-    return response.data;
-}, (error) => {
-    if (axios.isCancel(error)) {
-
-    } else {
-        notification.error({
-            key,
-            message: '系统提示',
-            description: '网络超时,请刷新页面'
-        });
-    }
-
-    return;
-});
+service.interceptors.response.use((response) => {
+    return response.data;
+}, (error) => {
+    if (axios.isCancel(error)) {
+        return Promise.reject(error);
+    }
+
+    if (error.config && error.config.responseType === 'blob') {
+        err(error)
+        return;
+    }
+
+    return err(error);
+});
 
 const installer = {
     vm: {},

+ 6 - 6
src/views/modules/appad/modules/AppAdModal.vue

@@ -373,7 +373,7 @@ export default {
 }
 </script>
 <style lang="scss">
-.ant-carousel >>> .slick-slide {
+.ant-carousel .slick-slide {
   text-align: center;
   //   height: 160px;
   //   line-height: 160px;
@@ -385,10 +385,10 @@ export default {
   padding: 0;
 }
 
-.ant-carousel >>> .slick-slide h3 {
+.ant-carousel .slick-slide h3 {
   color: #fff;
 }
-.ant-carousel >>> .custom-slick-arrow {
+.ant-carousel .custom-slick-arrow {
   width: 25px;
   height: 25px;
   font-size: 25px;
@@ -396,10 +396,10 @@ export default {
   background-color: rgba(31, 45, 61, 0.11);
   opacity: 0.3;
 }
-.ant-carousel >>> .custom-slick-arrow:before {
+.ant-carousel .custom-slick-arrow:before {
   display: none;
 }
-.ant-carousel >>> .custom-slick-arrow:hover {
+.ant-carousel .custom-slick-arrow:hover {
   opacity: 0.5;
 }
 .addetail_left {
@@ -421,4 +421,4 @@ export default {
     background: url(../images/arrow_right.png)!important;
   }
 }
-</style>
+</style>

+ 1 - 1
src/views/modules/autoLaunchRevision/autoLaunchList.vue

@@ -1,5 +1,5 @@
 <style scoped lang="scss">
-/deep/ .ant-drawer-header {
+ ::v-deep  .ant-drawer-header {
     border-bottom: 0px;
 }
 </style>

+ 4 - 4
src/views/modules/autoLaunchRevision/components/configLaunchExploreDrawer.vue

@@ -1,16 +1,16 @@
 <style scoped lang="scss">
-/deep/ .ant-drawer-header {
+ ::v-deep  .ant-drawer-header {
     border-bottom: 0px;
     padding: 0;
 }
-/deep/.ant-drawer-body {
+ ::v-deep .ant-drawer-body {
     padding-top: 0;
 }
-/deep/.ant-tooltip-inner {
+ ::v-deep .ant-tooltip-inner {
     color: #fff !important;
     background-color: rgba(0, 0, 0, 0.75) !important;
 }
-/deep/.ant-tooltip-arrow::before {
+ ::v-deep .ant-tooltip-arrow::before {
     color: #fff !important;
     background-color: rgba(0, 0, 0, 0.75) !important;
 }

+ 1 - 1
src/views/modules/autoLaunchRevision/components/templateModal.vue

@@ -35,7 +35,7 @@
 </style>
 <style lang="scss" scoped>
 .require-check {
-    /deep/ .ant-form-item-label {
+     ::v-deep  .ant-form-item-label {
         label::before {
             display: inline-block;
             margin-right: 4px;

+ 8 - 8
src/views/modules/autoLaunchRevision/createLaunch.vue

@@ -27,16 +27,16 @@
     position: relative;
     top: 5px;
 }
-/deep/.display-none-selset {
+ ::v-deep .display-none-selset {
     display: none !important;
 }
 .step-jump {
-    /deep/ table tr td {
+     ::v-deep  table tr td {
         border-bottom: 0px;
     }
 }
 .bottom-to-one {
-    /deep/ .ant-form-item {
+     ::v-deep  .ant-form-item {
         margin-bottom: 0;
     }
 }
@@ -46,10 +46,10 @@
 .card-person {
     width: 300px;
     margin-right: 10px;
-    /deep/.ant-card-body {
+     ::v-deep .ant-card-body {
         padding: 0px;
     }
-    /deep/.ant-card-head {
+     ::v-deep .ant-card-head {
         padding: 0px 10px;
     }
     .card-main-case {
@@ -161,15 +161,15 @@ li.chouzhen.first:before {
     }
 }
 
-/deep/ .ant-descriptions-item-content {
+ ::v-deep  .ant-descriptions-item-content {
     font-weight: bold;
 }
 
 .info-detail {
-    /deep/ table tr td {
+     ::v-deep  table tr td {
         border: 0;
     }
-    /deep/ .ant-descriptions-item-label {
+     ::v-deep  .ant-descriptions-item-label {
         color: darkgray;
         // min-width: 30px;
         white-space: nowrap;

+ 6 - 6
src/views/modules/material/supplierMaterial.vue

@@ -20,7 +20,7 @@
     margin-bottom: 10px !important;
   }
 
-  .ant-carousel>>>.slick-slide {
+  .ant-carousel .slick-slide {
     text-align: center;
     //   height: 160px;
     //   line-height: 160px;
@@ -32,11 +32,11 @@
     padding: 0;
   }
 
-  .ant-carousel>>>.slick-slide h3 {
+  .ant-carousel .slick-slide h3 {
     color: #fff;
   }
 
-  .ant-carousel>>>.custom-slick-arrow {
+  .ant-carousel .custom-slick-arrow {
     width: 25px;
     height: 25px;
     font-size: 25px;
@@ -45,11 +45,11 @@
     opacity: 0.3;
   }
 
-  .ant-carousel>>>.custom-slick-arrow:before {
+  .ant-carousel .custom-slick-arrow:before {
     display: none;
   }
 
-  .ant-carousel>>>.custom-slick-arrow:hover {
+  .ant-carousel .custom-slick-arrow:hover {
     opacity: 0.5;
   }
 
@@ -978,4 +978,4 @@
 </script>
 <style scoped>
   @import '~@assets/less/common.less';
-</style>
+</style>

+ 6 - 6
src/views/oceanengine/modules/AppAdModal.vue

@@ -303,7 +303,7 @@ export default {
 }
 </script>
 <style lang="scss">
-.ant-carousel >>> .slick-slide {
+.ant-carousel .slick-slide {
   text-align: center;
   //   height: 160px;
   //   line-height: 160px;
@@ -315,10 +315,10 @@ export default {
   padding: 0;
 }
 
-.ant-carousel >>> .slick-slide h3 {
+.ant-carousel .slick-slide h3 {
   color: #fff;
 }
-.ant-carousel >>> .custom-slick-arrow {
+.ant-carousel .custom-slick-arrow {
   width: 25px;
   height: 25px;
   font-size: 25px;
@@ -326,10 +326,10 @@ export default {
   background-color: rgba(31, 45, 61, 0.11);
   opacity: 0.3;
 }
-.ant-carousel >>> .custom-slick-arrow:before {
+.ant-carousel .custom-slick-arrow:before {
   display: none;
 }
-.ant-carousel >>> .custom-slick-arrow:hover {
+.ant-carousel .custom-slick-arrow:hover {
   opacity: 0.5;
 }
 .addetail_left {
@@ -351,4 +351,4 @@ export default {
     background: url(../images/arrow_right.png)!important;
   }
 }
-</style>
+</style>

+ 6 - 6
src/views/oceanengine/modules/EffectCaseModal.vue

@@ -310,7 +310,7 @@ export default {
 }
 </script>
 <style lang="scss">
-.ant-carousel >>> .slick-slide {
+.ant-carousel .slick-slide {
   text-align: center;
   //   height: 160px;
   //   line-height: 160px;
@@ -322,10 +322,10 @@ export default {
   padding: 0;
 }
 
-.ant-carousel >>> .slick-slide h3 {
+.ant-carousel .slick-slide h3 {
   color: #fff;
 }
-.ant-carousel >>> .custom-slick-arrow {
+.ant-carousel .custom-slick-arrow {
   width: 25px;
   height: 25px;
   font-size: 25px;
@@ -333,10 +333,10 @@ export default {
   background-color: rgba(31, 45, 61, 0.11);
   opacity: 0.3;
 }
-.ant-carousel >>> .custom-slick-arrow:before {
+.ant-carousel .custom-slick-arrow:before {
   display: none;
 }
-.ant-carousel >>> .custom-slick-arrow:hover {
+.ant-carousel .custom-slick-arrow:hover {
   opacity: 0.5;
 }
 .addetail_left {
@@ -358,4 +358,4 @@ export default {
     background: url(../images/arrow_right.png)!important;
   }
 }
-</style>
+</style>

+ 6 - 6
src/views/oceanengine/modules/HotMaterialModal.vue

@@ -296,7 +296,7 @@ export default {
 }
 </script>
 <style lang="scss">
-.ant-carousel >>> .slick-slide {
+.ant-carousel .slick-slide {
   text-align: center;
   //   height: 160px;
   //   line-height: 160px;
@@ -308,10 +308,10 @@ export default {
   padding: 0;
 }
 
-.ant-carousel >>> .slick-slide h3 {
+.ant-carousel .slick-slide h3 {
   color: #fff;
 }
-.ant-carousel >>> .custom-slick-arrow {
+.ant-carousel .custom-slick-arrow {
   width: 25px;
   height: 25px;
   font-size: 25px;
@@ -319,10 +319,10 @@ export default {
   background-color: rgba(31, 45, 61, 0.11);
   opacity: 0.3;
 }
-.ant-carousel >>> .custom-slick-arrow:before {
+.ant-carousel .custom-slick-arrow:before {
   display: none;
 }
-.ant-carousel >>> .custom-slick-arrow:hover {
+.ant-carousel .custom-slick-arrow:hover {
   opacity: 0.5;
 }
 .addetail_left {
@@ -344,4 +344,4 @@ export default {
     background: url(../images/arrow_right.png)!important;
   }
 }
-</style>
+</style>

+ 5 - 5
src/views/openMindCreativity/modules/AppAdModal.vue

@@ -272,7 +272,7 @@ export default {
 }
 </script>
 <style lang="scss">
-.ant-carousel >>> .slick-slide {
+.ant-carousel .slick-slide {
   text-align: center;
   //   height: 160px;
   //   line-height: 160px;
@@ -284,10 +284,10 @@ export default {
   padding: 0;
 }
 
-.ant-carousel >>> .slick-slide h3 {
+.ant-carousel .slick-slide h3 {
   color: #fff;
 }
-.ant-carousel >>> .custom-slick-arrow {
+.ant-carousel .custom-slick-arrow {
   width: 25px;
   height: 25px;
   font-size: 25px;
@@ -295,10 +295,10 @@ export default {
   background-color: rgba(31, 45, 61, 0.11);
   opacity: 0.3;
 }
-.ant-carousel >>> .custom-slick-arrow:before {
+.ant-carousel .custom-slick-arrow:before {
   display: none;
 }
-.ant-carousel >>> .custom-slick-arrow:hover {
+.ant-carousel .custom-slick-arrow:hover {
   opacity: 0.5;
 }
 .addetail_left {

+ 5 - 5
src/views/openMindCreativity/modules/analysisModal.vue

@@ -272,7 +272,7 @@ export default {
 }
 </script>
 <style lang="scss">
-.ant-carousel >>> .slick-slide {
+.ant-carousel .slick-slide {
   text-align: center;
   //   height: 160px;
   //   line-height: 160px;
@@ -284,10 +284,10 @@ export default {
   padding: 0;
 }
 
-.ant-carousel >>> .slick-slide h3 {
+.ant-carousel .slick-slide h3 {
   color: #fff;
 }
-.ant-carousel >>> .custom-slick-arrow {
+.ant-carousel .custom-slick-arrow {
   width: 25px;
   height: 25px;
   font-size: 25px;
@@ -295,10 +295,10 @@ export default {
   background-color: rgba(31, 45, 61, 0.11);
   opacity: 0.3;
 }
-.ant-carousel >>> .custom-slick-arrow:before {
+.ant-carousel .custom-slick-arrow:before {
   display: none;
 }
-.ant-carousel >>> .custom-slick-arrow:hover {
+.ant-carousel .custom-slick-arrow:hover {
   opacity: 0.5;
 }
 .addetail_left {

+ 5 - 5
src/views/openMindCreativity/modules/creativeModal.vue

@@ -272,7 +272,7 @@ export default {
 }
 </script>
 <style lang="scss">
-.ant-carousel >>> .slick-slide {
+.ant-carousel .slick-slide {
   text-align: center;
   //   height: 160px;
   //   line-height: 160px;
@@ -284,10 +284,10 @@ export default {
   padding: 0;
 }
 
-.ant-carousel >>> .slick-slide h3 {
+.ant-carousel .slick-slide h3 {
   color: #fff;
 }
-.ant-carousel >>> .custom-slick-arrow {
+.ant-carousel .custom-slick-arrow {
   width: 25px;
   height: 25px;
   font-size: 25px;
@@ -295,10 +295,10 @@ export default {
   background-color: rgba(31, 45, 61, 0.11);
   opacity: 0.3;
 }
-.ant-carousel >>> .custom-slick-arrow:before {
+.ant-carousel .custom-slick-arrow:before {
   display: none;
 }
-.ant-carousel >>> .custom-slick-arrow:hover {
+.ant-carousel .custom-slick-arrow:hover {
   opacity: 0.5;
 }
 .addetail_left {

+ 136 - 131
vue.config.js

@@ -1,131 +1,136 @@
-const path = require('path')
-const CompressionPlugin = require('compression-webpack-plugin')
-const TerserPlugin = require("terser-webpack-plugin");
-function resolve(dir) {
-  return path.join(__dirname, dir)
-}
-// var appData = require('./json/video.json')//加载本地数据文件
-
-// vue.config.js
-module.exports = {
-  /*
-    Vue-cli3:
-    Crashed when using Webpack `import()` #2463
-    https://github.com/vuejs/vue-cli/issues/2463
-   */
-  // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
-  productionSourceMap: false,
-  /*
-  pages: {
-    index: {
-      entry: 'src/main.js',
-      chunks: ['chunk-vendors', 'chunk-common', 'index']
-    }
-  },
-  */
-  configureWebpack: () => {
-    if (process.env.NODE_ENV === 'production') {
-      return {
-        plugins: [new CompressionPlugin({
-          test: /\.js$|\.html$|\.css/,
-          threshold: 10240,
-          deleteOriginalAssets: false
-        }), new TerserPlugin({
-          cache: true,//降版本后添加
-          sourceMap: false,//降版本后添加
-          // 多进程
-          parallel: true,//降版本后添加
-          terserOptions: {
-            ecma: undefined,
-            warnings: false,
-            parse: {},
-            compress: {
-              drop_console: true,
-              drop_debugger: false,
-              pure_funcs: ['console.log'], // 移除console
-            },
-          },
-        }),]
-      }
-    }
-  },
-
-  chainWebpack: (config) => {
-    config.resolve.alias
-      .set('@$', resolve('src'))
-      .set('@base', resolve('src/base'))
-      .set('@api', resolve('src/api'))
-      .set('@assets', resolve('src/assets'))
-      .set('@comp', resolve('src/components'))
-      .set('@views', resolve('src/views'))
-      .set('@layout', resolve('src/layout'))
-      .set('@static', resolve('src/static'));
-    config.plugins.delete('prefetch')
-  },
-  pluginOptions: {
-    'style-resources-loader': {
-      preProcessor: 'less',
-      patterns: [
-        resolve('src/styles/var.less'),
-        resolve('src/styles/mixin.less')
-      ]
-    }
-  },
-  css: {
-    loaderOptions: {
-      less: {
-        modifyVars: {
-          /* less 变量覆盖,用于自定义 ant design 主题 */
-
-          /*
-          'primary-color': '#F5222D',
-          'link-color': '#F5222D',
-          'border-radius-base': '4px',
-          */
-        },
-        javascriptEnabled: true,
-      }
-    }
-  },
-
-  devServer: {
-    hot: true,
-    // inline: true,
-    port: 3000,
-    open: true,
-    proxy: {
-      '/jeecg-boot': {
-        // target: 'http://192.168.1.22:7001', //请求本地 需要jeecg-boot后台项目  蒙蒙
-        // target: 'http://192.168.1.181:7001', //请求本地 需要jeecg-boot后台项目  赵西安
-        // target: 'http://192.168.1.193:8080', //请求本地 需要jeecg-boot后台项目  李煜一
-        // target: 'http://192.168.1.193:31012', //请求本地 需要jeecg-boot后台项目  李煜一
-        target: 'http://api.bjhcstszkj.cn', //请求本地 需要jeecg-boot后台项目
-        // target: 'http://39.106.184.70:8088/', //请求本地 需要jeecg-boot后台项目
-        // target: 'http://192.168.1.251/', //请求本地 需要jeecg-boot后台项目
-        // target:'http://127.0.0.1:7001',
-        // target: 'http://192.168.1.43:9999', // 子安
-        // target: 'http://192.168.1.8:9999', // 学超
-        // target:'http://192.168.0.195:9999',//测试
-
-
-        ws: false,
-
-        // changeOrigin: true,
-        // pathRewrite: {
-        //     '/jeecg-boot': ''  //默认所有请求都加了jeecg-boot前缀,需要去掉
-        // }
-      },
-    },
-    // before(app) {
-    //     app.get('/seller', (req, res) => {
-    //         res.json({
-    //           errno: 0,
-    //           data: appData
-    //         })//接口返回json数据,上面配置的数据seller就赋值给data请求后调用
-    //     })
-    // }
-  },
-
-  lintOnSave: undefined,
-  //   publicPath:'./',
-}
+const path = require('path')
+const CompressionPlugin = require('compression-webpack-plugin')
+const TerserPlugin = require("terser-webpack-plugin");
+function resolve(dir) {
+  return path.join(__dirname, dir)
+}
+// var appData = require('./json/video.json')//加载本地数据文件
+
+// vue.config.js
+module.exports = {
+  /*
+    Vue-cli3:
+    Crashed when using Webpack `import()` #2463
+    https://github.com/vuejs/vue-cli/issues/2463
+   */
+  // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
+  productionSourceMap: false,
+  /*
+  pages: {
+    index: {
+      entry: 'src/main.js',
+      chunks: ['chunk-vendors', 'chunk-common', 'index']
+    }
+  },
+  */
+  configureWebpack: () => {
+    if (process.env.NODE_ENV === 'production') {
+      return {
+        plugins: [new CompressionPlugin({
+          test: /\.js$|\.html$|\.css/,
+          threshold: 10240,
+          deleteOriginalAssets: false
+        }), new TerserPlugin({
+          cache: true,//降版本后添加
+          sourceMap: false,//降版本后添加
+          // 多进程
+          parallel: true,//降版本后添加
+          terserOptions: {
+            ecma: undefined,
+            warnings: false,
+            parse: {},
+            compress: {
+              drop_console: true,
+              drop_debugger: false,
+              pure_funcs: ['console.log'], // 移除console
+            },
+          },
+        }),]
+      }
+    }
+  },
+
+  chainWebpack: (config) => {
+    config.resolve.alias
+      .set('@$', resolve('src'))
+      .set('@base', resolve('src/base'))
+      .set('@api', resolve('src/api'))
+      .set('@assets', resolve('src/assets'))
+      .set('@comp', resolve('src/components'))
+      .set('@views', resolve('src/views'))
+      .set('@layout', resolve('src/layout'))
+      .set('@static', resolve('src/static'));
+    config.plugins.delete('prefetch')
+  },
+  pluginOptions: {
+    'style-resources-loader': {
+      preProcessor: 'less',
+      patterns: [
+        resolve('src/styles/var.less'),
+        resolve('src/styles/mixin.less')
+      ]
+    }
+  },
+  css: {
+    loaderOptions: {
+      less: {
+        modifyVars: {
+          /* less 变量覆盖,用于自定义 ant design 主题 */
+
+          /*
+          'primary-color': '#F5222D',
+          'link-color': '#F5222D',
+          'border-radius-base': '4px',
+          */
+        },
+        javascriptEnabled: true,
+      }
+    }
+  },
+
+  devServer: {
+    hot: true,
+    // inline: true,
+    port: 3000,
+    open: true,
+    proxy: {
+      '/jeecg-boot/material': {
+        target: 'http://127.0.0.1:7006',
+        ws: false,
+        changeOrigin: true,
+        pathRewrite: {
+          '^/jeecg-boot/material': '/material'
+        }
+      },
+      '/jeecg-boot': {
+         target: 'http://127.0.0.1:7001', //请求本地 需要jeecg-boot后台项目  蒙蒙
+       //  target: 'http://api.bjhcstszkj.cn', //请求本地 需要jeecg-boot后台项目
+
+
+
+        ws: false,
+
+        // changeOrigin: true,
+        // pathRewrite: {
+        //     '/jeecg-boot': ''  //默认所有请求都加了jeecg-boot前缀,需要去掉
+        // }
+      },
+      '/material': {
+        target: 'http://127.0.0.1:7006',
+        ws: false,
+        changeOrigin: true
+      },
+    },
+    // before(app) {
+    //     app.get('/seller', (req, res) => {
+    //         res.json({
+    //           errno: 0,
+    //           data: appData
+    //         })//接口返回json数据,上面配置的数据seller就赋值给data请求后调用
+    //     })
+    // }
+  },
+
+  lintOnSave: undefined,
+  //   publicPath:'./',
+}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 11757
yarn.lock