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