From d1bb68d9f9054bbf87cd84956d3240c71d8e370c Mon Sep 17 00:00:00 2001 From: xuxy <1059738716@qq.com> Date: 星期二, 25 六月 2024 16:55:44 +0800 Subject: [PATCH] update 商品管理和花农的 --- package-lock.json | 2181 ++++++++++++++++++++++++++++++++++++++ pages/login/farmer-login.vue | 21 pages/farmer/order-settlement/order-settlement.vue | 3 pages/notice/notice.vue | 2 static/common/nodata.png | 0 components/footer/main.scss | 85 pages/login/farmer-reg.vue | 22 App.vue | 21 store/index.js | 2 pages/user/bussincess-user.vue | 29 pages/user/user.scss | 47 pages/user/farmer-user.vue | 27 main.js | 28 common/uni.css | 1 components/footer/farmer-footer.vue | 54 common/self.scss | 14 static/images/farmer/user/bg.png | 0 common/global.scss | 61 pages.json | 35 pages/farmer/flower-manage/flower-add.vue | 306 +++- pages/farmer/flower-manage/flower-manage.vue | 143 + components/no-data.vue | 2 plugins/http.js | 8 pages/home/home.scss | 215 ++- uni.scss | 3 package.json | 7 pages/home/farmer-home.vue | 82 pages/notice/list.vue | 4 uni_modules/uni-scss/theme.scss | 5 29 files changed, 2,976 insertions(+), 432 deletions(-) diff --git a/App.vue b/App.vue index d279b31..bd62744 100644 --- a/App.vue +++ b/App.vue @@ -49,6 +49,21 @@ } // #endif + // #ifdef H5 + if (true && storage.getItem('token')) { + setTimeout(async () => { + const res = await this.$store.dispatch('getCurrentInfo'); + // console.log('init info',res,this.currentInfo) + if (this.currentInfo && this.currentInfo.id && !this.currentInfo.openId) { + // uni.reLaunch({ + // url: '/pages/home/farmer-home' + // }) + } + }, 200); + } else { + + } + // #endif }, onReady() { @@ -66,8 +81,14 @@ </script> <style lang="scss"> + /*每个页面公共css */ @import '@/uni_modules/uni-scss/index.scss'; + /* uni.scss */ + + // @import "@/uni_modules/uview-plus/index.scss"; + @import "uview-ui/index.scss"; + /* #ifndef APP-NVUE */ @import '@/static/customicons.css'; diff --git a/common/global.scss b/common/global.scss index 6154ba9..8e39aac 100644 --- a/common/global.scss +++ b/common/global.scss @@ -1,5 +1,13 @@ + +// $u-tips-color: #2979ff; +// $u-primary: #2979ff; + +// @import '@/node_modules/uview-ui/theme.scss'; + .component-tab-container{ display: flex; + width: fit-content; + margin:0 auto; .tab-item{ display: flex; text-align: center; @@ -7,17 +15,31 @@ border: 2rpx solid var(--topicolor); background: #fff; color: var(--topicolor); + width: 212rpx; + line-height: 64rpx; + font-weight: 600; + font-size: 28rpx; + display: block; } .tab-item.cur{ background: var(--topicolor); - border-radius: 0rpx 8rpx 8rpx 0rpx; + // border-radius: 0rpx 8rpx 8rpx 0rpx; + color: #fff; + } + .tab-item:first-child{ + border-top-right-radius: 0rpx; + border-bottom-right-radius: 0rpx; + } + .tab-item:last-child{ + border-top-left-radius: 0rpx; + border-bottom-left-radius: 0rpx; } } .component-button-upload{ width: 96rpx; height: 96rpx; border-radius: 4rpx; - border: 2rpx solid #CECECE; + border: 2rpx dashed #CECECE; position: relative; background-image: 100% 100%; &::after{ @@ -25,10 +47,39 @@ position: absolute; left: 50%; top: 50%; - transform: translate(50%,50%); + transform: translate(-50%,-50%); // width: 22rpx; // height: 22rpx; font-size: 24rpx; - color: #000000; + color: #696969; } -} \ No newline at end of file +} + +.component-popup_input{ + margin-top: calc(50% + 200rpx); + + margin-left: 78rpx - 26rpx; + width: 594rpx; + background: linear-gradient(180deg, #D8F0EE 0%, #FFFFFF 100%); + border-radius: 16rpx; + padding: 26rpx; + position: relative; + .uni-easyinput{ + width: auto !important; + } + .icon{ + z-index: -1; + position: absolute; + width: 266rpx; + height: 146rpx; + top: -134rpx; + left: 50%; + transform: translateX(-50%); + } + .close-parent{ + margin-bottom: 34rpx; + } + .button-green{ + margin-top: 50rpx; + } +} diff --git a/common/self.scss b/common/self.scss index d99fa0b..6c3992a 100644 --- a/common/self.scss +++ b/common/self.scss @@ -522,7 +522,7 @@ .button-green-1{ height: 80rpx; - background: #04BA97; + background: var(--topicolor); border-radius: 44rpx; line-height: 80rpx; text-align: center; @@ -531,7 +531,7 @@ } .button-green-border{ height: 80rpx; - border: 1px solid #04BA97; + border: 1px solid var(--topicolor); border-radius: 44rpx; line-height: 80rpx; text-align: center; @@ -640,6 +640,7 @@ bottom: 60rpx; left: 40rpx; right: 40rpx; + z-index: 1; } .close-parent{ @@ -676,7 +677,7 @@ .button-green{ width: 302rpx; height: 80rpx; - background: #04BA97; + background: var(--topicolor); border-radius: 62rpx; font-size: 32rpx; @@ -942,9 +943,10 @@ } -.before-line::before{ - border-top: 2rpx solid #EEEEEE; -} + .img100{ background-size: 100% 100%; +} +uni-image>img{ + opacity: 1 !important; } \ No newline at end of file diff --git a/common/uni.css b/common/uni.css index 896255a..6caf474 100644 --- a/common/uni.css +++ b/common/uni.css @@ -4,6 +4,7 @@ font-style: normal; src: url('~@/static/uni.ttf') format('truetype'); } +@import "uview-ui/index.scss"; /* #ifdef H5 */ .fix-left-window { diff --git a/components/footer/farmer-footer.vue b/components/footer/farmer-footer.vue index 6e0822f..ac7c197 100644 --- a/components/footer/farmer-footer.vue +++ b/components/footer/farmer-footer.vue @@ -1,49 +1,52 @@ <template> - <view class="footer flex"> - <view v-for="(item,index) in tabBar" :key="index" class="footer-item"> - <view class="item flex" :class="[flg==index?'cur':'']" @click="go(index,item)"> - - <view v-if="index==0"> - <image src="../../static/imgs/footer/footer-home-1.png" class="footer-icon" :class="(''+index)" v-if="flg==0"></image> - <image src="../../static/imgs/footer/footer-home-0.png" class="footer-icon" :class="(''+index)" v-if="flg!=0"></image> - </view> - <view v-if="index==1"> - <image src="../../static/imgs/footer/footer-self-1.png" class="footer-icon" :class="(''+index)" v-if="flg==2"></image> - <image src="../../static/imgs/footer/footer-self-0.png" class="footer-icon" :class="(''+index)" v-if="flg!=2"></image> - </view> - <view> - {{item.text}} - </view> + <view class="footer flex farmer-footer"> + <view v-for="(item,index) in tabBar" :key="index" class="footer-item" :class="[flg==index?'cur':'']"> + <view class="item flex" @click="go(index,item)"> - + <view v-if="index==0"> + <image src="../../static/imgs/footer/footer-home-1.png" class="footer-icon m-t-4 m-l-a m-r-0" :class="(''+index)" + v-if="flg==0"></image> + <image src="../../static/imgs/footer/footer-home-0.png" class="footer-icon m-t-4 m-l-a m-r-0" :class="(''+index)" + v-if="flg!=0"></image> + </view> + <view v-if="index==1"> + <image src="../../static/imgs/footer/footer-self-1.png" class="footer-icon m-t-4 m-l-a m-r-0" :class="(''+index)" + v-if="flg==2"></image> + <image src="../../static/imgs/footer/footer-self-0.png" class="footer-icon m-t-4 m-l-a m-r-0" :class="(''+index)" + v-if="flg!=2"></image> + </view> + <view class="m-l-0 m-r-a"> + {{item.text}} + </view> + + </view> </view> - + </view> </template> <script> - export default { data() { return { tabBar: [ { - "pagePath": "/pages/home/shop-home", + "pagePath": "/pages/home/farmer-home", "iconPath": "/static/tabbar/home.png", "selectedIconPath": "/static/tabbar/home_s.png", "text": "工作台" }, { - "pagePath": "/pages/user/shop-user", + "pagePath": "/pages/user/farmer-user", "iconPath": "/static/tabbar/my.png", "selectedIconPath": "/static/tabbar/my_s.png", "text": "我的" } - + ], - value:'' + value: '' } }, props: { @@ -62,9 +65,6 @@ }, methods: { go(index, item) { - if (index == 1) { - return - } if (this.flg == ('' + index)) { return } @@ -73,10 +73,10 @@ }); }, - + } } </script> <style lang="scss"> @import "./main.scss"; -</style> +</style> \ No newline at end of file diff --git a/components/footer/main.scss b/components/footer/main.scss index 240c0ee..3243b6f 100644 --- a/components/footer/main.scss +++ b/components/footer/main.scss @@ -1,9 +1,10 @@ .footer { position: fixed; // position: sticky; - bottom: 0px; + bottom: 60rpx; left: 0px; - width: 100vw; + // width: 100vw; + min-width: 600rpx; // height: 98rpx; // background: #fff; // background-image: url('../../static/imgs/home/foot-bg.png'); @@ -18,8 +19,8 @@ // border-top: 2rpx solid #F2f2f2f2; .footer-item{ flex: 1; - border-radius: 50rpx; - padding: 8rpx; + border-radius: 50rpx; + padding: 8rpx; .item { font-family: PingFangSC-Regular, PingFang SC; @@ -36,16 +37,7 @@ height: 60rpx; line-height: 60rpx; - &.cur { - // font-weight: 600; - // font-size: 28rpx; - // color: #000000; - // text-align: left; - // font-style: normal; - background: #E1F0E7; - border-radius: 50rpx; - color: var(--topicolor); - } + @@ -58,45 +50,21 @@ // height: 50rpx; // margin-top: 20rpx; // } + .footer-icon{ + width: 28rpx; + height: 29rpx; + } .footer-icon.0 { width: 28rpx; height: 29rpx; } .footer-icon.1 { - width: 26rpx; - height: 32rpx; + width: 26rpx; + height: 32rpx; } } } - .popup_brand{ - margin-top: calc(50% + 200rpx); - // left: 50%; - // left: calc(50% - 295rpx); - // transform: translate(-295rpx,250rpx); - margin-left: 78rpx - 26rpx; - width: 594rpx; - height: 500rpx - 52rpx; - background: linear-gradient(180deg, #D8F0EE 0%, #FFFFFF 100%); - border-radius: 16rpx; - padding: 26rpx; - position: relative; - .icon{ - z-index: -1; - position: absolute; - width: 266rpx; - height: 146rpx; - top: -134rpx; - left: 50%; - transform: translateX(-50%); - } - .close-parent{ - margin-bottom: 34rpx; - } - .button-green{ - margin-top: 50rpx; - } - } } // .aaa{ // position:static; @@ -104,14 +72,39 @@ // top: -10px; // } -.footer.bussincess-footer{ +.footer.farmer-footer{ + left: 50%; + transform: translateX(-50%); background-image: unset; background-color: #fff; - padding-top:0rpx; + border-radius: 50rpx; + padding:8rpx; .footer-item{ + border-radius: 50rpx; + width: 252rpx; + .item { margin-top: 0rpx; padding-top: 0rpx; + min-width: unset; + + // min-width: 252rpx; + // max-width: 252rpx;; + padding-top: 12rpx; + line-height: 50rpx; + .footer-icon{ + margin-top: 12rpx; + } + } + &.cur { + // font-weight: 600; + // font-size: 28rpx; + // color: #000000; + // text-align: left; + // font-style: normal; + background: #E1F0E7; + border-radius: 50rpx; + color: var(--topicolor); } } } \ No newline at end of file diff --git a/components/no-data.vue b/components/no-data.vue index bcef415..833f337 100644 --- a/components/no-data.vue +++ b/components/no-data.vue @@ -1,7 +1,7 @@ <template> <view> <image src="../static/common/nodata.png" class="img-nodata"></image> - <view class="txt-nodata">小狗狗尽力了,没有找到数据</view> + <view class="txt-nodata">尽力了,没有找到数据</view> </view> </template> diff --git a/main.js b/main.js index 2069687..faf878b 100644 --- a/main.js +++ b/main.js @@ -19,6 +19,34 @@ Vue.mixin(mixinsCommon) +// main.js +import uView from 'uview-ui' +Vue.use(uView) + +// 调用setConfig方法,方法内部会进行对象属性深度合并,可以放心嵌套配置 +// 需要在Vue.use(uView)之后执行 +uni.$u.setConfig({ + // 修改$u.config对象的属性 + config: { + // 修改默认单位为rpx,相当于执行 uni.$u.config.unit = 'rpx' + unit: 'rpx' + }, + // 修改$u.props对象的属性 + props: { + // 修改radio组件的size参数的默认值,相当于执行 uni.$u.props.radio.size = 30 + radio: { + size: 32, + labelSize:32 + }, + picker:{ + confirmColor:'#20613D' + } + // 其他组件属性配置 + // ...... + } +}) + + import farmerfooter from '@/components/footer/farmer-footer' Vue.component('farmer-footer', farmerfooter) diff --git a/package-lock.json b/package-lock.json index 82d5d22..40c09c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,825 @@ { - "name": "schoolgo-app", + "name": "hmy_farmer", "lockfileVersion": 2, "requires": true, "packages": { "": { "dependencies": { - "moment": "^2.30.1" + "moment": "^2.30.1", + "uview-ui": "^2.0.36" + }, + "devDependencies": { + "sass": "^1.77.6", + "sass-loader": "^10.5.2" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true, + "peer": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.10", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "peer": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.14.8", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.14.8.tgz", + "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", + "dev": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "dev": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.1", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001636", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.811", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.811.tgz", + "integrity": "sha512-CDyzcJ5XW78SHzsIOdn27z8J4ist8eaFLhdto2hSMSJQgsiwvbv2fbizcKUICryw1Wii1TI/FEkvzvJsR3awrA==", + "dev": true, + "peer": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true, + "peer": true + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "peer": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, "node_modules/moment": { @@ -15,13 +829,1376 @@ "engines": { "node": "*" } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "peer": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/sass": { + "version": "1.77.6", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "10.5.2", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-10.5.2.tgz", + "integrity": "sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.31.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uview-ui": { + "version": "2.0.36", + "resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.36.tgz", + "integrity": "sha512-ASSZT6M8w3GTO1eFPbsgEFV0U5UujK+8pTNr+MSUbRNcRMC1u63DDTLJVeArV91kWM0bfAexK3SK9pnTqF9TtA==", + "engines": { + "HBuilderX": "^3.1.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.92.1", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } } }, "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "peer": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "peer": true + }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true, + "peer": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@types/eslint": { + "version": "8.56.10", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dev": true, + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "peer": true + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/node": { + "version": "20.14.8", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.14.8.tgz", + "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", + "dev": true, + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "dev": true, + "peer": true + }, + "acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "peer": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "requires": { + "fill-range": "^7.1.1" + } + }, + "browserslist": { + "version": "4.23.1", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "dev": true, + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "peer": true + }, + "caniuse-lite": { + "version": "1.0.30001636", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", + "dev": true, + "peer": true + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "peer": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "electron-to-chromium": { + "version": "1.4.811", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.811.tgz", + "integrity": "sha512-CDyzcJ5XW78SHzsIOdn27z8J4ist8eaFLhdto2hSMSJQgsiwvbv2fbizcKUICryw1Wii1TI/FEkvzvJsR3awrA==", + "dev": true, + "peer": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.17.0", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true, + "peer": true + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "peer": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "immutable": { + "version": "4.3.6", + "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "peer": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "peer": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "peer": true, + "requires": { + "mime-db": "1.52.0" + } + }, "moment": { "version": "2.30.1", "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "peer": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "dev": true, + "peer": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "peer": true + }, + "sass": { + "version": "1.77.6", + "resolved": "https://registry.npmmirror.com/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "10.5.2", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-10.5.2.tgz", + "integrity": "sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true + }, + "source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true + }, + "terser": { + "version": "5.31.1", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "peer": true + }, + "update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "dev": true, + "peer": true, + "requires": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uview-ui": { + "version": "2.0.36", + "resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.36.tgz", + "integrity": "sha512-ASSZT6M8w3GTO1eFPbsgEFV0U5UujK+8pTNr+MSUbRNcRMC1u63DDTLJVeArV91kWM0bfAexK3SK9pnTqF9TtA==" + }, + "watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.92.1", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "dev": true, + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true } } } diff --git a/package.json b/package.json index 15f364f..8602d51 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,10 @@ { "dependencies": { - "moment": "^2.30.1" + "moment": "^2.30.1", + "uview-ui": "^2.0.36" + }, + "devDependencies": { + "sass": "^1.77.6", + "sass-loader": "^10.5.2" } } diff --git a/pages.json b/pages.json index da97997..9c356b7 100644 --- a/pages.json +++ b/pages.json @@ -1,4 +1,8 @@ { + // 如果您是通过uni_modules形式引入uView,可以忽略此配置 + "easycom": { + "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" + }, "pages": [{ "path": "pages/login/farmer-login", "style": { @@ -40,7 +44,7 @@ "path": "pages/order/order", "style": { "navigationBarTitleText": "我的订单", - "enablePullDownRefresh": false + "enablePullDownRefresh": true } }, @@ -48,28 +52,28 @@ "path": "pages/login/farmer-reg", "style": { "navigationBarTitleText": "申请入住", - "enablePullDownRefresh": false + "enablePullDownRefresh": true } }, { "path": "pages/farmer/order-settlement/order-settlement", "style": { "navigationBarTitleText": "账单结算", - "enablePullDownRefresh": false + "enablePullDownRefresh": true } }, { "path": "pages/farmer/flower-manage/flower-manage", "style": { "navigationBarTitleText": "商品管理", - "enablePullDownRefresh": false + "enablePullDownRefresh": true } }, { "path": "pages/farmer/order-sale/order-sale", "style": { "navigationBarTitleText": "售后理赔", - "enablePullDownRefresh": false + "enablePullDownRefresh": true } }, { @@ -78,16 +82,31 @@ "navigationBarTitleText": "扣款记录", "enablePullDownRefresh": false, "navigationBarBackgroundColor": "#E6F2EB" - + } }, { - "path" : "pages/farmer/flower-manage/flower-add", + "path": "pages/farmer/flower-manage/flower-add", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + }, + { + "path" : "pages/notice/notice", "style" : { - "navigationBarTitleText" : "", + "navigationBarTitleText" : "通知公告", "enablePullDownRefresh" : false } + }, + { + "path" : "pages/notice/list", + "style" : + { + "navigationBarTitleText" : "通知公告", + "enablePullDownRefresh" : true + } } ], "globalStyle": { diff --git a/pages/farmer/flower-manage/flower-add.vue b/pages/farmer/flower-manage/flower-add.vue index 421428e..0fe2353 100644 --- a/pages/farmer/flower-manage/flower-add.vue +++ b/pages/farmer/flower-manage/flower-add.vue @@ -1,12 +1,10 @@ <template> - <view class="container-page"> + <view class="container-page" style="padding: 0rpx;"> <view> <view class="form-item"> - <view class="label required">商品分类</view> + <view class="label required">商品分类todo</view> <view class="m-l-a m-r-0 flex " :class="[!dto.category?'desc-gray':'']" @click="()=>{ - if(!id){ - show_select_category=true - } + show_select_category=true }"> <view>{{dto.categoryStr||dto.category || '请选择'}}</view> <u-icon class="m-l-a" name="arrow-right"></u-icon> @@ -14,59 +12,75 @@ </view> <view class="form-item before-line"> + <view class="label required">商品名称</view> + <view class="m-l-a m-r-0 flex"> + <input v-model="dto.name" placeholder="请输入商品名称" style="margin-top: 16px;text-align: right;"></input> + + </view> + </view> + <view class="form-item before-line"> <view class="label required">商品单位</view> <view class="m-l-a m-r-0 flex"> - <input v-model="dto.applicationTitle" placeholder="请输入店铺名称" - style="margin-top: 16px;text-align: right;"></input> + <input v-model="dto.unit" placeholder="请输入商品单位" style="margin-top: 16px;text-align: right;"></input> </view> </view> <view class="form-item before-line"> <view class="label required">商品颜色</view> - <view class="m-l-a m-r-0 flex " :class="[!dto.applicationType?'desc-gray':'']" @click="()=>{ - if(!id){ - show_select_type=true - } + <!-- <view class="m-l-a m-r-0 flex " :class="[!dto.color?'desc-gray':'']" @click="()=>{ + show_select_color=true }"> <view>{{dto.applicationTypeStr||dto.applicationType || '请选择'}}</view> <u-icon class="m-l-a" name="arrow-right"></u-icon> + </view> --> + <view class="m-l-a m-r-0 flex"> + <input v-model="dto.color" placeholder="请输入商品颜色" + style="margin-top: 16px;text-align: right;"></input> </view> - </view> <view class="line-gray-big"></view> <view class="form-item"> - <view class="label required">列表封面图(130*120px)</view> + <view class="label required" style="width: 400rpx;">列表封面图(130*120px)</view> <view class="m-l-a m-r-0 flex"> - <view class="component-button-upload" @click="uploadIcon('icon')" - :style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}"> + <view class="component-button-upload" @click="uploadIcon('cover')" + :style="{'background-image':dto.icon&&`url('${dto.cover}')`||''}"> </view> </view> </view> - <view class="form-item before-line"> - <view class="label required">商品轮播图(300*160px)</view> + <view class="form-item before-line bottom-border-no"> + <view class="label required" style="width: 400rpx;">商品轮播图(300*160px)</view> <view class="m-l-a m-r-0 flex"> - <view class="component-button-upload" @click="uploadIcon('icon')" - :style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}"> + <!-- :style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}" --> + <view class="component-button-upload" @click="uploadIcon('bannerList')"> </view> + </view> + </view> + <view class="flex p20" style="padding-top: 0rpx;padding-bottom: 10rpx" + v-if="dto.bannerList&&dto.bannerList.length>0"> + <view class="m-t-12 m-r-10 " v-for="(tBanner,index) of dto.bannerList" :key="index"> + <image class="banner-img" :src="tBanner" @click.stop="previewImg(tBanner)"> + + </image> + <view class="t-red text-center" @click.stop="deleteBanner(index)">删除</view> </view> </view> <view class="line-gray-big"></view> <view class="form-item before-line"> - <view class="label required">售价</view> + <view class="label required">售价(元)</view> <view class="m-l-a m-r-0 flex"> - <input v-model="dto.applicationTitle" placeholder="请输入数字" type="digit" + <input v-model="dto.price" placeholder="请输入数字" type="digit" style="margin-top: 16px;text-align: right;"></input> </view> </view> - <view class="form-item before-line"> + <view class="form-item "> <view class="label required">库存</view> <view class="m-l-a m-r-0 flex"> - <input v-model="dto.applicationTitle" placeholder="请输入数字" type="number" + <input v-model="dto.stock" placeholder="请输入数字" type="number" style="margin-top: 16px;text-align: right;"></input> </view> </view> @@ -76,11 +90,18 @@ <view class="form-item "> <view class="label required">商品参数详情</view> <view class="m-l-a m-r-0 flex " :class="[!dto.applicationType?'desc-gray':'']" @click="()=>{ - if(!id){ - show_select_type=true + if(!dto.category){ + $message.showToast('请先选择分类') + }else{ + if(dto.params&&dto.params.length==0){ + $message.showToast('暂无参数可以设置') + }else{ + $refs.popup_param.open() + } + } }"> - <view>{{dto.applicationTypeStr||dto.applicationType || '去设置'}}</view> + <view>{{ '去设置'}}</view> <u-icon class="m-l-a" name="arrow-right"></u-icon> </view> @@ -88,12 +109,10 @@ <view class="line-gray-big"></view> <view class="form-item before-line"> <view class="label required">商品等级</view> - <view class="m-l-a m-r-0 flex " :class="[!dto.applicationType?'desc-gray':'']" @click="()=>{ - if(!id){ - show_select_type=true - } + <view class="m-l-a m-r-0 flex " :class="[!dto.level?'desc-gray':'']" @click="()=>{ + show_select_level=true }"> - <view>{{dto.applicationTypeStr||dto.applicationType || '请选择'}}</view> + <view>{{dto.levelStr||dto.level || '请选择'}}</view> <u-icon class="m-l-a" name="arrow-right"></u-icon> </view> @@ -103,16 +122,21 @@ <view class="form-item before-line"> <view class="label required">商品视频</view> <view class="m-l-a m-r-0 flex"> - <view class="component-button-upload m-r-15" @click="uploadIcon('icon')" - :style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}"> + <!-- :style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}" --> + <view class="component-button-upload m-r-15" @click="uploadIcon('video')"> </view> </view> </view> + <view v-if="dto.video"> + <video :src="dto.video" style="display: block;margin: 0 auto;"></video> + </view> - - <view class="button-green-1 m-t-20 button-fixed-bottom before-line" @click="submit" v-if="!dto.id"> + <view style="min-height: 200rpx;"> + + </view> + <view class="button-green-1 m-t-20 button-fixed-bottom " @click="submit" v-if="!dto.id"> 提交审核 </view> <view class="button-green-1 m-t-20 button-fixed-bottom before-line" @click="submit" v-if="dto.id"> @@ -121,12 +145,33 @@ </view> - <u-picker @confirm="select_category" keyName="label" @cancel="show_select_category=false" :show="show_select_category" - :columns="columns_types"></u-picker> + <u-picker @confirm="select_category" keyName="name" @cancel="show_select_category=false" + :show="show_select_category" :columns="columns_categorys"></u-picker> - <u-picker @confirm="select_user" keyName="label" @cancel="show_select_user=false" :show="show_select_user" - :columns="userListCols"></u-picker> + <u-picker @confirm="select_level" keyName="label" @cancel="show_select_level=false" :show="show_select_level" + :columns="columns_levels"></u-picker> + + <uni-popup ref="popup_param" type="top"> + <view class="component-popup_input" v-if="dto.params"> + <view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">商品参数设置</view> + <!-- 输入框--> + <view v-for="(item,i) in dto.params" :key="i" class="m-b-20"> + <view class="title topic-font" style="font-size: 36rpx;font-weight: 600;">{{item.name}}</view> + <view class="m-t-12"> + <u-radio-group v-model="item.value" placement="row"> + <u-radio + :customStyle="{'margin-bottom': '16rpx','margin-right': '24rpx','font-size':'28rpx'}" + v-for="(each, j) in item.values" :key="j" :label="each" :name="each"> + </u-radio> + </u-radio-group> + </view> + </view> + + <!-- 提交按钮 --> + <view class="button-green" @click="closeParamPop">返回</view> + </view> + </uni-popup> </view> </template> @@ -158,15 +203,18 @@ params: [], //id,value }, show_select_category: false, - show_select_user: false, + show_select_level: false, columns_categorys: [], - columns_levels:[], - + columns_levels: [], + // columns_params: [], //弹窗选择具体的值 } }, async onLoad(options) { if (options.id) { this.id = options.id + uni.setNavigationBarTitle({ + title: '商品详情' + }) this.getDetail() } else { if (options.copyId) { @@ -174,25 +222,28 @@ await this.getDetail() this.id = '' delete this.dto.id + uni.setNavigationBarTitle({ + title: '复制商品并新增' + }) + } else { + uni.setNavigationBarTitle({ + title: '商品新增' + }) } - + //tree - this.$http.request('get', '/api/flower/category/tree', { - params: { - typeCode: 'FLOWER_LEVEL' - } - }).then(res => { + this.$http.request('get', '/api/flower/category/tree', {}).then(res => { var data = res.data this.columns_categorys = [data || []] this.columns_categorys[0].unshift({ label: '全部', value: '', - children:[] + children: [] }) }) - - this.$http.request('get', '/api/dict/value', { + + this.$http.request('get', '/api/code/value', { params: { typeCode: 'FLOWER_LEVEL' } @@ -210,17 +261,48 @@ }, methods: { - - - select_category(e) { - this.show_select_category = false - this.dto.categoryStr = e.value[0].label - this.dto.category = e.value[0].value + closeParamPop() { + this.$refs.popup_param.close() }, - select_user(e) { - this.show_select_user = false - this.dto.auditPersonStr = e.value[0].label - this.dto.auditPersonId = e.value[0].value + + async select_category(e) { + if (e.value[0].id !== this.dto.category) { + if (this.dto.category) { + await this.$message.confirm('修改分类将清空商品参数,确定修改吗') + } + console.log('select_category', e) + this.show_select_category = false + this.dto.categoryStr = e.value[0].name + this.dto.category = e.value[0].id + this.$message.showLoading() + await this.refresh_category() + this.$message.hideLoading() + } else { + + } + + }, + async refresh_category() { + // this.columns_params = [] + this.dto.params = [] + //获取分类参数 + if (this.dto.category) { + const res = await this.$http.request('get', '/api/supplier/flower/params', { + params: { + categoryId: this.dto.category + } + }) + if (res.code == 0) { + // this.columns_params = res.data || [] + this.dto.params = res.data || [] + } + } + + }, + select_level(e) { + this.show_select_level = false + this.dto.levelStr = e.value[0].label + this.dto.level = e.value[0].value }, async getDetail() { @@ -238,7 +320,12 @@ // this.dto.applicationDate = this.$util.toDate(new Date(this.dto.applicationDate)) // } // // console.log('this.dto', this.dto) - + if (!this.dto.bannerList) { + this.dto.bannerList = [] + } + // if (this.dto.category) { + // await this.refresh_category() + // } } this.$message.hideLoading() @@ -279,34 +366,72 @@ this.backpage() } }, - + async deleteBanner(index) { + await this.$message.confirm('是否确认删除此图片') + // this.dto.bannerList = + this.dto.bannerList.splice(index, 1) + }, uploadIcon(key) { + console.log('that dto key', key) const that = this - uni.chooseImage({ - count: 1, // 最多可以选择的图片张数,默认9 - sizeType: ['original', 'compressed'], //original 原图,compressed 压缩图,默认二者都有 - sourceType: ['camera', 'album'], //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项 - success: function({ - errMsg, - tempFiles - }) { - if (errMsg === 'chooseImage:ok') { - // console.log(tempFiles[0]) - that.$message.showLoading() - that.$http.upload(tempFiles[0].path).then(async res => { - var pic = res.data && res.data.length > 0 && res.data[ - 0] - .url || '' - that.$message.hideLoading() - that.dto[key] = pic || '' - that.$forceUpdate() - }).catch(res => { - that.$message.hideLoading() + if (key == 'video') { + uni.chooseVideo({ + sourceType: ['camera', 'album'], + success: function(res) { + if (res.tempFilePath) { + console.log('res.tempFilePath', res.tempFilePath) + that.$message.showLoading() + that.$http.upload(res.tempFilePath).then(async res => { + console.log('res1', res) + var pic = res.data && res.data.length > 0 && res.data[ + 0] + .url || '' + that.$message.hideLoading() + that.dto[key] = pic || '' - }) + that.$forceUpdate() + console.log('that dto', that.dto) + }).catch(res => { + that.$message.hideLoading() + console.error(res) + }) + } } - } - }) + }); + } else { + + uni.chooseImage({ + count: 1, // 最多可以选择的图片张数,默认9 + sizeType: ['compressed'], //original 原图,compressed 压缩图,默认二者都有 + sourceType: ['camera', 'album'], //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项 + success: function({ + errMsg, + tempFiles + }) { + if (errMsg === 'chooseImage:ok') { + // console.log(tempFiles[0]) + that.$message.showLoading() + that.$http.upload(tempFiles[0].path).then(async res => { + console.log('res1', res) + var pic = res.data && res.data.length > 0 && res.data[ + 0] + .url || '' + that.$message.hideLoading() + if (key == 'bannerList') { + that.dto[key].push(pic) + } else { + that.dto[key] = pic || '' + } + + that.$forceUpdate() + }).catch(res => { + that.$message.hideLoading() + console.error(res) + }) + } + } + }) + } }, }, @@ -320,10 +445,18 @@ </script> <style lang="scss" scoped> + .banner-img { + width: 96rpx; + height: 96rpx; + border-radius: 4rpx; + border: 2rpx dashed #CECECE; + } + .form-item { // padding: 40rpx; border-bottom: 1px solid #F3F3F3; display: flex; + padding: 20rpx; // height: 100px; .label { @@ -343,6 +476,7 @@ } + } .form-item.bottom-border-no { diff --git a/pages/farmer/flower-manage/flower-manage.vue b/pages/farmer/flower-manage/flower-manage.vue index 3b6f2db..2e1e6f1 100644 --- a/pages/farmer/flower-manage/flower-manage.vue +++ b/pages/farmer/flower-manage/flower-manage.vue @@ -4,7 +4,7 @@ <view @click.stop="clickButton('add')" class="button button-add"></view> <view @click.stop="clickButton('in')" class="button button-search-in"></view> <view @click.stop="clickButton('unpass')" class="button button-search-unpass"></view> - <view @click.stop="clickButton('inpass')" class="button button-search-inpass"></view> + <view @click.stop="clickButton('inpass')" class="button button-search-inpass" style="flex:5"></view> <view @click.stop="clickButton('delete')" class="button button-search-delete"></view> </view> @@ -14,38 +14,43 @@ <view v-for="(item,index) in list" :key="index" class="m-b-24 flow-manage-list"> <view class="flow-manage-list-item"> <view class="flex"> - <image class="flower-img img100 m-r-6" :src="item.img" @click="previewImg(item.img)"></image> - <view> - <view class="flex"> - <view class="title">{{item.title}}<span class="level">A级别</span></view> - <view class="t-red m-l-a m-r-0"> - ¥20.00/扎 + <image class="flower-img img100 m-r-6" :src="item.cover" @click="previewImg(item.cover)"> + </image> + <view class="flex1"> + <view class=" flex"> + <view class="title">{{item.name}}<span class="level">{{item.levelStr}}</span></view> + <view class="m-l-a m-r-0"> + {{item.categoryStr || '-'}} </view> </view> - <view class="each-list"> + <view class="each-list m-t-12"> <view class="each-item"> - <view class="label">分类</view> - <view class="value">卡罗拉</view> + <view class="label">状态</view> + <view class="value">{{item.statusStr || '-'}}</view> </view> <view class="each-item"> <view class="label">颜色</view> - <view class="value">红色</view> + <view class="value">{{item.color || '-'}}</view> </view> <view class="each-item"> <view class="label">规格</view> - <view class="value">20支/扎</view> + <view class="value">{{item.unit || '-'}}</view> </view> <view class="each-item"> <view class="label">库存</view> - <view class="value">10</view> + <view class="value">{{item.stock || 0}}</view> </view> <view class="each-item"> <view class="label">销量</view> - <view class="value">10</view> + <view class="value">{{item.sales || 0}}</view> + </view> + <view class="each-item"> + <view class="label">价格</view> + <view class="value">{{item.price||'-'}}</view> </view> </view> </view> @@ -54,13 +59,16 @@ </view> <view class="buttons"> - <view class="button" @click.stop="toDetailAdd(item)">复制</view> - <view class="button" @click.stop="buttonDelete(item)">删除</view> + <view class="button" @click.stop="toDetail(item)">编辑</view> + <view class="button" @click.stop="buttonStatus(item,'off')" v-if="item.status=='UP'">下架</view> <view class="button" @click.stop="buttonStatus(item,'up')" v-if="item.status=='OFF'">上架</view> - <view class="button" @click.stop="toDetail(item)">编辑</view> - <view class="button" @click.stop="changeValue(item,'price')">价格</view> - <view class="button" @click.stop="changeValue(item,'stock')">库存</view> + <view class="button" @click.stop="openValue(item,'price')">价格</view> + <view class="button" @click.stop="openValue(item,'stock')">库存</view> + <view class="button" @click.stop="toDetailAdd(item)">复制</view> + + <view class="button t-red" @click.stop="buttonDelete(item)">删除</view> + </view> </view> </view> @@ -68,6 +76,18 @@ <!-- 判断是否到底了,自动吧 --> <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg> + + <uni-popup ref="popup_input" type="bottom"> + <view class="component-popup_input"> + + <!-- 输入框--> + <uni-easyinput class="p9-12" maxlength="100" type="textarea" v-model="content" + :placeholder="inputplaceholder"></uni-easyinput> + + <!-- 提交按钮 --> + <view class="button-green" @click="submitValue">提交</view> + </view> + </uni-popup> </view> </template> @@ -78,7 +98,11 @@ type: 'all', query: { type: '' - } + }, + content: '', + currentInputDto: {}, + currentInputKey: '', + inputplaceholder:'', } }, onLoad(options) { @@ -112,21 +136,31 @@ uni.stopPullDownRefresh() }, methods: { - async changeValue(item, key) { + async openValue(item, key) { + this.content = item[key] || '' + this.currentInputDto = item + this.currentInputKey = key + this.inputplaceholder = key=='price'&&'请输入价格(元)' || key=='stock'&&'请输入库存(整数)' || '请输入' + this.$refs.popup_input.open('top') + }, + async submitValue() { + let item = this.currentInputDto, + key = this.currentInputKey const res = await this.$message.confirm(`确定修改此商品的${key==='price'&&'价格'|| key==='stock'&&'库存'}吗`, { - editable: true + editable: false }) - if(!res.content){ + + if (!this.content) { this.$message.showToast('输入不能为空') return } var value = '' - if(key=='price'){ - value = parseFloat(res.content).toFixed(2) - }else{ - value = parseInt(res.content) + if (key == 'price') { + value = parseFloat(this.content).toFixed(2) + } else { + value = parseInt(this.content) } - if(isNaN(value)){ + if (isNaN(value)) { this.$message.showToast('输入格式不正确') return } @@ -143,6 +177,8 @@ if (res.code == 0) { this.$message.showToast('操作成功') item[key] = value + this.$refs.popup_input.close() + } }).finally(() => { this.$message.hideLoading() @@ -210,11 +246,28 @@ <style lang="scss" scoped> .flow-manage { .flow-manage-list { - margin: 20rpx 30rpx; + // padding: 20rpx 30rpx; padding: 22rpx; + background-color: #fff; - .flow-manage-item { + .flow-manage-list-item { + margin-bottom: 20rpx; + + .title { + font-weight: 600; + font-size: 28rpx; + color: #000000; + line-height: 40rpx; + + .level { + font-weight: 400; + font-size: 28rpx; + color: #20613D; + line-height: 40rpx; + margin-left: 20rpx; + } + } .buttons { display: flex; @@ -222,16 +275,18 @@ .button { margin: 0 auto; width: 98rpx; - height: 48rpx; + line-height: 48rpx; border-radius: 24rpx; border: 2rpx solid #CECECE; + text-align: center; } } .flower-img { width: 128rpx; height: 118rpx; - + min-width: 128rpx; + min-height: 118rpx; } .each-list { @@ -242,11 +297,16 @@ min-width: 30%; max-width: 40%; text-align: center; + margin-left: 0rpx; + margin-right: auto; + display: flex; .label { font-weight: 400; font-size: 24rpx; color: #666666; + text-align: left; + padding-right: 10rpx; } .label::after { @@ -261,16 +321,29 @@ .top-buttons { display: flex; - margin: 22rpx 42rpx; + padding: 22rpx 42rpx; + background-color: #fff; .button { // flex:1; margin: 0 auto; - width: 96rpx; - height: 130rpx; + width: 90rpx; + height: 146rpx; background-size: 100% 100%; + text-align: center; + // min-width: 90rpx; + flex: 4; + // max-width: 90rpx; + margin-left:14rpx; + margin-right:14rpx; } + .button:first-child { + margin-left: 0rpx + } + .button:last-child { + margin-right: 0rpx + } .button-add { background-image: url('@/static/images/farmer/flower/flower-mange-icon-add-flower.png'); diff --git a/pages/farmer/order-settlement/order-settlement.vue b/pages/farmer/order-settlement/order-settlement.vue index e497857..3ee93cc 100644 --- a/pages/farmer/order-settlement/order-settlement.vue +++ b/pages/farmer/order-settlement/order-settlement.vue @@ -90,8 +90,9 @@ methods: { changeIndex(index) { if (this.tabIndex !== index) { - this.changeIndex = index + this.tabIndex = index // 刷新 query + this.refreshList() } }, toDetail(item) { diff --git a/pages/home/farmer-home.vue b/pages/home/farmer-home.vue index a78575b..56a6f9e 100644 --- a/pages/home/farmer-home.vue +++ b/pages/home/farmer-home.vue @@ -5,27 +5,22 @@ </view> --> <!-- 背景图 --> <view class="top-bg" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }"> - <view class="title" style="position: relative;" > - 我<uni-icons type="settings"></uni-icons> - + <view class="title" style="position: relative;"> + 首页 + </view> - <view class="icons"> - <image class="icon1" src="../../static/imgs/user/usr-icon1.png" mode="aspectFit"></image> - <image class="icon2" src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit"></image> - </view> - <view class="flex m-20 user-info" @click="goto('/pages/user/user-info/user-info',true)" - v-if="currentInfo&&(currentInfo.id)"> + <view class="flex m-t-20 user-info" v-if="currentInfo&&(currentInfo.id)"> <!-- 头像 --> <image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit"></image> <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image> - <view class="name"> - {{currentInfo.nickName || '-'}} + <view class="name" style="margin-top: 12rpx;"> + <view class="t1">{{currentInfo.nickName || '-'}}</view> + <view class="t2 m-t-12">{{currentInfo.tel || '暂无电话'}}</view> </view> - <uni-icons class="right-icon" type="right"></uni-icons> </view> - + </view> <view class="item-container"> @@ -84,54 +79,53 @@ </view> </view> </view> - <view class="item-container"> - <view class="view"> + <view class="item-container flex m-t-20" style="padding: 34rpx 44rpx;"> + <view class="rate-view flex1" style="max-width: 140rpx;"> <view class="title">售后率</view> <view class="title" style="color: red;">0.02%</view> </view> - <view class="tj-panel green"> + <view class="tj-panel green flex1"> <view class="name">今日待配送</view> <view class="title">12扎</view> </view> - <view class="tj-panel pink"> - <view class="name">今日配送汇总</view> + <view class="tj-panel pink flex1"> + <view class="name pink">今日配送汇总</view> <view class="title">12扎</view> </view> </view> - <view class="p10"> - <uni-notice-bar @click="getNoticeMore" class="notice-bar" - color="#333" background-color="#fff" show-get-more show-icon :scrollable="scrollable" - :text="currentNotice.title" :key="currentNotice.id" /> + <view class="m-t-12" @click="getNoticeMore" > + <uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more + show-icon :scrollable="scrollable" :text="currentNotice.title" :key="currentNotice.id" /> <span v-if="!currentNotice||!currentNotice.id"> </span> </view> <view class="item-container"> <view class="title">常用功能</view> <view class="flex order-icons m-t-12"> - <view class="nav row margin-tb" @click="goto('/pages/farmer/order-settlement',true)"> + <view class="nav row margin-tb" @click="goto('/pages/farmer/order-settlement/order-settlement',true)"> <view class="img-c"> - <image class="icon margin-bottom order-icon zdjs" src="/static/images/farmer/user/user-icon-kkjl.png" - mode="scaleToFill" /> + <image class="icon margin-bottom order-icon zdjs" + src="/static/images/farmer/user/user-icon-kkjl.png" mode="scaleToFill" /> </view> <view class="order-desc tg">账单结算</view> </view> - <view class="nav row margin-tb" @click="goto('/pages/farmer/flower-manage',true)"> + <view class="nav row margin-tb" @click="goto('/pages/farmer/flower-manage/flower-manage',true)"> <view class="img-c"> - <image class="icon margin-bottom order-icon spgl" src="/static/images/farmer/user/user-icon-spgl.png" - mode="scaleToFill" /> + <image class="icon margin-bottom order-icon spgl" + src="/static/images/farmer/user/user-icon-spgl.png" mode="scaleToFill" /> </view> <view class="order-desc cqw">商品管理</view> </view> - <view class="nav row margin-tb" @click="goto('/pages/farmer/order-sale',true)"> + <view class="nav row margin-tb" @click="goto('/pages/farmer/order-sale/order-sale',true)"> <view class="img-c"> - <image class="icon margin-bottom order-icon shlp" src="/static/images/farmer/user/user-icon-shlp.png" - mode="scaleToFill" /> + <image class="icon margin-bottom order-icon shlp" + src="/static/images/farmer/user/user-icon-shlp.png" mode="scaleToFill" /> </view> <view class="order-desc syst">售后理赔</view> </view> - <view class="nav row margin-tb" @click="goto('/pages/farmer/order-records',true)"> + <view class="nav row margin-tb" @click="goto('/pages/farmer/order-records/order-records',true)"> <view class="img-c"> - <image class="icon margin-bottom order-icon kkjl" src="/static/images/farmer/user/user-icon-kkjl.png" - mode="scaleToFill" /> + <image class="icon margin-bottom order-icon kkjl" + src="/static/images/farmer/user/user-icon-kkjl.png" mode="scaleToFill" /> </view> <view class="order-desc wbsp">扣款记录</view> </view> @@ -142,7 +136,7 @@ </view> <farmer-footer flg="0"></farmer-footer> - + </view> </template> @@ -155,25 +149,25 @@ tcode: '', inviterName: '', // StatusBar:0, - + //公告的 noticeList: [], currentNoticeIndex: 0, currentNotice: { - + }, scrollable: false, - + }; }, - + onLoad(options) { const url = options.q ? decodeURIComponent(options.q) : ''; - const urlcode = options.url&&decodeURIComponent(options.url) || '' + const urlcode = options.url && decodeURIComponent(options.url) || '' }, created() { //公告 - this.$http.request('get', '/api/ua/announcement/list', { + this.$http.request('get', '/api/announcement/page', { params: { size: 5, status: 'A' @@ -221,14 +215,16 @@ }) }, - - + + } } </script> <style lang="scss" scoped> + @import "../user/user.scss"; + @import "./home.scss"; </style> diff --git a/pages/home/home.scss b/pages/home/home.scss index cfb5ac2..8640718 100644 --- a/pages/home/home.scss +++ b/pages/home/home.scss @@ -1,6 +1,13 @@ -.main-container.home{ - background-image: url('../../static/images/farmer/home/bg.png'); +.main-container{ + // background-image: url('../../static/images/farmer/home/bg.png'); + background: #E1F0E7; + .top-bg{ + background-image: unset; + max-height: unset; + height: unset; + background-color: unset; + } .home-banner-image{ width: 750rpx; @@ -78,11 +85,12 @@ .main-container.farmer.home{ - background-image: url('../../static/images/farmer/home/bg.png'); + // background-image: url('../../static/images/farmer/home/bg.png'); min-height: 99vh; - + padding: 30rpx; .item-container{ padding: 22rpx 28rpx; + background-color: #fff; .title{ font-weight: 600; font-size: 32rpx; @@ -99,6 +107,8 @@ .tj-each{ flex:1; text-align: center; + margin-top: 20rpx; + margin-bottom: 20rpx; .num{ font-weight: 400; font-size: 32rpx; @@ -110,100 +120,125 @@ font-size: 24rpx; color: #000000; line-height: 34rpx; + margin-top: 12rpx; } } - .tj-panel{ - border-radius: 6rpx; - .name{ - font-weight: 400; - font-size: 24rpx; - color: #000000; - line-height: 34rpx; - } - .name::after{ - width: 0; - height: 0; - border-top: 0px solid transparent; - border-right: 12rpx solid transparent; - border-left: 18rpx solid var(--topicdarkgray); - border-bottom: 12rpx solid transparent; - } - .num{ - font-weight: 400; - font-size: 32rpx; - color: #20613D; - line-height: 44rpx; - } - - } - .tj-panel.pink{ - background: #E7F6EB; - } - .tj-panel.green{ - background: #FDF4E5; - } + - .order-icon{ - width: 80rpx; - height: 80rpx; - margin: 0 auto; - display: block; + + } + .rate-view{ + padding-top: 16rpx; + } + .tj-panel{ + border-radius: 6rpx; + max-width: 234rpx; + text-align: center; + margin-left: 20rpx; + padding-top: 16rpx; + height: 102rpx; + .name{ + position: relative; + font-weight: 400; + font-size: 24rpx; + color: #000000; + line-height: 34rpx; } + .name::after{ + content: ''; + position: absolute; + top: 50%; /* 将三角形垂直居中 */ + left: 180rpx; + transform: translateY(-50%) rotate(0deg); /* 旋转90度使三角形指向右,并垂直居中 */ + border-top: 12rpx solid transparent; + border-left: 12rpx solid #20613D; + border-bottom: 12rpx solid transparent; + } + .name.pink::after{ + content: ''; + position: absolute; + top: 50%; /* 将三角形垂直居中 */ + transform: translateY(-50%) rotate(0deg); /* 旋转90度使三角形指向右,并垂直居中 */ + border-top: 12rpx solid transparent; + border-left: 12rpx solid #936E32; + border-bottom: 12rpx solid transparent; + } + .num{ + font-weight: 400; + font-size: 32rpx; + color: #20613D; + line-height: 44rpx; + } + .title{ + margin-top: 12rpx; - .order-icons{ - margin-top: 40rpx; - .nav{ - flex: 1; - } - .margin-tb{ - // margin-top: 24rpx; - } - .order-desc{ - font-size: 28rpx; - color: #000000; - text-align: center; - } - .img-c{ - // min-height: 68rpx; - // width: fit-content; - // margin: 0 auto; - } - .order-icon{ - background-size: 100% 100%; - // display: inline-block; - // margin-left: auto; - // margin-right: auto; - } - .order-icon.zdjs{ - margin-top: -8rpx; - width: 32rpx; - height: 42rpx; - } - .order-icon.spgl{ - margin-top: -8rpx; - width: 48rpx; - height: 48rpx; - } - .order-icon.cqw{ - // margin-top: 16rpx; - margin-top: -2rpx; - width: 54rpx; - height: 58rpx; - } - .order-icon.syst{ - // margin-top: 12rpx; - // margin-top: 0rpx; - width: 58rpx; - height: 58rpx; - } - .order-icon.wbsp{ - margin-top: -10rpx; - width: 52rpx; - height: 52rpx; - } } } + .tj-panel.pink{ + background: #E7F6EB; + } + .tj-panel.green{ + background: #FDF4E5; + } } + .order-icon{ + width: 80rpx; + height: 80rpx; + margin: 0 auto; + display: block; + } + + .order-icons{ + margin-top: 40rpx; + .nav{ + flex: 1; + } + .margin-tb{ + // margin-top: 24rpx; + } + .order-desc{ + font-size: 28rpx; + color: #000000; + text-align: center; + margin-top: 12rpx; + } + .img-c{ + // min-height: 68rpx; + // width: fit-content; + // margin: 0 auto; + } + .order-icon{ + background-size: 100% 100%; + // display: inline-block; + // margin-left: auto; + // margin-right: auto; + } + .order-icon.zdjs{ + // margin-top: -8rpx; + width: 54rpx; + height: 58rpx; + } + .order-icon.spgl{ + margin-top: 6rpx; + width: 52rpx; + height: 52rpx; + } + .order-icon.shlp{ + // margin-top: 16rpx; + margin-top: -4rpx; + width: 54rpx; + height: 58rpx; + } + .order-icon.kkjl{ + // margin-top: 12rpx; + // margin-top: 0rpx; + margin-top: -6rpx; + width: 58rpx; + height: 58rpx; + } + + } + } \ No newline at end of file diff --git a/pages/login/farmer-login.vue b/pages/login/farmer-login.vue index 36c80da..caf2acc 100644 --- a/pages/login/farmer-login.vue +++ b/pages/login/farmer-login.vue @@ -32,8 +32,8 @@ <button @tap="login()" class="bottom-button">登 录</button> <view class="flex"> - <view class="topic-font" @click="loginType='code'">手机验证码登录</view> - <view class="topic-font" @click="loginType='pwd'">账号密码登录</view> + <view class="topic-font" v-if="loginType=='pwd'" @click="loginType='code'">手机验证码登录</view> + <view class="topic-font" v-if="loginType=='code'" @click="loginType='pwd'">账号密码登录</view> <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view> </view> @@ -50,12 +50,14 @@ data() { return { openId: '-1', - // userName: '12345678', - // password: '12345678', - userName: '', + userName: 'gzm', + password: '123456', + // userName: '', + // password: '', + phoneNumber: '', smsCode:'', - password: '', + checked: false, loginType: 'pwd', //pwd和code,密码和验证码登录 pcfvalue: undefined, @@ -154,7 +156,7 @@ // const { // code // } = await this.$http.request('get', '/api/login/admin') - const resp = await this.$store.dispatch('loginShop', post); + const resp = await this.$store.dispatch('loginSupplier', post); // uni.hideLoading() if (resp.code == 0) { @@ -258,6 +260,11 @@ .t-login .t-a { position: relative; + .get-code{ + position: absolute; + right: 40rpx; + top: 20rpx; + } } .t-login .t-a .icon { diff --git a/pages/login/farmer-reg.vue b/pages/login/farmer-reg.vue index 877af58..a7871d8 100644 --- a/pages/login/farmer-reg.vue +++ b/pages/login/farmer-reg.vue @@ -22,8 +22,8 @@ </view> </view> <view class="form-item before-line"> - <view class="label required">店铺头像(750*750px)</view> - <view class="m-l-a m-r-0 flex"> + <view class="label required" style="width: 300rpx;">店铺头像(750*750px)</view> + <view class="m-l-a m-r-0 flex m-t-20 m-b-20"> <view class="component-button-upload" @click="uploadIcon('icon')" :style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}"> @@ -83,19 +83,19 @@ </view> <view class="flex"> <u--textarea v-model="dto.ps" placeholder="请输入店铺简介"></u--textarea> - </view> - <view class="form-item before-line"> + <view class="form-item before-line m-t-20"> <view class="label required">选择审核方式</view> <view class="m-l-a m-r-0 flex"> + <u-radio-group v-model="dto.idcardType" placement="row"> - <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in shTypeList" :key="index" + <u-radio :customStyle="{'margin-bottom': '8px','margin-right': '8px','font-size':'28rpx'}" v-for="(item, index) in shTypeList" :key="index" :label="item.name" :name="item.name"> </u-radio> </u-radio-group> </view> </view> - <view class="form-item before-line" v-if="dto.idcardType=='身份证'"> + <view class="form-item before-line m-t-20 p-b-20" v-if="dto.idcardType=='身份证'"> <view class="label required">身份证正反面</view> <view class="m-l-a m-r-0 flex"> <view class="component-button-upload m-r-15" @click="uploadIcon('icon')" @@ -108,7 +108,7 @@ </view> </view> </view> - <view class="form-item before-line" v-if="dto.idcardType=='营业执照'"> + <view class="form-item before-line m-t-20 p-b-20" v-if="dto.idcardType=='营业执照'"> <view class="label required">营业执照</view> <view class="m-l-a m-r-0 flex"> <view class="component-button-upload m-r-15" @click="uploadIcon('icon')" @@ -122,7 +122,7 @@ - <view class="button-green-1 m-t-20 button-fixed-bottom before-line" @click="submit"> + <view class="button-green-1 m-t-20 button-fixed-bottom before-line " @click="submit"> 提交审核 </view> @@ -141,7 +141,6 @@ <script> import environments from '@/environments' - import xflSelect from '@/components/xfl-select/xfl-select.vue'; //导入 import { mapState @@ -214,7 +213,7 @@ // }) - this.$http.request('get', '/api/dict/value', { + this.$http.request('get', '/api/code/value', { params: { typeCode: 'APPLICATION_TYPE' } @@ -359,7 +358,6 @@ ...mapState(['currentInfo']) }, components: { - xflSelect } } </script> @@ -367,7 +365,7 @@ <style lang="scss" scoped> .form-item { // padding: 40rpx; - border-bottom: 1px solid #F3F3F3; + border-bottom: 2rpx solid #F3F3F3; display: flex; // height: 100px; diff --git a/pages/notice/list.vue b/pages/notice/list.vue index 0c511f0..5b48e4a 100644 --- a/pages/notice/list.vue +++ b/pages/notice/list.vue @@ -1,7 +1,7 @@ <template> <!-- 列表页面 --> <view> - <view class="p15" style="min-height: calc(100vh - 160rpx);"> + <view class="p15" style="min-height: calc(100vh - 260rpx);"> <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data> <view v-for="(item,index) in list" :key="index" class="m-b-24"> <view @click.stop="toDetail(item)" class="notice-item"> @@ -25,7 +25,7 @@ }, onLoad() { // this.list = [{},{}] - this.listApi = '/api/ua/announcement/list' + this.listApi = '/api/announcement/page' this.getList() }, diff --git a/pages/notice/notice.vue b/pages/notice/notice.vue index b95915d..fd4e569 100644 --- a/pages/notice/notice.vue +++ b/pages/notice/notice.vue @@ -45,7 +45,7 @@ this.$message.showLoading() const { data - } = await this.$http.request('get', '/api/ua/announcement/get/' + this.id, { + } = await this.$http.request('get', '/api/announcement/page/view?id=' + this.id, { }) diff --git a/pages/user/bussincess-user.vue b/pages/user/bussincess-user.vue index ba36baa..e0d8e38 100644 --- a/pages/user/bussincess-user.vue +++ b/pages/user/bussincess-user.vue @@ -34,35 +34,6 @@ </view> - <!-- 其他 --> - <view class="user-utils m-20" v-if="false"> - <view class="flex user-util"> - <view class="m-r-2"> - <uni-icons type="location-filled"></uni-icons> - </view> - <view class="name"> - 我送达的todo? - </view> - <view class="right-icon"> - <uni-icons type="right"></uni-icons> - </view> - </view> - <!-- @click="goto('/pages/user/other/contact',true)" --> - <view class="flex user-util"> - <view class="m-r-2"> - <uni-icons type="location-filled"></uni-icons> - </view> - <view class="name"> - 我核销的todo? - </view> - <view class="right-icon"> - <uni-icons type="right"></uni-icons> - - </view> - </view> - - </view> - </view> diff --git a/pages/user/farmer-user.vue b/pages/user/farmer-user.vue index 58507ae..0245c43 100644 --- a/pages/user/farmer-user.vue +++ b/pages/user/farmer-user.vue @@ -4,33 +4,28 @@ 我的 </view> --> <!-- 背景图 --> - <view class="top-bg" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }"> - <view class="title" style="position: relative;" > - 我<uni-icons type="settings"></uni-icons> - + <view class="top-bg img100" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }"> + <view class="title" style="position: relative;"> + 我的 + </view> - <view class="icons"> - <image class="icon1" src="../../static/imgs/user/usr-icon1.png" mode="aspectFit"></image> - <image class="icon2" src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit"></image> - </view> - <view class="flex m-20 user-info" @click="goto('/pages/user/user-info/user-info',true)" - v-if="currentInfo&&(currentInfo.id)"> + <view class="flex m-t-20 user-info" v-if="currentInfo&&(currentInfo.id)"> <!-- 头像 --> <image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit"></image> <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image> - <view class="name"> - {{currentInfo.nickName || '-'}} + <view class="name" style="margin-top: 12rpx;"> + <view class="t1">{{currentInfo.nickName || '-'}}</view> + <view class="t2 m-t-12">{{currentInfo.tel || '暂无电话'}}</view> </view> - <uni-icons class="right-icon" type="right"></uni-icons> </view> - + </view> <view class="user-utils m-20"> <view class="user-util"> - <view>我的客服</view> + <view class="title">我的客服</view> <view class="flex"> <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image> <view class="name"> @@ -41,7 +36,7 @@ </view> - <view class="button-login-ou topic-gray" @click="clearlogout"> + <view class="button-login-out topic-gray" @click="clearlogout"> 退出登录 </view> diff --git a/pages/user/user.scss b/pages/user/user.scss index 7ab8232..9d4488b 100644 --- a/pages/user/user.scss +++ b/pages/user/user.scss @@ -1,20 +1,35 @@ -.user-container{ +.main-container{ .right-icon{ margin-left: auto; margin-right: 0rpx; } .top-bg{ - // background: linear-gradient( 180deg, #BBE9E6 0%, rgba(245,245,245,0) 100%, rgba(245,245,245,0) 100%); - background-image: url('../../static/images/farmer/home/bg.png'); - - width: 750rpx; + + padding: 32rpx; + background-image: url('../../static/images/farmer/user/bg.png'); + height: 438rpx; max-height: 438rpx; - + .user-icon{ + width: 116rpx; + height: 116rpx; + margin-right: 30rpx; + border-radius: 50%; + } .title{ text-align: center; font-weight: 600; + font-size: 32rpx; + } + .name{ + .t1{ + font-size: 36rpx; + font-weight: 600; + } + .t2{ + font-size: 28rpx;; + } } .icons{ width: fit-content; @@ -38,11 +53,12 @@ } } } + .user-info{ padding: 28rpx 24rpx; - background: #FFFFFF; + // background: #FFFFFF; border-radius: 16rpx; - line-height: 116rpx; + // line-height: 116rpx; .name{ font-weight: 600; font-size: 32rpx; @@ -131,6 +147,11 @@ .button-login-out{ width: 690rpx; height: 86rpx; + margin: 0 auto; + position: fixed; + bottom: 220rpx; + left: 0; + right: 0; background: #FFFFFF; border-radius: 8rpx; text-align: center; @@ -140,10 +161,16 @@ .user-utils{ background: #FFFFFF; border-radius: 16rpx; - padding: 12rpx 28rpx; + padding: 22rpx 28rpx; .user-util{ border-bottom: 2rpx solid #EEEEEE; - + .title{ + font-weight: 600; + font-size: 32rpx; + color: #000000; + line-height: 44rpx; + margin-bottom: 20rpx; + } .name{ font-size: 600; font-size: 28rpx; diff --git a/plugins/http.js b/plugins/http.js index 58e3162..7d532e9 100644 --- a/plugins/http.js +++ b/plugins/http.js @@ -191,7 +191,7 @@ let header = { Authorization: token ? `Bearer ${token}` : null, } - var url = environments.httpBaseUri + '/wxkj/upload/file' + var url = environments.httpBaseUri + '/api/upload/file' if (environments.type == 'prod') { //需要拼接 var year = utils.toYear(new Date()) @@ -210,11 +210,12 @@ filePath: filePath, name: 'file', success: (res) => { - console.log('res', res) + console.log('res debug', res) message.hideLoading() if (res.statusCode === 200) { const obj = JSON.parse(res.data) - if (obj.code.startsWith('200')) { + console.log('res debug2', obj) + if (obj.code.startsWith('200')||obj.code==='0') { resolve({ data: obj.data, code: 0, @@ -257,6 +258,7 @@ try { return await http.uploadTemp(filePath, dto) } catch (e) { + console.log('error',e) return e } }, diff --git a/static/common/nodata.png b/static/common/nodata.png index 48db3c3..d74eed7 100644 --- a/static/common/nodata.png +++ b/static/common/nodata.png Binary files differ diff --git a/static/images/farmer/user/bg.png b/static/images/farmer/user/bg.png new file mode 100644 index 0000000..7ed7735 --- /dev/null +++ b/static/images/farmer/user/bg.png Binary files differ diff --git a/store/index.js b/store/index.js index fd022d1..acd54c7 100644 --- a/store/index.js +++ b/store/index.js @@ -294,7 +294,7 @@ // url: '/views/app/app-home/app-home' // }) uni.reLaunch({ - url: '/pages/home/home' + url: '/pages/home/farmer-home' }) } else { // this.$message.showToast('登录失败') diff --git a/uni.scss b/uni.scss index c24ca6b..ce00c66 100644 --- a/uni.scss +++ b/uni.scss @@ -1 +1,4 @@ +/* uni.scss */ +@import 'uview-ui/theme.scss'; + @import '@/uni_modules/uni-scss/variables.scss'; \ No newline at end of file diff --git a/uni_modules/uni-scss/theme.scss b/uni_modules/uni-scss/theme.scss index 80ee62f..8b082ff 100644 --- a/uni_modules/uni-scss/theme.scss +++ b/uni_modules/uni-scss/theme.scss @@ -29,3 +29,8 @@ $uni-black: #000000; $uni-white: #ffffff; $uni-transparent: rgba($color: #000000, $alpha: 0); + +@import "uview-ui/theme.scss"; +@import "uview-ui/index.scss"; + +@import '@/node_modules/uview-ui/theme.scss'; \ No newline at end of file -- Gitblit v1.9.3