py 1 жил өмнө
parent
commit
cb2893e2a0

+ 3 - 1
api/groupOrder.js

@@ -19,4 +19,6 @@ export const groupOrderStatus = (data) => request(newsUrlTwo + 'status', 'post',
 // 回显上传订单用户信息
 export const groupOrderFoster = (data) => request(newsUrlTwo + 'foster', 'post', { ...data },false)
 // 申请退款
-export const groupOrderRefund = (data) => request(newsUrlTwo + 'refund', 'post', { ...data },false)
+export const groupOrderRefund = (data) => request(newsUrlTwo + 'refund', 'post', { ...data },false)
+// 获取订单核销码
+export const groupOrderCode = (data) => request(newsUrlTwo + 'order_code', 'post', { ...data },false)

+ 50 - 0
components/canvas-code/code.vue

@@ -0,0 +1,50 @@
+<template>
+	<view class="">
+		<canvas id="qrcode" canvas-id="qrcode" :style="[{'width': width +'px','height': width +'px'}]"></canvas>
+	</view>
+</template>
+
+<script>
+	import UQRCode from 'uqrcodejs';
+	export default {
+		components: {},
+		props: {
+			width: {
+				type: Number,
+				default: 150
+			},
+			// backgroundImg: {
+			// 	type: Number,
+			// 	default: '@/static/img/logo/logo.png'
+			// }
+		},
+		data() {
+			return {};
+		},
+		onLoad(data) {},
+		mounted() {},
+		onReady() {},
+		methods: {
+			getCode(dataValue) {
+				// 获取uQRCode实例
+				var qr = new UQRCode();
+				// 设置二维码内容
+				qr.data = dataValue;
+				// 设置二维码大小,必须与canvas设置的宽高一致
+				qr.size = this.width;
+				// 调用制作二维码方法
+				qr.make();
+				// 获取canvas上下文
+				var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
+				// 设置uQRCode实例的canvas上下文
+				qr.canvasContext = canvasContext;
+				// 调用绘制方法将二维码图案绘制到canvas上
+				qr.drawCanvas();
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 11 - 0
package-lock.json

@@ -11,6 +11,7 @@
         "uni-simple-router": "2.0.7",
         "uniapp-qrcode": "^1.0.2",
         "uploading-oss": "1.0.3",
+        "uqrcodejs": "^4.0.7",
         "wecomjsdk": "1.0.2"
       },
       "devDependencies": {
@@ -168,6 +169,11 @@
       "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz",
       "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
     },
+    "node_modules/uqrcodejs": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmmirror.com/uqrcodejs/-/uqrcodejs-4.0.7.tgz",
+      "integrity": "sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA=="
+    },
     "node_modules/vue": {
       "version": "2.7.10",
       "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",
@@ -315,6 +321,11 @@
         }
       }
     },
+    "uqrcodejs": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmmirror.com/uqrcodejs/-/uqrcodejs-4.0.7.tgz",
+      "integrity": "sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA=="
+    },
     "vue": {
       "version": "2.7.10",
       "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",

+ 1 - 0
package.json

@@ -6,6 +6,7 @@
     "uni-simple-router": "2.0.7",
     "uniapp-qrcode": "^1.0.2",
     "uploading-oss": "1.0.3",
+    "uqrcodejs": "^4.0.7",
     "wecomjsdk": "1.0.2"
   },
   "devDependencies": {

+ 97 - 0
pages-buy/group-code.vue

@@ -0,0 +1,97 @@
+<template>
+	<view class="flex-common-css">
+		<Nav title=" " leftIconColor="#333" titleColor="#333" bgckgroundBox='transparent'></Nav>
+		<scroll-view :scroll-y="true" class="scroll-view-css p-24 box-border-box" @scrolltolower="scrolltolower">
+			<view class="text-align-center fs-34 fc-3 fw-600 mb-20">
+				{{codeData.goods_name || ''}}
+			</view>
+			<view class="fs-26 fc-9 mb-20 text-align-center">
+				有效期:{{codeData.end_time || ''}}
+			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box">
+				<view class="fs-30 fc-3 fw-500 mb-20">
+					券码 <span class="fs-26 fc-9" v-if="codeData.code">({{codeData.code.length || ''}}张)</span>
+				</view>
+				<view class="align-items-center flex-wrap-wrap">
+					<view class="" v-for="(item,index) in codeData.code" :key="index">
+						<view class="fs-26 fw-600 mr-20" v-show="index<=2">
+							{{item.code}}
+						</view>
+					</view>
+				</view>
+				<view class="fs-28">
+					...
+				</view>
+				<view class="flex-direction align-items-center flex-justify-center">
+					<canvasCode ref="canvasCodeRef" class="mb-20"></canvasCode>
+					<view class="but bgc-41ABF5 b-rad-200 fs-30 fc-f text-align-center" @click="groupOrderCode()">
+						刷新券码
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	import canvasCode from '../components/canvas-code/code.vue'
+	import {
+		groupOrderCode
+	} from "@/api/groupOrder.js"
+	import tools from "@/service/tools";
+	export default {
+		components: {
+			canvasCode
+		},
+		data() {
+			return {
+				order_id: 0,
+				codeData: {
+					code: []
+				},
+				time: ''
+			};
+		},
+		onLoad(data) {
+			if (data) {
+				this.order_id = data.order_id
+				this.groupOrderCode()
+				this.time = setInterval(() => {
+					this.groupOrderCode()
+				}, 5000)
+			}
+		},
+		onUnload() {
+			clearInterval(this.time)
+		},
+		mounted() {},
+		methods: {
+			scrolltolower() {
+				console.log('触底');
+			},
+			groupOrderCode() {
+				groupOrderCode({
+					order_id: this.order_id
+				}).then((res) => {
+					if (res.code === 1) {
+						if (this.codeData.code.length >= res.data.code.length) {
+							return
+						}
+						this.codeData = res.data
+						this.$refs.canvasCodeRef.getCode(this.codeData.code[0].code)
+					} else {
+						tools.leftClick()
+					}
+				})
+			}
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.but {
+		width: 100%;
+		padding: 15rpx 0;
+		box-sizing: border-box;
+	}
+</style>

+ 1 - 1
pages-buy/group-refund.vue

@@ -126,7 +126,7 @@
 		mounted() {},
 		methods: {
 			groupOrderRefund() {
-				if (this.refund_id === 0) {
+				if (this.refund_id === 0 || this.fromData.refund_msg === '请选择') {
 					tools.error('请选择退款原因')
 					return
 				}

+ 6 - 1
pages-buy/group-shop.vue

@@ -100,7 +100,7 @@
 									<view class="fs-26 fc-9 mb-8 text-align-right">
 										销量 {{item.sales}}+
 									</view>
-									<view class="item-but fc-f fs-32">
+									<view class="item-but fc-f fs-32" @click.stop="goTOPay(item)">
 										抢购
 									</view>
 								</view>
@@ -145,6 +145,11 @@
 		},
 		mounted() {},
 		methods: {
+			goTOPay(item) {
+				uni.navigateTo({
+					url: '/pages-buy/group-pay?shop_id=' + item.shop_id + '&goods_id=' + item.id
+				});
+			},
 			goToUrl(item) {
 				uni.navigateTo({
 					url: '/pages-buy/group-goods-info?shop_id=' + item.shop_id + '&goods_id=' + item.id +

+ 20 - 2
pages-order/group-info.vue

@@ -93,6 +93,14 @@
 					</view>
 				</view>
 			</view>
+			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20 align-items-center flex-justify-space">
+				<view class="fs-32 fc-3 fw-600">
+					券码信息({{infoData.code_num}}张可用)
+				</view>
+				<view class="goBut text-align-center fs-26 b-r-ccc b-rad-200" @click="goCode">
+					查看券码
+				</view>
+			</view>
 			<view class="bgc-f b-rad-20 p-24 box-border-box mb-20">
 				<view class="align-items-center flex-justify-space mb-20">
 					<view class="text-overflow-ellipsis-one fs-32 fc-3 fw-600">
@@ -211,6 +219,11 @@
 					url: '/pages-buy/group-refund?order_id=' + this.infoData.id
 				})
 			},
+			goCode() {
+				uni.navigateTo({
+					url: '/pages-buy/group-code?order_id=' + this.infoData.id
+				})
+			},
 			contactShop(phone) {
 				uni.makePhoneCall({
 					phoneNumber: phone, // 电话号码
@@ -225,7 +238,7 @@
 			setTimeData(timeData) {
 				let time = ''
 				let array = ''
-				console.log(timeData,'11111');
+				console.log(timeData, '11111');
 				timeData.forEach((v, k) => {
 					v.forEach((i, j) => {
 						let timeTwo = ''
@@ -259,7 +272,7 @@
 			},
 			goToUrl() {
 				uni.navigateTo({
-					url: '/pages-buy/group'
+					url: '/pages-buy/group-shop?shop_id=' + this.infoData.shop_id
 				})
 			},
 			pay() {
@@ -350,6 +363,11 @@
 </script>
 
 <style lang="scss" scoped>
+	.goBut {
+		padding: 10rpx 15rpx;
+		box-sizing: border-box;
+	}
+
 	.bg-img {
 		position: fixed;
 		left: 0;

+ 7 - 1
pages.json

@@ -139,10 +139,16 @@
 						"navigationBarTitleText": "团购申请退款"
 					}
 				},
+				{
+					"path": "group-code",
+					"style": {
+						"navigationBarTitleText": "团购申请退款"
+					}
+				},
 				{
 					"path": "save-order",
 					"style": {
-						"navigationBarTitleText": "团购提交订单"
+						"navigationBarTitleText": "团购券码"
 					}
 				},
 				{

+ 11 - 1
pages/order/index.vue

@@ -129,6 +129,11 @@
 							v-if="type == 5 && item.order_status == 2 || type == 5 && item.order_status == 4">
 							二维码
 						</view>
+						<view class="item-but but-class-two fs-28 mr-18" @click.stop="goCode(item)"
+							v-if="type == 3 && item.order_status == 2">
+							<!-- 代取 -->
+							查看券码
+						</view>
 						<view @click.stop="goToUrl('takeOut', item)" class="item-but but-class-one fs-28 mr-18"
 							v-if="type == 1 && item.order_status == 3 || type == 1 && item.order_status == 7 || type == 1 && item.order_status == 8 || type == 1 && item.order_status == 9 || type == 1 && item.order_status == 10">
 							<!-- 外卖 -->
@@ -286,6 +291,11 @@
 		},
 		mounted() {},
 		methods: {
+			goCode(item) {
+				uni.navigateTo({
+					url: '/pages-buy/group-code?order_id=' + item.id
+				})
+			},
 			openCode(item) {
 				this.onlyCode = item.only_code
 				let m_id = uni.getStorageSync('m_id');
@@ -323,7 +333,7 @@
 					})
 				} else if (type == 'group') {
 					uni.navigateTo({
-						url: '/pages-buy/group'
+						url: '/pages-buy/group-shop?shop_id=' + item.shop_id
 					})
 				} else if (type == 'ticket') {
 					uni.navigateTo({

+ 110 - 105
yarn.lock

@@ -3,122 +3,127 @@
 
 
 "@babel/parser@^7.18.4":
-  version "7.19.0"
-  resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz"
-  integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==
+  "integrity" "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw=="
+  "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz"
+  "version" "7.19.0"
 
 "@types/html5plus@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/@types/html5plus/-/html5plus-1.0.2.tgz"
-  integrity sha512-OklP5lrmLq8/6TUOLgWc0LndUVvAiTWX5dnyoCFhIUtFW9opWsnCtG/UxPgeuC28Rv2XNbFfft/hEEI39P/4Ag==
+  "integrity" "sha512-OklP5lrmLq8/6TUOLgWc0LndUVvAiTWX5dnyoCFhIUtFW9opWsnCtG/UxPgeuC28Rv2XNbFfft/hEEI39P/4Ag=="
+  "resolved" "https://registry.npmjs.org/@types/html5plus/-/html5plus-1.0.2.tgz"
+  "version" "1.0.2"
 
 "@types/uni-app@1.4.4":
-  version "1.4.4"
-  resolved "https://registry.npmjs.org/@types/uni-app/-/uni-app-1.4.4.tgz"
-  integrity sha512-ZTXnrCTblZyoLIoKbTv1Whz1nxrTcM7vg0qGXzDpXP8m9MqdjKt48N3FffQT1IsJWNkxbvJ1Eg5UHDaq+k+oBQ==
+  "integrity" "sha512-ZTXnrCTblZyoLIoKbTv1Whz1nxrTcM7vg0qGXzDpXP8m9MqdjKt48N3FffQT1IsJWNkxbvJ1Eg5UHDaq+k+oBQ=="
+  "resolved" "https://registry.npmjs.org/@types/uni-app/-/uni-app-1.4.4.tgz"
+  "version" "1.4.4"
   dependencies:
-    vue "^2.6.8"
+    "vue" "^2.6.8"
 
 "@vue/compiler-sfc@2.7.10":
-  version "2.7.10"
-  resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz"
-  integrity sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==
+  "integrity" "sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q=="
+  "resolved" "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz"
+  "version" "2.7.10"
   dependencies:
     "@babel/parser" "^7.18.4"
-    postcss "^8.4.14"
-    source-map "^0.6.1"
-
-crypto-js@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz"
-  integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
-
-csstype@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz"
-  integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==
-
-js-base64@^2.6.4:
-  version "2.6.4"
-  resolved "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz"
-  integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
-
-js-base64@3.7.2:
-  version "3.7.2"
-  resolved "https://registry.npmjs.org/js-base64/-/js-base64-3.7.2.tgz"
-  integrity sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ==
-
-jweixin-module@^1.6.0:
-  version "1.6.0"
-  resolved "https://registry.npmjs.org/jweixin-module/-/jweixin-module-1.6.0.tgz"
-  integrity sha512-dGk9cf+ipipHmtzYmKZs5B2toX+p4hLyllGLF6xuC8t+B05oYxd8fYoaRz0T30U2n3RUv8a4iwvjhA+OcYz52w==
-
-nanoid@^3.3.4:
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
-  integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
-
-picocolors@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
-  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-postcss@^8.4.14:
-  version "8.4.16"
-  resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz"
-  integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==
+    "postcss" "^8.4.14"
+    "source-map" "^0.6.1"
+
+"crypto-js@^4.1.1":
+  "integrity" "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
+  "resolved" "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz"
+  "version" "4.1.1"
+
+"csstype@^3.1.0":
+  "integrity" "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA=="
+  "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz"
+  "version" "3.1.0"
+
+"js-base64@^2.6.4":
+  "integrity" "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
+  "resolved" "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz"
+  "version" "2.6.4"
+
+"js-base64@3.7.2":
+  "integrity" "sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ=="
+  "resolved" "https://registry.npmjs.org/js-base64/-/js-base64-3.7.2.tgz"
+  "version" "3.7.2"
+
+"jweixin-module@^1.6.0":
+  "integrity" "sha512-dGk9cf+ipipHmtzYmKZs5B2toX+p4hLyllGLF6xuC8t+B05oYxd8fYoaRz0T30U2n3RUv8a4iwvjhA+OcYz52w=="
+  "resolved" "https://registry.npmjs.org/jweixin-module/-/jweixin-module-1.6.0.tgz"
+  "version" "1.6.0"
+
+"nanoid@^3.3.4":
+  "integrity" "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+  "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
+  "version" "3.3.4"
+
+"picocolors@^1.0.0":
+  "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+  "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
+  "version" "1.0.0"
+
+"postcss@^8.4.14":
+  "integrity" "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ=="
+  "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz"
+  "version" "8.4.16"
   dependencies:
-    nanoid "^3.3.4"
-    picocolors "^1.0.0"
-    source-map-js "^1.0.2"
-
-source-map-js@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
-  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map@^0.6.1:
-  version "0.6.1"
-  resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
-  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-uni-read-pages@1.0.5:
-  version "1.0.5"
-  resolved "https://registry.npmmirror.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz"
-  integrity sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==
-
-uni-simple-router@2.0.7:
-  version "2.0.7"
-  resolved "https://registry.npmmirror.com/uni-simple-router/-/uni-simple-router-2.0.7.tgz"
-  integrity sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA==
-
-uniapp-qrcode@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/uniapp-qrcode/-/uniapp-qrcode-1.0.2.tgz"
-  integrity sha512-jcWwWz4yXsO7if/+78MMXj5VUdZTLu2D6L/IKb4mJkIw87oF11pO3WS/jS27SUcPCrX/BKcir5a2R1uvkaoR9g==
-
-uploading-oss@1.0.3:
-  version "1.0.3"
-  resolved "https://registry.npmjs.org/uploading-oss/-/uploading-oss-1.0.3.tgz"
-  integrity sha512-aqHh5NCOBcrA4d8yCIKR7B9GrKzH88X7gL8BSvIw18pi79AgWnhDkCoyjQmDqzTvjQqYfKwyFTEgnafzMx/GbQ==
+    "nanoid" "^3.3.4"
+    "picocolors" "^1.0.0"
+    "source-map-js" "^1.0.2"
+
+"source-map-js@^1.0.2":
+  "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+  "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
+  "version" "1.0.2"
+
+"source-map@^0.6.1":
+  "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+  "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+  "version" "0.6.1"
+
+"uni-read-pages@1.0.5":
+  "integrity" "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA=="
+  "resolved" "https://registry.npmmirror.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz"
+  "version" "1.0.5"
+
+"uni-simple-router@2.0.7":
+  "integrity" "sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA=="
+  "resolved" "https://registry.npmmirror.com/uni-simple-router/-/uni-simple-router-2.0.7.tgz"
+  "version" "2.0.7"
+
+"uniapp-qrcode@^1.0.2":
+  "integrity" "sha512-jcWwWz4yXsO7if/+78MMXj5VUdZTLu2D6L/IKb4mJkIw87oF11pO3WS/jS27SUcPCrX/BKcir5a2R1uvkaoR9g=="
+  "resolved" "https://registry.npmjs.org/uniapp-qrcode/-/uniapp-qrcode-1.0.2.tgz"
+  "version" "1.0.2"
+
+"uploading-oss@1.0.3":
+  "integrity" "sha512-aqHh5NCOBcrA4d8yCIKR7B9GrKzH88X7gL8BSvIw18pi79AgWnhDkCoyjQmDqzTvjQqYfKwyFTEgnafzMx/GbQ=="
+  "resolved" "https://registry.npmjs.org/uploading-oss/-/uploading-oss-1.0.3.tgz"
+  "version" "1.0.3"
   dependencies:
-    crypto-js "^4.1.1"
-    js-base64 "^2.6.4"
-
-vue-waterfall-easy@2.4.4:
-  version "2.4.4"
-  resolved "https://registry.npmjs.org/vue-waterfall-easy/-/vue-waterfall-easy-2.4.4.tgz"
-  integrity sha512-5OkpT2FPNC3rHBy858zk/nmJxqdPaGmj/KVbmA6dgcvtsovKMa+zuf/Z7F+S2NnObeavpIBztTWgcH3S42ZD+g==
-
-vue@^2.6.8:
-  version "2.7.10"
-  resolved "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz"
-  integrity sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg==
+    "crypto-js" "^4.1.1"
+    "js-base64" "^2.6.4"
+
+"uqrcodejs@^4.0.7":
+  "integrity" "sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA=="
+  "resolved" "https://registry.npmmirror.com/uqrcodejs/-/uqrcodejs-4.0.7.tgz"
+  "version" "4.0.7"
+
+"vue-waterfall-easy@2.4.4":
+  "integrity" "sha512-5OkpT2FPNC3rHBy858zk/nmJxqdPaGmj/KVbmA6dgcvtsovKMa+zuf/Z7F+S2NnObeavpIBztTWgcH3S42ZD+g=="
+  "resolved" "https://registry.npmjs.org/vue-waterfall-easy/-/vue-waterfall-easy-2.4.4.tgz"
+  "version" "2.4.4"
+
+"vue@^2.6.8":
+  "integrity" "sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg=="
+  "resolved" "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz"
+  "version" "2.7.10"
   dependencies:
     "@vue/compiler-sfc" "2.7.10"
-    csstype "^3.1.0"
+    "csstype" "^3.1.0"
 
-wecomjsdk@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/wecomjsdk/-/wecomjsdk-1.0.2.tgz"
-  integrity sha512-nPbrTcA5P8IOY/gQJJ3/AtXE2zSqJIQB156RUAQ2+RvwvJmcR66p7hpZtCjbtKefvyDO0LJBdEFqfjRR72zjIw==
+"wecomjsdk@1.0.2":
+  "integrity" "sha512-nPbrTcA5P8IOY/gQJJ3/AtXE2zSqJIQB156RUAQ2+RvwvJmcR66p7hpZtCjbtKefvyDO0LJBdEFqfjRR72zjIw=="
+  "resolved" "https://registry.npmmirror.com/wecomjsdk/-/wecomjsdk-1.0.2.tgz"
+  "version" "1.0.2"