From d5bba30d2b232d5681981ec3e5806fae2db5b920 Mon Sep 17 00:00:00 2001 From: YWQ HK IX <568170040@qq.com> Date: Wed, 8 Feb 2023 00:47:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=AF=B7=E6=B1=82=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E6=8B=A6=E6=88=AA=E5=99=A8#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/api/chooseModel.js | 38 ++++++ src/api/myPage.js | 14 ++ src/utils/request.js | 64 ++++----- src/views/login/login.vue | 2 +- src/views/model/chooseModel.vue | 222 +++++++------------------------- src/views/myPage/myPage.vue | 40 ++---- vue.config.js | 28 ++-- yarn.lock | 64 +++++---- 9 files changed, 197 insertions(+), 277 deletions(-) create mode 100644 src/api/chooseModel.js create mode 100644 src/api/myPage.js diff --git a/package.json b/package.json index 1bcf46b..15386bd 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "build": "vue-cli-service build" }, "dependencies": { - "axios": "^0.27.2", + "axios": "0.18.1", "element-ui": "^2.15.12", "lib-flexible": "^0.3.2", "postcss-px2rem": "^0.3.0", diff --git a/src/api/chooseModel.js b/src/api/chooseModel.js new file mode 100644 index 0000000..a5c6a86 --- /dev/null +++ b/src/api/chooseModel.js @@ -0,0 +1,38 @@ +import request from '@/utils/request' + +/** + * @description 获取模板列表 + * @param {number} sex + * @returns data + */ +export function getModeList(sex) { + return request({ + url: `/api/mouldPatch/list?sex=${sex}&type=1&pageNum=1&pageSize=10`, + method: 'get' + }) +} + +/** + * @description:根据id获取模板详情 + * @param {number} id + * @return data + */ +export function getModeDetailById(id) { + return request({ + url: `/api/mouldPatch/findById?id=${id}`, + method: 'get' + }) +} + +/** + * @description:保存或修改用户作品 + * @param {object} data + * @return data + */ +export function saveOrUpdateUserVideo(data) { + return request({ + url: `/api/userVideo/saveOrUpdate`, + method: 'post', + data: data + }) +} \ No newline at end of file diff --git a/src/api/myPage.js b/src/api/myPage.js new file mode 100644 index 0000000..8ee4579 --- /dev/null +++ b/src/api/myPage.js @@ -0,0 +1,14 @@ +import request from '@/utils/request' + +/** + * @description 获取作品列表 + * @param {number} pageParams (pageNum, pageSize) + * @returns data + */ +export function getVideoList(pageNum, pageSize) { + return request({ + url: `/api/userVideo/list?pageNum=${pageNum}&pageSize=${pageSize}`, + method: 'get' + }) +} + diff --git a/src/utils/request.js b/src/utils/request.js index 7a8cb5a..bf9e678 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,9 +1,13 @@ import axios from 'axios' import router from '@/router' +import { Toast } from 'vant' + +// 基础地址 +const baseURL = 'https://smapitest.malls.iformall.com/C' // 创建axios实例 const request = axios.create({ - baseURL: 'https://smapitest.malls.iformall.com/C', + baseURL, timeout: 5000 }) @@ -24,40 +28,28 @@ request.interceptors.request.use( ) // 响应拦截器 -// service.interceptors.response.use( -// // response/error为回调值 -// function (response) { -// // 当前业务需求中success状态为false为错误响应 -// if (response.data.success) { -// // 正常的业务需求返回 -// return response.data -// } else { -// // 抛出错误 -// return Promise.reject(response.data) -// } -// }, -// function (error) { -// // 当token失效或损坏时 -// if (error.response.status === 401 && error.response.data.code === 10002) { -// MessageBox.confirm('登录已过期,请重新登录', '提示', { -// confirmButtonText: '确定', -// cancelButtonText: '取消', -// type: 'warning' -// }) -// .then(() => { -// // 清除失效或损坏的token -// store.dispatch('user/logout') -// // 跳转至登录页以重新获取token -// console.log(router) -// router.push( -// '/login?return_url=' + -// encodeURIComponent(router.currentRoute.fullPath) -// ) -// }) -// .catch(() => { }) -// } -// return Promise.reject(error) -// } -// ) +request.interceptors.response.use( + // response为返回值 + function (response) { + // 弹出错误 + if (response.data.code != 200) { + // 当token过期或损坏时 + if (response.data.code == 1052) { + router.push("/login"); + Toast.fail("登录过期,请重新登录!"); + // 其他错误 + } else { + Toast.fail(response.data.message); + } + } else { + // 正常返回 + return response.data + // 抛出错误 + // return Promise.reject() + } + }, + function (error) { + } +) export default request \ No newline at end of file diff --git a/src/views/login/login.vue b/src/views/login/login.vue index 6ac1759..33bd5de 100644 --- a/src/views/login/login.vue +++ b/src/views/login/login.vue @@ -441,7 +441,7 @@ export default { } } } -/deep/ .el-input__inner { +::v-deep .el-input__inner { height: 42px; border: 1px solid #0068b7; } diff --git a/src/views/model/chooseModel.vue b/src/views/model/chooseModel.vue index a6649cb..d777f94 100644 --- a/src/views/model/chooseModel.vue +++ b/src/views/model/chooseModel.vue @@ -51,6 +51,11 @@ import HeadTop from "./../../components/common/head.vue"; import { Toast } from "vant"; import baseUrl from "../../api/baseUrl"; import scrollToID from "../../utils/scrollToID"; +import { + getModeList, + getModeDetailById, + saveOrUpdateUserVideo, +} from "../../api/chooseModel"; Vue.use(Toast); export default { @@ -59,94 +64,8 @@ export default { }, data() { return { - type: 0, + type: 2, currentId: "", - // modeList: [ - // { - // id: 1, - // salePriceStr: "0", - // priceStr: "0", - // type: 1, - // coverImg: - // "https://formall.oss-accelerate.aliyuncs.com/789/d9870b5c-7eec-46ea-8d6c-47b5a1fbe6dd.jpg", - // coverPicture: - // '["https://formall.oss-accelerate.aliyuncs.com/789/d9870b5c-7eec-46ea-8d6c-47b5a1fbe6dd.jpg"]', - // title: "测试1", - // sex: 2, - // age: 10, - // colour: 1, - // salePrice: 0, - // price: 0, - // sendType: 1, - // mouldSmId: "16739389169485046_nVi875Ej", - // status: 1, - // createDate: 1673976448000, - // updateDate: 1673976448000, - // }, - // { - // id: 2, - // salePriceStr: "0", - // priceStr: "0", - // type: 1, - // coverImg: - // "https://formall.oss-accelerate.aliyuncs.com/789/d9870b5c-7eec-46ea-8d6c-47b5a1fbe6dd.jpg", - // coverPicture: - // '["https://formall.oss-accelerate.aliyuncs.com/789/d9870b5c-7eec-46ea-8d6c-47b5a1fbe6dd.jpg"]', - // title: "测试1", - // sex: 2, - // age: 10, - // colour: 1, - // salePrice: 0, - // price: 0, - // sendType: 1, - // mouldSmId: "16739389169485046_nVi875Ej", - // status: 1, - // createDate: 1673976448000, - // updateDate: 1673976448000, - // }, - // { - // id: 3, - // salePriceStr: "0", - // priceStr: "0", - // type: 1, - // coverImg: - // "https://formall.oss-accelerate.aliyuncs.com/789/d9870b5c-7eec-46ea-8d6c-47b5a1fbe6dd.jpg", - // coverPicture: - // '["https://formall.oss-accelerate.aliyuncs.com/789/d9870b5c-7eec-46ea-8d6c-47b5a1fbe6dd.jpg"]', - // title: "测试1", - // sex: 2, - // age: 10, - // colour: 1, - // salePrice: 0, - // price: 0, - // sendType: 1, - // mouldSmId: "16739389169485046_nVi875Ej", - // status: 1, - // createDate: 1673976448000, - // updateDate: 1673976448000, - // }, - // { - // id: 4, - // salePriceStr: "0", - // priceStr: "0", - // type: 1, - // coverImg: - // "https://formall.oss-accelerate.aliyuncs.com/789/d9870b5c-7eec-46ea-8d6c-47b5a1fbe6dd.jpg", - // coverPicture: - // '["https://formall.oss-accelerate.aliyuncs.com/789/d9870b5c-7eec-46ea-8d6c-47b5a1fbe6dd.jpg"]', - // title: "测试1", - // sex: 2, - // age: 10, - // colour: 1, - // salePrice: 0, - // price: 0, - // sendType: 1, - // mouldSmId: "16739389169485046_nVi875Ej", - // status: 1, - // createDate: 1673976448000, - // updateDate: 1673976448000, - // }, - // ], modeList: [], // 模板列表 }; }, @@ -173,63 +92,55 @@ export default { chooseType(num) { this.type = num; - this.getModeList(num); + this.loadModeList(num); + }, + + selectModel(id) { + if (this.currentId != id) { + this.currentId = id; + } else { + this.getModeDetail(id); + } }, // 获取模板列表 - getModeList(sex) { - const AccessToken = localStorage.getItem("AccessToken"); - if (sex == 0) { - sex = ""; + async loadModeList(sex) { + try { + const res = await getModeList(sex); + console.log(res, "获取模板列表"); + this.modeList = res.data.list; + } catch (error) { + console.log(error); + Toast.fail(error.message); } - this.$axios({ - method: "get", - url: `${baseUrl}/api/mouldPatch/list?sex=${sex}&type=1&pageNum=1&pageSize=10`, - headers: { - "Content-Type": "application/json;charset=UTF-8", - token: AccessToken, - }, - }) - .then((res) => { - if (res.data.code == 1052) { - this.$router.push("/login"); - Toast.fail("登录过期,请重新登录!"); - return; - } - this.modeList = res.data.data.list; - }) - .catch((err) => { - Toast.fail(err.message); - }); }, - /** - * @description:根据id获取模板详情 - * @param {type} id - * @return:data - */ - getModeDetail(id) { - const AccessToken = localStorage.getItem("AccessToken"); - this.$axios({ - method: "get", - url: `${baseUrl}/api/mouldPatch/findById?id=${id}`, - headers: { - "Content-Type": "application/json;charset=UTF-8", - token: AccessToken, - }, - }) - .then((res) => { - if (res.data.code == 1052) { - this.$router.push("/login"); - Toast.fail("登录过期,请重新登录!"); - return; - } - const modelDetail = res.data.data; - this.goSetPaperWork(modelDetail); - }) - .catch((err) => { - Toast.fail(err.message); + async getModeDetail(id) { + try { + const res = await getModeDetailById(id); + console.log(res, "根据id获取模板详情"); + const modelDetail = res.data; + this.goSetPaperWork(modelDetail); + } catch (error) { + console.log(error); + Toast.fail(error.message); + } + }, + + async saveToSetPaper(data, modelDetail) { + try { + const res = await saveOrUpdateUserVideo(data); + console.log(res, "保存或修改用户作品"); + this.$router.push({ + path: "/getPaper", + query: { + modelDetail: modelDetail, + }, }); + } catch (error) { + console.log(error); + Toast.fail(error.message); + } }, /** @@ -238,7 +149,6 @@ export default { * @event:Go page => setPaperWork */ goSetPaperWork(modelDetail) { - const AccessToken = localStorage.getItem("AccessToken"); const data = { // id: "", type: 1, @@ -247,46 +157,14 @@ export default { // voiceMouldId: "", // voiceMouldId: "", }; - this.$axios({ - method: "post", - url: `${baseUrl}/api/userVideo/saveOrUpdate`, - headers: { - "Content-Type": "application/json;charset=UTF-8", - token: AccessToken, - }, - data, - }) - .then((res) => { - if (res.data.code == 1052) { - this.$router.push("/login"); - Toast.fail("登录过期,请重新登录!"); - return; - } - this.$router.push({ - path: "/getPaper", - query: { - modelDetail: modelDetail, - }, - }); - }) - .catch((err) => { - Toast.fail(err.message); - }); - }, - - selectModel(id) { - if (this.currentId != id) { - this.currentId = id; - } else { - this.getModeDetail(id); - } + this.saveToSetPaper(data, modelDetail); }, }, mounted() { scrollToID("top"); }, created() { - this.getModeList(0); + this.loadModeList(2); }, }; diff --git a/src/views/myPage/myPage.vue b/src/views/myPage/myPage.vue index eb83a97..8a149a4 100644 --- a/src/views/myPage/myPage.vue +++ b/src/views/myPage/myPage.vue @@ -53,9 +53,9 @@ import Vue from "vue"; import HeadTop from "./../../components/common/head.vue"; import { mapState, mapActions } from "vuex"; import { Toast } from "vant"; -import baseUrl from "../../api/baseUrl"; import timestampToTime from "../../utils/timestampToTime"; import scrollToID from "../../utils/scrollToID"; +import { getVideoList } from "../../api/myPage"; Vue.use(Toast); export default { @@ -66,6 +66,7 @@ export default { return { videoList: [], currentPage: 1, + pageSize: 5, total: "", }; }, @@ -87,7 +88,7 @@ export default { }, pageChange() { - this.getVideoList(this.currentPage); + this.loadVideoList(this.currentPage, this.pageSize); }, goDetail(item) { @@ -113,29 +114,16 @@ export default { } }, - getVideoList(pageNum) { - const AccessToken = localStorage.getItem("AccessToken"); - this.$axios({ - method: "get", - url: `${baseUrl}/api/userVideo/list?pageNum=${pageNum}&pageSize=4`, - headers: { - "Content-Type": "application/json;charset=UTF-8", - token: AccessToken, - }, - }) - .then((res) => { - console.log(res.data); - if (res.data.code == 1052) { - this.$router.push("/login"); - Toast.fail("登录过期,请重新登录!"); - return; - } - this.videoList = res.data.data.list; - this.total = res.data.data.total; - }) - .catch((err) => { - Toast.fail(err.message); - }); + async loadVideoList(pageNum, pageSize) { + try { + const res = await getVideoList(pageNum, pageSize); + console.log(res, "获取作品列表"); + this.videoList = res.data.list; + this.total = res.data.total; + } catch (error) { + console.log(error); + Toast.fail(error.message); + } }, goCreateNew() { @@ -146,7 +134,7 @@ export default { scrollToID("top"); }, created() { - this.getVideoList(1); + this.loadVideoList(1, this.pageSize); }, }; diff --git a/vue.config.js b/vue.config.js index 011312f..fe808c9 100644 --- a/vue.config.js +++ b/vue.config.js @@ -47,19 +47,19 @@ module.exports = { lintOnSave: false, publicPath: './', // 打包后引用的资源路径 - // configureWebpack: { - // plugins: [ - // //打包环境去掉console.log - // new UglifyJsPlugin({ - // uglifyOptions: { - // compress: { - // drop_console: true, //注释console - // drop_debugger: true, //注释debugger - // pure_funcs: ['console.log'], //移除console.log - // }, - // }, - // }), - // ], - // } + configureWebpack: { + plugins: [ + //打包环境去掉console.log + new UglifyJsPlugin({ + uglifyOptions: { + compress: { + drop_console: true, //注释console + drop_debugger: true, //注释debugger + pure_funcs: ['console.log'], //移除console.log + }, + }, + }), + ], + } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index dc0c342..57af8e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -914,13 +914,13 @@ aws4@^1.8.0: resolved "https://registry.npmmirror.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== -axios@^0.27.2: - version "0.27.2" - resolved "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== +axios@0.18.1: + version "0.18.1" + resolved "https://registry.npmmirror.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== dependencies: - follow-redirects "^1.14.9" - form-data "^4.0.0" + follow-redirects "1.5.10" + is-buffer "^2.0.2" babel-extract-comments@^1.0.0: version "1.0.0" @@ -1628,7 +1628,7 @@ color@^3.0.0: color-convert "^1.9.3" color-string "^1.6.0" -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2100,6 +2100,13 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + debug@^3.2.7: version "3.2.7" resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -2896,7 +2903,14 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -follow-redirects@^1.0.0, follow-redirects@^1.14.9: +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + +follow-redirects@^1.0.0: version "1.15.2" resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== @@ -2918,15 +2932,6 @@ forever-agent@~0.6.1: resolved "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - form-data@~2.3.2: version "2.3.3" resolved "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -3801,6 +3806,11 @@ is-buffer@^1.1.5: resolved "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-buffer@^2.0.2: + version "2.0.5" + resolved "https://registry.npmmirror.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -4309,7 +4319,7 @@ loader-utils@^0.2.16: json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: version "1.4.2" resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== @@ -4851,7 +4861,7 @@ node-releases@^2.0.6: resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== -node-sass@^4.12.0: +node-sass@^4.14.1: version "4.14.1" resolved "https://registry.npmmirror.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== @@ -6305,15 +6315,15 @@ sass-graph@2.2.5: scss-tokenizer "^0.2.3" yargs "^13.3.2" -sass-loader@^8.0.2: - version "8.0.2" - resolved "https://registry.npmmirror.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" - integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== +sass-loader@^7.0.0: + version "7.3.1" + resolved "https://registry.npmmirror.com/sass-loader/-/sass-loader-7.3.1.tgz#a5bf68a04bcea1c13ff842d747150f7ab7d0d23f" + integrity sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA== dependencies: clone-deep "^4.0.1" - loader-utils "^1.2.3" - neo-async "^2.6.1" - schema-utils "^2.6.1" + loader-utils "^1.0.1" + neo-async "^2.5.0" + pify "^4.0.1" semver "^6.3.0" sax@~1.2.4: @@ -6330,7 +6340,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.7.0: +schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.7.0: version "2.7.1" resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==