From a693058ca26c5e5cb07febdbe2af6a066e080873 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 03 三月 2026 15:55:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 mini-program/pages/agreement-description/agreement-description.vue |    1 
 mini-program/pages/shopping-cart/shopping-cart.vue                 |   12 
 mini-program/utils/http.interceptor.js                             |    1 
 mini-program/pages/details/details.vue                             |  158 ++++--
 mini-program/pages/mall/mall.vue                                   |    2 
 mini-program/pages/new-address/new-address.vue                     |    1 
 mini-program/pagesA/pages/richText/richText.vue                    |   30 +
 mini-program/static/images/default_empty.png                       |    0 
 mini-program/pages/community/community.vue                         |    5 
 mini-program/unpackage/dist/dev/mp-weixin/common/main.js           |  469 -----------------------
 mini-program/pages/search/search.vue                               |    2 
 mini-program/pages/confirm-order/confirm-order.vue                 |   27 +
 mini-program/pages.json                                            |    6 
 mini-program/pages/index/index.vue                                 |  251 ++++++++++-
 mini-program/pages/settings/settings.vue                           |    1 
 mini-program/pagesA/pages/order-details/order-details.vue          |  110 ++++-
 mini-program/pagesA/pages/order/order.vue                          |   26 
 mini-program/pages/mine/mine.vue                                   |   23 
 mini-program/pages/special-zone/special-zone.vue                   |    4 
 mini-program/components/login/login.vue                            |   36 +
 mini-program/main.js                                               |    8 
 21 files changed, 535 insertions(+), 638 deletions(-)

diff --git a/mini-program/components/login/login.vue b/mini-program/components/login/login.vue
index 56ebcb3..8363ae2 100644
--- a/mini-program/components/login/login.vue
+++ b/mini-program/components/login/login.vue
@@ -47,21 +47,31 @@
 				this.show = false
 			},
 			getphonenumber(e) {
+				var that = this;
 				if (e.detail.errMsg === 'getPhoneNumber:ok') {
-					this.$u.api.wxPhone({
-						code: e.detail.code,
-						shopId:this.recshopid,
-						recId:this.recuserid,
-						openid: this.openid
-					}).then(res => {
-						if (res.code === 200) {
-							this.$store.commit('setUserInfo', res.data.member)
-							this.$store.commit('setToken', res.data.token)
-							this.$store.commit('setRecShopId','')
-							this.$store.commit('setRecUserId','')
-							this.close()
+					uni.login({
+						provider: 'weixin',
+						success: async function (loginRes) {
+							let { code } = loginRes;
+							let res = await that.$u.api.wxLogin({ code })
+							if (res.code === 200) {
+								that.$u.api.wxPhone({
+									code: e.detail.code,
+									shopId:that.recshopid,
+									recId:that.recuserid,
+									openid: res.data.openid
+								}).then(res => {
+									if (res.code === 200) {
+										that.$store.commit('setUserInfo', res.data.member)
+										that.$store.commit('setToken', res.data.token)
+										that.$store.commit('setRecShopId','')
+										that.$store.commit('setRecUserId','')
+										that.close()
+									}
+								})
+							}
 						}
-					})
+					});
 				}
 			}
 		}
diff --git a/mini-program/main.js b/mini-program/main.js
index 0ead4e0..e174e52 100644
--- a/mini-program/main.js
+++ b/mini-program/main.js
@@ -9,9 +9,11 @@
 
 Vue.prototype.$store = store;
 
-Vue.prototype.$baseUrl = 'http://192.168.0.7/dmmall_web_api/'
-// // Vue.prototype.$baseUrl = 'http://192.168.1.85:12015/'
-// Vue.prototype.$baseUrl = 'https://test.doumee.cn/dmmall_web_api/'
+
+// Vue.prototype.$baseUrl = 'http://192.168.1.17:12015/'
+// Vue.prototype.$baseUrl = 'http://192.168.1.85:12015/'
+// Vue.prototype.$baseUrl = 'http://192.168.0.7/dmmall_web_api/'
+Vue.prototype.$baseUrl = 'https://test.doumee.cn/dmmall_web_api/'
 
 Vue.prototype.$onLaunched = new Promise(resolve => {
 	Vue.prototype.$isResolve = resolve
diff --git a/mini-program/pages.json b/mini-program/pages.json
index 26e6c37..db9528e 100644
--- a/mini-program/pages.json
+++ b/mini-program/pages.json
@@ -296,6 +296,12 @@
 					"style": {
 						"navigationBarTitleText": "瀵屾枃鏈�"
 					}
+				},
+				{
+					"path": "pages/richText/richText",
+					"style": {
+						"navigationBarTitleText": "瀵屾枃鏈�"
+					}
 				}
 			]
 		}
diff --git a/mini-program/pages/agreement-description/agreement-description.vue b/mini-program/pages/agreement-description/agreement-description.vue
index 7b4cdde..b946957 100644
--- a/mini-program/pages/agreement-description/agreement-description.vue
+++ b/mini-program/pages/agreement-description/agreement-description.vue
@@ -51,6 +51,7 @@
 								title:'璐﹀彿娉ㄩ攢鎴愬姛',
 								icon:'success'
 							})
+							uni.$emit('loginOut')
 							this.$store.commit('clear')
 							uni.switchTab({
 								url: '/pages/index/index'
diff --git a/mini-program/pages/community/community.vue b/mini-program/pages/community/community.vue
index faf1696..c8c15b6 100644
--- a/mini-program/pages/community/community.vue
+++ b/mini-program/pages/community/community.vue
@@ -112,7 +112,7 @@
 			},
 			getCategary() {
 				this.$u.api.getGoodsLabelsByType({
-					type: 0
+					type: 9
 				}).then(res => {
 					if (res.code === 200) {
 						res.data.forEach(item => {
@@ -205,6 +205,9 @@
 						width: 216rpx;
 						height: 72rpx;
 						line-height: 72rpx;
+						white-space: nowrap;
+						overflow: hidden; 
+						text-overflow: ellipsis; /* 鏄剧ず鐪佺暐鍙� */
 						text-align: center;
 						background: #F7F7F7;
 						border-radius: 8rpx;
diff --git a/mini-program/pages/confirm-order/confirm-order.vue b/mini-program/pages/confirm-order/confirm-order.vue
index 9116c02..a32915c 100644
--- a/mini-program/pages/confirm-order/confirm-order.vue
+++ b/mini-program/pages/confirm-order/confirm-order.vue
@@ -96,16 +96,16 @@
 					<view class="info-item-label">杩愯垂</view>
 					<view class="info-item-price1">楼{{orderInfo.mailAmount}}</view>
 				</view>
-				<view class="info-item">
+				<view class="info-item" @click="show = true">
 					<view class="info-item-label">浼樻儬鍒�</view>
-					<view class="info-item-price1" @click="show = true">
+					<view class="info-item-price1">
 						-楼{{orderInfo.couponAmount}}
 						<image src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
 					</view>
 				</view>
-				<view class="info-item">
+				<view class="info-item" @click="show1 = true">
 					<view class="info-item-label">绉垎鎶垫墸</view>
-					<view class="info-item-price1" @click="show1 = true">
+					<view class="info-item-price1">
 						-楼{{orderInfo.integralAmount}}
 						<image src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
 					</view>
@@ -160,6 +160,7 @@
 					</view>
 				</scroll-view>
 				<view class="coupon-btn" @click="confirmCoupon">纭畾</view>
+				<view style="width: 100%; height: 30rpx;"></view>
 			</view>
 		</u-popup>
 		<!-- 绉垎 -->
@@ -178,6 +179,7 @@
 					</view>
 				</view>
 				<view class="coupon-btn" @click="confirmJF">纭畾</view>
+				<view style="width: 100%; height: 30rpx;"></view>
 			</view>
 		</u-popup>
 		<!-- 闂ㄥ簵 -->
@@ -268,6 +270,7 @@
 				isPosition: true,
 				lat: '',
 				lgt: '',
+				loading: false,
 			};
 		},
 		onLoad(option) {
@@ -283,6 +286,9 @@
 			uni.$on('city', (data) => {
 				this.cityName = data
 				this.getShopLists()
+			})
+			uni.$on('addressDele', (data) => {
+				this.getDefaultAddr()
 			})
 			this.getDefaultAddr()
 		},
@@ -406,6 +412,8 @@
 					title: '璇烽�夋嫨闂ㄥ簵',
 					icon: 'none'
 				})
+				if (this.loading) return;
+				this.loading = true
 				this.$u.api.orderPay({
 					addressId: this.addr ? this.addr.id : null,
 					couponId: this.couponId,
@@ -416,9 +424,11 @@
 					titlePrice: this.orderInfo.payAmount,
 					shopId: this.shopId ? this.shopId.id : null
 				}).then(res => {
+					this.loading = false
 					if (res.code === 200) {
 						// 绉垎鎶垫墸
 						if (res.data.payType === 1) {
+							uni.$emit('shuaxin')
 							uni.redirectTo({
 								url: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`
 							})
@@ -430,13 +440,18 @@
 								signType: res.data.response.signType,
 								paySign: res.data.response.paySign,
 								success (pay) {
+									uni.$emit('shuaxin')
 									if (pay.errMsg === "requestPayment:ok") {
 										uni.redirectTo({
 											url: `/pagesA/pages/order-details/order-details?id=${res.data.orderId}&userType=0`
 										})
-									} else {
-										uni.showToast({ title: '璁㈠崟鍙栨秷鏀粯', icon: 'none' })
 									}
+								},
+								fail (err) {
+									uni.$emit('shuaxin')
+									uni.navigateTo({
+										url: '/pagesA/pages/order/order?userType=0&status=1'
+									})
 								}
 							})
 						}
diff --git a/mini-program/pages/details/details.vue b/mini-program/pages/details/details.vue
index 26b24f5..1941b7a 100644
--- a/mini-program/pages/details/details.vue
+++ b/mini-program/pages/details/details.vue
@@ -1,57 +1,70 @@
 <template>
 	<view class="details" v-if="info">
-		<u-swiper :list="info.banner" height="375" @click="preview"></u-swiper>
-		<view class="info">
-			<view class="info-title">
-				{{info.name}}
-			</view>
-			<view class="commodity-item-box-price">
-				<view class="commodity-item-box-price-a">
-					<text>{{info.minPrice[0]}}</text>
-					<text>.{{info.minPrice[1]}}</text>
+		<template v-if="info.isdeleted === 0">
+			<u-swiper :list="info.banner" height="375" @click="preview"></u-swiper>
+			<view class="info">
+				<view class="info-title">
+					{{info.name}}
 				</view>
-				<view class="commodity-item-box-price-b">
-					鍘熶环楼{{info.price}}
-				</view>
-			</view>
-			<view class="info-num">
-				<text>宸插敭 {{info.saleNum + info.realSaleNum}}+</text>
-				<text>搴撳瓨 {{info.stock}}</text>
-			</view>
-		</view>
-		<view class="content">
-			<view class="content-label">鍟嗗搧璇︽儏</view>
-			<view class="content-val">
-				<u-parse :content="info.content"></u-parse>
-			</view>
-		</view>
-		<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 108rpx);"></view>
-		<view class="footer">
-			<view class="edit">
-				<view class="edit-left">
-					<view class="edit-left-row" @click="shoucang">
-						<image src="/static/icon/ic_collect_sel@2x.png" mode="widthFix" v-if="info.collectStatus === 1"></image>
-						<image src="/static/icon/ic_collect@2x.png" mode="widthFix" v-else></image>
-						<text>{{info.collectStatus === 1 ? '宸叉敹钘�' : '鏀惰棌'}}</text>
+				<view class="commodity-item-box-price">
+					<view class="commodity-item-box-price-a">
+						<text>{{info.minPrice[0]}}</text>
+						<text>.{{info.minPrice[1]}}</text>
 					</view>
-					<view class="edit-left-row">
-						<button open-type="contact">瀹㈡湇</button>
-						<image src="/static/icon/detail_ic_kefu@2x.png" mode="widthFix"></image>
-						<text>瀹㈡湇</text>
-					</view>
-					<view class="edit-left-row" @click="toCard">
-						<image src="/static/icon/detail_ic_cart@2x.png" mode="widthFix"></image>
-						<text>璐墿杞�</text>
-						<view class="edit-left-row-num" v-if="cardObj && cardObj.cartTypeNum > 0">{{cardObj.cartTypeNum}}</view>
+					<view class="commodity-item-box-price-b">
+						鍘熶环楼{{info.linePrice}}
 					</view>
 				</view>
-				<view class="edit-btn">
-					<view class="edit-btn-a" @click="addCard(info)">鍔犲叆璐墿杞�</view>
-					<view class="edit-btn-b" @click="submit">绔嬪嵆璐拱</view>
+				<view class="info-num">
+					<text>宸插敭 {{info.saleNum + info.realSaleNum}}+</text>
+					<text>搴撳瓨 {{info.stock}}</text>
 				</view>
 			</view>
-			<view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
-		</view>
+			<view class="content">
+				<view class="content-label">鍟嗗搧璇︽儏</view>
+				<view class="content-val">
+					<u-parse :content="info.content"></u-parse>
+				</view>
+			</view>
+			<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 108rpx);"></view>
+			<view class="footer">
+				<view class="edit">
+					<view class="edit-left">
+						<view class="edit-left-row" @click="shoucang">
+							<image src="/static/icon/ic_collect_sel@2x.png" mode="widthFix" v-if="info.collectStatus === 1"></image>
+							<image src="/static/icon/ic_collect@2x.png" mode="widthFix" v-else></image>
+							<text>{{info.collectStatus === 1 ? '宸叉敹钘�' : '鏀惰棌'}}</text>
+						</view>
+						<view class="edit-left-row">
+							<button open-type="contact">瀹㈡湇</button>
+							<image src="/static/icon/detail_ic_kefu@2x.png" mode="widthFix"></image>
+							<text>瀹㈡湇</text>
+						</view>
+						<view class="edit-left-row" @click="toCard">
+							<image src="/static/icon/detail_ic_cart@2x.png" mode="widthFix"></image>
+							<text>璐墿杞�</text>
+							<view class="edit-left-row-num" v-if="cardObj && cardObj.cartTypeNum > 0">{{cardObj.cartTypeNum}}</view>
+						</view>
+					</view>
+					<view class="edit-btn">
+						<template v-if="info.status === 0">
+							<view class="edit-btn-a" @click="addCard(info)">鍔犲叆璐墿杞�</view>
+							<view class="edit-btn-b" @click="submit">绔嬪嵆璐拱</view>
+						</template>
+						<template v-else>
+							<view style="width: 250rpx; height: 88rpx;"></view>
+							<view class="edit-btn-c">鍟嗗搧宸蹭笅鏋�</view>
+						</template>
+					</view>
+				</view>
+				<view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
+			</view>
+		</template>
+		<template v-else>
+			<view class="wuImg">
+				<image src="/static/images/default_empty.png" mode="widthFix"></image>
+			</view>
+		</template>
 		<Login ref="login" />
 	</view>
 </template>
@@ -126,12 +139,12 @@
 				}
 				this.$u.api.addCart({
 					goodsId: e.id,
-					goodsSkuId: e.skuResponsesList[0].id,
+					goodsSkuId: e.goodsSkuResponseList[0].id,
 					num: 1
 				}).then(res => {
 					if (res.code === 200) {
 						this.cardNum()
-						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'none' })
+						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success', mask: true })
 					}
 				})
 			},
@@ -160,18 +173,22 @@
 				})
 			},
 			getDetails() {
-				this.$u.api.goodsInfo({
-					goodsId: this.id,
-					memberId: this.userInfo ? this.userInfo.id : null,
-				}).then(res => {
-					if (res.code === 200) {
-						res.data.minPrice = res.data.minPrice.toFixed(2).split('.')
-						if (res.data.goodBannerMultiFiles && res.data.goodBannerMultiFiles.length > 0) {
-							res.data.banner = res.data.goodBannerMultiFiles.map(item => item.fileurlfull)
+				try {
+					this.$u.api.goodsInfo({
+						goodsId: this.id,
+						memberId: this.userInfo ? this.userInfo.id : null,
+					}).then(res => {
+						if (res.code === 200) {
+							res.data.minPrice = res.data.minPrice.toFixed(2).split('.')
+							if (res.data.goodBannerMultiFiles && res.data.goodBannerMultiFiles.length > 0) {
+								res.data.banner = res.data.goodBannerMultiFiles.map(item => item.fileurlfull)
+							}
+							this.info = res.data
 						}
-						this.info = res.data
-					}
-				})
+					})
+				} catch (err) {
+					console.log(err)
+				}
 			}
 		}
 	}
@@ -185,6 +202,18 @@
 <style lang="scss" scoped>
 	.details {
 		width: 100%;
+		.wuImg {
+			width: 100%;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			padding-top: 400rpx;
+			box-sizing: border-box;
+			image {
+				width: 320rpx;
+				height: 320rpx;
+			}
+		}
 		.footer {
 			width: 100%;
 			position: fixed;
@@ -276,6 +305,17 @@
 						font-size: 30rpx;
 						color: #FFFFFF;
 					}
+					.edit-btn-c {
+						width: 200rpx;
+						height: 88rpx;
+						line-height: 88rpx;
+						text-align: center;
+						background: #999999;
+						border-radius: 44rpx;
+						font-weight: 500;
+						font-size: 30rpx;
+						color: #FFFFFF;
+					}
 				}
 			}
 		}
diff --git a/mini-program/pages/index/index.vue b/mini-program/pages/index/index.vue
index fe1fedc..0a15e6e 100644
--- a/mini-program/pages/index/index.vue
+++ b/mini-program/pages/index/index.vue
@@ -10,13 +10,30 @@
 				</view>
 			</view>
 			<view class="search" @click="jumpSearch">
-				<u-search placeholder="璇疯緭鍏ュ晢鍝佸悕绉版悳绱�" disabled height="36" searchIconColor="#999999" borderColor="#eeeeee"
+				<u-search placeholder="璇疯緭鍏ュ晢	鍝佸悕绉版悳绱�" disabled height="36" searchIconColor="#999999" borderColor="#eeeeee"
 					bgColor="rgba(255,255,255,0.9)" :showAction="false" />
 			</view>
 			<view class="banner">
-				<u-swiper :list="list" keyName="imgurl" height="150" indicator indicatorMode="dot"></u-swiper>
+				<u-swiper :list="list" keyName="imgurl" height="150" indicator indicatorMode="dot" @click="jumpBanner"></u-swiper>
 			</view>
-			<u-scroll-list indicatorActiveColor="#004096">
+			<swiper class="cate" @change="changeCate">
+				<swiper-item v-for="(item, index) in labels" :key="index">
+					<view class="cate-list">
+						<view class="cate-item" v-for="(child, a) in item" :key="a" @click="jumpSearch1(child, 1)">
+							<view class="cate-item-image">
+								<image :src="child.imgUrl" mode="widthFix"></image>
+							</view>
+							<text>{{child.name}}</text>
+						</view>
+						<view style="width: 25%; height: 0;"></view>
+						<view style="width: 25%; height: 0;"></view>
+					</view>
+				</swiper-item>
+			</swiper>
+			<view class="cate-dian">
+				<view :class="cateIndex === index ? 'cate-dian-item active' : 'cate-dian-item'" v-for="(item, index) in labels" :key="index"></view>
+			</view>
+			<!-- <u-scroll-list indicatorActiveColor="#004096">
 				<view class="scroll-list">
 					<view class="scroll-list__line" v-for="(item, index) in labels" :key="index">
 						<view class="cate-item" v-for="(child, a) in item" :key="a" @click="jumpSearch1(child, 1)">
@@ -27,11 +44,28 @@
 						</view>
 					</view>
 				</view>
-			</u-scroll-list>
+			</u-scroll-list> -->
 			<view class="title">
 				<view class="title-left">閫傜敤鍝佺墝</view>
 			</view>
-			<u-scroll-list indicatorActiveColor="#004096">
+			<swiper class="pingpai" @change="changeBrand">
+				<swiper-item v-for="(item, index) in brand" :key="index">
+					<view class="pingpai-list">
+						<view class="pingpai-item" v-for="(child, a) in item" :key="a" @click="jumpSearch1(child, 2)">
+							<view class="pingpai-item-image">
+								<image :src="child.imgUrl" mode="widthFix"></image>
+							</view>
+							<text>{{child.name}}</text>
+						</view>
+						<view style="width: 25%; height: 0;"></view>
+						<view style="width: 25%; height: 0;"></view>
+					</view>
+				</swiper-item>
+			</swiper>
+			<view class="cate-dian">
+				<view :class="brandIndex === index ? 'cate-dian-item active' : 'cate-dian-item'" v-for="(item, index) in brand" :key="index"></view>
+			</view>
+			<!-- <u-scroll-list indicatorActiveColor="#004096">
 				<view class="scroll-list" style="padding: 0;">
 					<view class="scroll-list__line" v-for="(item, index) in brand" :key="index">
 						<view class="cate-item1" v-for="(child, a) in item" :key="a" @click="jumpSearch1(child, 2)">
@@ -40,7 +74,7 @@
 						</view>
 					</view>
 				</view>
-			</u-scroll-list>
+			</u-scroll-list> -->
 			<view class="title">
 				<view class="title-left">鍝佽川涓撳尯</view>
 				<view class="title-right" @click="toZhuanqu">
@@ -118,19 +152,15 @@
 		data() {
 			return {
 				list: [],
-				labels: [
-					[],
-					[]
-				],
-				brand: [
-					[],
-					[],
-				],
+				labels: [],
+				brand: [],
 				specialZone: [],
 				goodsList: [],
 				page: 1,
 				next: true,
-				isShow: false
+				isShow: false,
+				cateIndex: 0,
+				brandIndex: 0,
 			}
 		},
 		async onLoad() {
@@ -146,6 +176,32 @@
 			this.getGoodsList()
 		},
 		methods: {
+			changeCate(e) {
+				this.cateIndex = e.detail.current
+			},
+			changeBrand(e) {
+				this.brandIndex = e.detail.current
+			},
+			jumpBanner(e) {
+				// 澶栭摼
+				if (this.list[e].type == 1 && this.list[e].content) {
+					uni.navigateTo({
+						url: '/pagesA/pages/webview/webview?url=' + this.list[e].content
+					})
+				// 瀵屾枃鏈�
+				} else if (this.list[e].type == 0 && this.list[e].content) {
+					uni.setStorageSync('fuwenben', this.list[e].content);
+					uni.navigateTo({
+						url: '/pagesA/pages/richText/richText'
+					})
+				// 鍥剧墖棰勮
+				} else {
+					uni.previewImage({
+						urls: [this.list[e].imgurl],
+						current: this.list[e].imgurl
+					})
+				}
+			},
 			toZhuanqu() {
 				uni.navigateTo({
 					url: '/pages/zhuanqu/zhuanqu'
@@ -162,7 +218,7 @@
 					num: 1
 				}).then(res => {
 					if (res.code === 200) {
-						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success' })
+						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success', mask: true })
 					}
 				})
 			},
@@ -190,13 +246,13 @@
 				this.$u.api.getGoodsLabelsByType({ type: 0 })
 					.then(res => {
 						if (res.code === 200) {
-							this.labels = this.alternateChunkArraySimple(res.data)
+							this.labels = this.chunkArray(res.data)
 						}
 					})
 				this.$u.api.getGoodsLabelsByType({ type: 14 })
 					.then(res => {
 						if (res.code === 200) {
-							this.brand = this.alternateChunkArraySimple(res.data, 2)
+							this.brand = this.chunkArray(res.data, 4)
 						}
 					})
 				this.$u.api.getGoodsLabelsByType({ type: 12 })
@@ -228,6 +284,14 @@
 						}
 					}
 				})
+			},
+			chunkArray(arr, size = 8) {
+				return arr.reduce((acc, _, i) => {
+					if (i % size === 0) {
+						acc.push(arr.slice(i, i + size));
+					}
+					return acc;
+				}, []);
 			},
 			// 鍒嗗壊鏁版嵁
 			alternateChunkArraySimple(arr, chunkSize = 4) {
@@ -283,26 +347,17 @@
 			openLoacing() {
 				var that = this;
 				uni.chooseLocation({
-					success(res1) {
-						const locParam = {
-							latitude: res1.latitude,
-							longitude: res1.longitude
-						};
-						const qqmapsdk = new QQMapWX({
-							key: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'
-						});
-						// 鑵捐鍦板浘閫嗗湴鐞嗙紪鐮�
-						qqmapsdk.reverseGeocoder({
-							locParam,
-							success: function(res) {
-								console.log(res,  '==================index鑾峰彇鍦板潃')
-								console.log(locParam)
-								that.$store.commit('setPosition', res.result)
+					success(res) {
+						let obj = {
+							formatted_addresses: {
+								recommend: res.name
 							},
-							fail: (err) => {
-								console.error('鑾峰彇浣嶇疆澶辫触===========', err);
+							location: {
+								lat: res.latitude,
+								lng: res.longitude
 							}
-						});
+						}
+						that.$store.commit('setPosition', obj)
 					}
 				})
 			},
@@ -592,6 +647,130 @@
 					}
 				}
 			}
+			
+			.cate-dian {
+				width: 100%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				margin-top: 30rpx;
+				.active {
+					background-color: #004096 !important;
+				}
+				.cate-dian-item	{
+					width: 40rpx;
+					height: 4rpx;
+					background: #E2E2E2;
+					margin-right: 8rpx;
+					&:last-child {
+						margin: 0 !important;
+					}
+				}
+			}
+			
+			.cate {
+				width: 100%;
+				height: 310rpx;
+				margin-top: 40rpx;
+				.cate-list {
+					width: 100%;
+					height: 300rpx;
+					display: flex;
+					align-items: flex-start;
+					justify-content: space-between;
+					flex-wrap: wrap;
+					
+					.cate-item {
+						width: 25%;
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+						justify-content: center;
+						margin-bottom: 30rpx;
+					
+						.cate-item-image {
+							width: 88rpx;
+							height: 88rpx;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							overflow: hidden;
+							background: linear-gradient(180deg, #E6E6E6 0%, #F9F9FB 100%);
+							border-radius: 24rpx;
+							image {
+								width: 100%;
+							}
+						}
+					
+						text {
+							width: 100%;
+							text-align: center;
+							white-space: nowrap;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							font-weight: 400;
+							font-size: 26rpx;
+							color: #333333;
+							margin-top: 16rpx;
+						}
+					}
+					
+				}
+				
+			}
+			
+			.pingpai {
+				width: 100%;
+				height: 310rpx;
+				margin-top: 40rpx;
+				.pingpai-list {
+					width: 100%;
+					height: 300rpx;
+					display: flex;
+					align-items: flex-start;
+					justify-content: space-between;
+					flex-wrap: wrap;
+					
+					.pingpai-item {
+						width: 49%;
+						height: 104rpx;
+						padding: 0 40rpx;
+						box-sizing: border-box;
+						background: #FFFFFF;
+						border-radius: 16rpx;
+						display: flex;
+						align-items: center;
+						margin-bottom: 30rpx;
+					
+						.pingpai-item-image {
+							width: 46rpx;
+							height: 46rpx;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							overflow: hidden;
+							margin-right: 20rpx;
+							flex-shrink: 0;
+							image {
+								width: 100%;
+							}
+						}
+					
+						text {
+							flex: 1;
+							text-align: center;
+							white-space: nowrap;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							font-weight: 500;
+							font-size: 30rpx;
+							color: #222222;
+						}
+					}
+					
+				}
+				
+			}
 
 			.scroll-list {
 				@include flex(column);
diff --git a/mini-program/pages/mall/mall.vue b/mini-program/pages/mall/mall.vue
index 28dd9e1..e0260ce 100644
--- a/mini-program/pages/mall/mall.vue
+++ b/mini-program/pages/mall/mall.vue
@@ -216,7 +216,7 @@
 					num: 1
 				}).then(res => {
 					if (res.code === 200) {
-						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success' })
+						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success', mask: true })
 						this.getCartNum()
 					}
 				})
diff --git a/mini-program/pages/mine/mine.vue b/mini-program/pages/mine/mine.vue
index a8ebe31..1e9b4e8 100644
--- a/mini-program/pages/mine/mine.vue
+++ b/mini-program/pages/mine/mine.vue
@@ -53,17 +53,17 @@
 				</view>
 				<view class="func-list">
 					<view class="func-list-item" @click="jumpOrder(1)">
-						<view class="func-list-item-num" v-if="orderNum && orderNum.waitPayOrders > 0">{{orderNum.waitPayOrders}}</view>
+						<view class="func-list-item-num" v-if="orderNum && orderNum.waitPayOrders > 0">{{orderNum.waitPayOrders > 99 ? '99+' : orderNum.waitPayOrders}}</view>
 						<image src="/static/icon/mine_ic_daifukuan@2x.png" mode="widthFix"></image>
 						<text>寰呮敮浠�</text>
 					</view>
 					<view class="func-list-item" @click="jumpOrder(2)">
-						<view class="func-list-item-num" v-if="orderNum && orderNum.waitOrders > 0">{{orderNum.waitOrders}}</view>
+						<view class="func-list-item-num" v-if="orderNum && orderNum.waitOrders > 0">{{orderNum.waitOrders > 99 ? '99+' : orderNum.waitOrders}}</view>
 						<image src="/static/icon/mine_ic_daifahuo@2x.png" mode="widthFix"></image>
 						<text>寰呭彂璐�/鑷彁</text>
 					</view>
 					<view class="func-list-item" @click="jumpOrder(3)">
-						<view class="func-list-item-num" v-if="orderNum && orderNum.waitReceivedOrders > 0">{{orderNum.waitReceivedOrders}}</view>
+						<view class="func-list-item-num" v-if="orderNum && orderNum.waitReceivedOrders > 0">{{orderNum.waitReceivedOrders > 99 ? '99+' : orderNum.waitReceivedOrders}}</view>
 						<image src="/static/icon/mine_ic_daishouhuo@2x.png" mode="widthFix"></image>
 						<text>寰呮敹璐�</text>
 					</view>
@@ -112,6 +112,11 @@
 			if (uni.getStorageSync('backgroundImage')) {
 				this.share = uni.getStorageSync('backgroundImage').centerInviteBg
 			}
+			// 閫�鍑�/娉ㄩ攢娓呴櫎鏁版嵁
+			uni.$on('loginOut', () => {
+				this.objNum = null
+				this.orderNum = null
+			})
 		},
 		async onShow() {
 			await this.$onLaunched;
@@ -183,6 +188,8 @@
 									openid: res.data.openid
 								}).then(res => {
 									if (res.code === 200) {
+										that.getMyInfo()
+										that.ordersStatistics()
 										that.$store.commit('setUserInfo', res.data.member)
 										that.$store.commit('setToken', res.data.token)
 										that.$store.commit('setRecShopId','')
@@ -344,11 +351,11 @@
 						.func-list-item-num {
 							position: absolute;
 							top: 0;
-							right: 0;
-							height: 32rpx;
-							line-height: 32rpx;
-							padding: 0 8rpx;
-							box-sizing: border-box;
+							right: -10rpx;
+							width: 40rpx;
+							height: 40rpx;
+							line-height: 40rpx;
+							text-align: center;
 							border-radius: 50%;
 							background-color: #E4001D;
 							font-weight: 400;
diff --git a/mini-program/pages/new-address/new-address.vue b/mini-program/pages/new-address/new-address.vue
index d28ea31..45de06b 100644
--- a/mini-program/pages/new-address/new-address.vue
+++ b/mini-program/pages/new-address/new-address.vue
@@ -107,6 +107,7 @@
 					.then(res => {
 						if (res.code === 200) {
 							uni.showToast({ title: '鍒犻櫎鎴愬姛', icon: 'success', mask: true, duration: 1500 })
+							uni.$emit('addressDele')
 							setTimeout(() => {
 								uni.navigateBack({
 									delta: 1
diff --git a/mini-program/pages/search/search.vue b/mini-program/pages/search/search.vue
index 125ec50..06ae642 100644
--- a/mini-program/pages/search/search.vue
+++ b/mini-program/pages/search/search.vue
@@ -90,7 +90,7 @@
 					num: 1
 				}).then(res => {
 					if (res.code === 200) {
-						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success' })
+						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success', mask: true })
 					}
 				})
 			},
diff --git a/mini-program/pages/settings/settings.vue b/mini-program/pages/settings/settings.vue
index 1af0b3a..8c5063b 100644
--- a/mini-program/pages/settings/settings.vue
+++ b/mini-program/pages/settings/settings.vue
@@ -146,6 +146,7 @@
 					.then(res => {
 						if (res.code === 200) {
 							this.$store.commit('clear')
+							uni.$emit('loginOut')
 							uni.switchTab({
 								url: '/pages/index/index'
 							})
diff --git a/mini-program/pages/shopping-cart/shopping-cart.vue b/mini-program/pages/shopping-cart/shopping-cart.vue
index f3d1e54..7a783ef 100644
--- a/mini-program/pages/shopping-cart/shopping-cart.vue
+++ b/mini-program/pages/shopping-cart/shopping-cart.vue
@@ -1,9 +1,9 @@
 <template>
 	<view class="cart">
 		<u-swipe-action>
-			<u-swipe-action-item :options="options" v-for="(item, index) in list" :name="index" :key="index" @click="deleRow">
+			<u-swipe-action-item :options="options" v-for="(item, index) in list" :name="index" :key="item.id" @click="deleRow" ref="item">
 				<view class="cart-item" @click="jumpDetails(item.goodsId, item.status)">
-					<view class="cart-item-check" @click.stop="select(item)">
+					<view class="cart-item-check" @click.stop="select(index)">
 						<image src="/static/icon/ic_agree@2x.png" mode="widthFix" v-if="!item.active"></image>
 						<image src="/static/icon/cart_ic_sel@2x.png" mode="widthFix" v-else></image>
 					</view>
@@ -87,6 +87,9 @@
 		},
 		onLoad() {
 			this.getList()
+			uni.$on('shuaxin', () => {
+				this.getList()
+			})
 		},
 		methods: {
 			jumpDetails(id, status) {
@@ -130,8 +133,8 @@
 				})
 			},
 			// 鍗曢��
-			select(item) {
-				item.active = !item.active
+			select(index) {
+				this.list[index].active = !this.list[index].active
 			},
 			// 鏇存柊鍟嗗搧鏁伴噺
 			changeNum(index) {
@@ -146,6 +149,7 @@
 					.then(res => {
 						if (res.code === 200) {
 							this.list.splice(e.name, 1)
+							that.$refs.item.forEach(item => item.closeHandler(true))
 						}
 					})
 			},
diff --git a/mini-program/pages/special-zone/special-zone.vue b/mini-program/pages/special-zone/special-zone.vue
index 20b4514..e32d04e 100644
--- a/mini-program/pages/special-zone/special-zone.vue
+++ b/mini-program/pages/special-zone/special-zone.vue
@@ -98,12 +98,12 @@
 				}
 				this.$u.api.addCart({
 					goodsId: e.id,
-					goodsSkuId: e.skuResponsesList[0].id,
+					goodsSkuId: e.goodsSkuResponseList[0].id,
 					num: 1
 				}).then(res => {
 					if (res.code === 200) {
 						this.cardNum()
-						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'none' })
+						uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success', mask: true })
 					}
 				})
 			},
diff --git a/mini-program/pagesA/pages/order-details/order-details.vue b/mini-program/pagesA/pages/order-details/order-details.vue
index 539f579..f492ee8 100644
--- a/mini-program/pagesA/pages/order-details/order-details.vue
+++ b/mini-program/pagesA/pages/order-details/order-details.vue
@@ -18,7 +18,21 @@
 				<text  v-if="info.orderStatus ==6" class="info-status grey">宸查��娆�</text>
 				<template  v-if="userType==1">
 					<view class="info-desc"  v-if="info.orderStatus ==0">
-						鍓╀綑鏀粯鏃堕棿 08:32锛岃繃鏈熷皢鑷姩鍙栨秷~
+						鍓╀綑鏀粯鏃堕棿 
+						<u-count-down
+							:time="info.countdown"
+							format="HH:mm:ss"
+							autoStart
+							millisecond
+							@change="onChange"
+						>
+							<view class="time">
+								<text class="time__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}:</text>
+								<text class="time__item">{{ timeData.minutes }}:</text>
+								<text class="time__item">{{ timeData.seconds }}</text>
+							</view>
+						</u-count-down>
+						锛岃繃鏈熷皢鑷姩鍙栨秷~
 					</view>
 					<view class="info-desc"  v-if="info.orderStatus ==1">
 						{{info.receiveType==1?'璇风瓑寰呭鎴疯嚜鎻愯喘涔扮殑鍟嗗搧锝�':'绛夊緟骞冲彴鍙戣揣'}}
@@ -38,7 +52,21 @@
 				</template>
 				<view class="info-desc"  v-if="userType==0">
 					<view class="info-desc"  v-if="info.orderStatus ==0">
-						鍓╀綑鏀粯鏃堕棿 08:32锛岃灏藉揩浠樻鍝︼紝杩囨湡灏嗚嚜鍔ㄥ彇娑垀
+						鍓╀綑鏀粯鏃堕棿
+						<u-count-down
+							:time="info.countdown"
+							format="HH:mm:ss"
+							autoStart
+							millisecond
+							@change="onChange"
+						>
+							<view class="time">
+								<text class="time__item">{{ timeData.hours>10?timeData.hours:'0'+timeData.hours}}:</text>
+								<text class="time__item">{{ timeData.minutes }}:</text>
+								<text class="time__item">{{ timeData.seconds }}</text>
+							</view>
+						</u-count-down>
+						锛岃灏藉揩浠樻鍝︼紝杩囨湡灏嗚嚜鍔ㄥ彇娑垀
 					</view>
 					<view class="info-desc"  v-if="info.orderStatus ==1">
 						{{info.receiveType==1?'璇峰墠寰�鎸囧畾闂ㄥ簵杩涜鏍搁攢锝�':'鍟嗗搧宸叉墦鍖咃紝绛夊緟鍙戣揣锝�'}}
@@ -58,32 +86,49 @@
 				</view>
 			</view>
 			<view class="user"  v-if="userType!=1">
-				<view class="user-jxa">
-					<view class="user-jxa-title">
-						<image src="/static/icon/ic_address@2x1.png" mode="widthFix"></image>
-						<text>{{info.shopInfo.name||''}}</text>
+				<template v-if="info.receiveType==1">
+					<view class="user-jxa">
+						<view class="user-jxa-title">
+							<image src="/static/icon/ic_address@2x1.png" mode="widthFix"></image>
+							<text>{{info.shopInfo.name||''}}</text>
+						</view>
+						<view class="user-jxa-lx"  @click="contact( info.shopInfo.phone)">
+							<image src="/static/icon/ic_call@2x.png" mode="widthFix"></image>
+							<text  > 鑱旂郴缁忛攢鍟�</text> 
+						</view>
 					</view>
-					<view class="user-jxa-lx"  @click="contact( info.shopInfo.phone)">
-						<image src="/static/icon/ic_call@2x.png" mode="widthFix"></image>
-						<text  > 鑱旂郴缁忛攢鍟�</text> 
+					<view class="user-jxtime">
+						<image class="user-jxtime-icon" src="/static/icon/ic_openinghours@2x.png" mode="widthFix"></image>
+						<text>钀ヤ笟鏃堕棿锛歿{info.shopInfo.startTime || ''}}</text>
 					</view>
-				</view>
-				<view class="user-jxtime">
-					<image class="user-jxtime-icon" src="/static/icon/ic_openinghours@2x.png" mode="widthFix"></image>
-					<text>钀ヤ笟鏃堕棿锛歿{info.shopInfo.startTime || ''}}</text>
-				</view>
-				<view class="user-jxtime" @click="jumpMap()">
-					<image class="user-jxtime-icon" src="/static/icon/ic_shopaddress@2x.png" mode="widthFix"></image>
-					<text>{{info.shopInfo.addr || ''}}</text>
-					<image class="user-jxtime-to" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
-				</view>
-				<view class="user-qrcode" v-if="info.orderStatus ==1 &&info.receiveType==1">
-					<view class="user-qrcode-image">
-						<image v-if="qrCodeBase64" :src="qrCodeBase64"  ></image>
+					<view class="user-jxtime" @click="jumpMap()">
+						<image class="user-jxtime-icon" src="/static/icon/ic_shopaddress@2x.png" mode="widthFix"></image>
+						<text>{{info.linkAddress || ''}}</text>
+						<image class="user-jxtime-to" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
 					</view>
-					<view class="user-qrcode-code">{{info.exchangeCode || ''}}</view>
-					<view class="user-qrcode-btn" @click="copyText(info.exchangeCode)">澶嶅埗鑷彁鐮�</view>
-				</view>
+					<view class="user-qrcode" v-if="info.orderStatus ==1 &&info.receiveType==1">
+						<view class="user-qrcode-image">
+							<image v-if="qrCodeBase64" :src="qrCodeBase64"  ></image>
+						</view>
+						<view class="user-qrcode-code">{{info.exchangeCode || ''}}</view>
+						<view class="user-qrcode-btn" @click="copyText(info.exchangeCode)">澶嶅埗鑷彁鐮�</view>
+					</view>
+				</template>
+				<template v-else>
+					<view class="user-top">
+						<view class="user-icon" style="width: 48rpx; height: 48rpx;">
+							<image src="/static/icon/ic_location@2x.png" mode="widthFix"></image>
+						</view>
+						<view class="user-info">
+							<view class="user-info-a">
+								<text>{{info.linkName || ''}} {{info.linkPhone || ''}}</text>
+							</view>
+							<view class="user-info-b">
+								<text>{{info.linkAddress || ''}}</text>
+							</view>
+						</view>
+					</view>
+				</template>
 			</view>
 			<view class="user" v-if="userType==1">
 				<view class="user-top">
@@ -151,7 +196,7 @@
 			<view class="shop">
 				<view class="shop-top">
 					<view :class="'shop-top-tips '+(info.receiveType==1?'shop-top-tips-a':'shop-top-tips-b' )">{{info.receiveType==1?'鑷彁':'閰嶉��'}}</view>
-					<text>{{info.shopInfo.name || ''}}</text>
+					<text>{{info.shopInfo.name || '鍚堣偉榧庡厓瀹樻柟閰嶉��'}}</text>
 				</view>
 				<view class="b" v-if="info.goodsorderDetailList && info.goodsorderDetailList.length">
 					<view class="b-item" v-for="(item, index) in info.goodsorderDetailList" :key="index"  @click="jumpGoodsDetail(item,index)" >
@@ -263,7 +308,7 @@
 							<text>{{info.doneDate || ''}}</text>
 						</view>
 					</view>
-					<view class="xinxi-list-item" v-if="1==2">
+					<view class="xinxi-list-item">
 						<view class="xinxi-list-item-label">璁㈠崟澶囨敞锛�</view>
 						<view class="xinxi-list-item-right">
 							<text>{{info.memberInfo||'-'}}</text>
@@ -351,7 +396,9 @@
 				id:null,
 				userType:0,
 				shop:{},
-				info:{shopInfo:{}}
+				info:{shopInfo:{}},
+				timeData: {},
+				loading: false,
 			};
 		},
 		onShow() {
@@ -376,11 +423,17 @@
 			this.qrCodeUrl=''
 		},
 		methods:{
+			onChange(e) {
+				this.timeData = e
+			},
 			payOrder() {
 				var that = this;
+				if (this.loading) return;
+				this.loading = true
 				this.$u.api.replayPay({
 					orderId: this.id
 				}).then(res => {
+					this.loading = false
 					if (res.code === 200) {
 						wx.requestPayment({
 							timeStamp: res.data.response.timeStamp,
@@ -697,6 +750,7 @@
 					color: #FFFFFF;
 				}
 				.info-desc {
+					display: flex;
 					font-weight: 400;
 					font-size: 26rpx;
 					color: #FFFFFF;
diff --git a/mini-program/pagesA/pages/order/order.vue b/mini-program/pagesA/pages/order/order.vue
index 7a5a293..ceaea8b 100644
--- a/mini-program/pagesA/pages/order/order.vue
+++ b/mini-program/pagesA/pages/order/order.vue
@@ -178,7 +178,8 @@
 					{ name: '寰呮敮浠�', id: 0 ,index:1},
 					{ name: '寰呭彂璐�/鑷彁', id: 1,index:2 },
 					{ name: '寰呮敹璐�', id: 2 ,index:3},
-				]
+				],
+				loading: false
 			};
 		},
 		onLoad(options) {
@@ -280,9 +281,12 @@
 			},
 			payOrder(item){
 				var that = this;
+				if (this.loading) return;
+				this.loading = true
 				this.$u.api.replayPay({
 					orderId: item.id
 				}).then(res => {
+					this.loading = false
 					if (res.code === 200) {
 						wx.requestPayment({
 							timeStamp: res.data.response.timeStamp,
@@ -315,13 +319,16 @@
 				var that =this
 				let res = await this.$u.api.affirmOrder({ orderId: this.currentOrder.id  });
 				if (res.code === 200 ) { 
+					that.showDone = false
+					that.getFirstPageData()
 					//淇敼璁㈠崟鐘舵��
-					this.dataList.forEach(item=>{
-						if(item.id==this.currentOrder.id){
-							item.status =3
-						}
-					}) 
-					this.doneOrder()
+					// this.dataList.forEach(item=>{
+					// 	if(item.id==this.currentOrder.id){
+					// 		item.status =3
+					// 	}
+					// }) 
+					// this.doneOrder()
+					this.showDone()
 				}else{
 					/* uni.showToast({
 						title:res.message||'纭畾鏀惰揣澶辫触锛�',
@@ -336,13 +343,15 @@
 					var that =this
 				let res = await that.$u.api.cancelOrder({ orderId: this.currentOrder.id  });
 				if (res.code === 200 ) { 
+					this.showCancel = false
 					//淇敼璁㈠崟鐘舵��
 					this.dataList.forEach(item=>{
 						if(item.id==this.currentOrder.id){
 							item.status = 4
 						}
 					}) 
-					this.cancelOrder()
+					// this.cancelOrder()
+					that.getFirstPageData()
 				}else{
 					/* uni.showToast({
 						title:res.message||'鍙栨秷璁㈠崟澶辫触锛�',
@@ -357,6 +366,7 @@
 				var that =this
 				let res = await that.$u.api.delOrder({ orderId: this.currentOrder.id  });
 				if (res.code === 200 ) { 
+					this.showDelete = false
 					//淇敼璁㈠崟鐘舵��
 					/* var tindex = -1;
 					this.dataList.forEach((item,index)=>{
diff --git a/mini-program/pagesA/pages/richText/richText.vue b/mini-program/pagesA/pages/richText/richText.vue
new file mode 100644
index 0000000..4b4ed1c
--- /dev/null
+++ b/mini-program/pagesA/pages/richText/richText.vue
@@ -0,0 +1,30 @@
+<template>
+	<view class="box">
+		<u-parse :content="content"></u-parse>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				content: ''
+			};
+		},
+		onLoad() {
+			const value = uni.getStorageSync('fuwenben');
+			if (value) {
+				this.content = value
+				uni.removeStorageSync('fuwenben');
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.box {
+		width: 100%;
+		padding: 30rpx;
+		box-sizing: border-box;
+	}
+</style>
\ No newline at end of file
diff --git a/mini-program/static/images/default_empty.png b/mini-program/static/images/default_empty.png
new file mode 100644
index 0000000..728044d
--- /dev/null
+++ b/mini-program/static/images/default_empty.png
Binary files differ
diff --git a/mini-program/unpackage/dist/dev/mp-weixin/common/main.js b/mini-program/unpackage/dist/dev/mp-weixin/common/main.js
index 0750143..cc6b580 100644
--- a/mini-program/unpackage/dist/dev/mp-weixin/common/main.js
+++ b/mini-program/unpackage/dist/dev/mp-weixin/common/main.js
@@ -1,469 +1,2 @@
-(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/main"],{
-
-/***/ 0:
-/*!****************************************************************!*\
-  !*** D:/code/idea2023/git/dingyuannongji/mini-program/main.js ***!
-  \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(wx, createApp) {
-
-var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
-var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
-__webpack_require__(/*! uni-pages */ 26);
-var _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 27));
-var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25));
-var _uviewUi = _interopRequireDefault(__webpack_require__(/*! uview-ui */ 38));
-var _index = _interopRequireDefault(__webpack_require__(/*! ./store/index.js */ 160));
-__webpack_require__(/*! ./uni.promisify.adaptor */ 161);
-var _shareMixin = _interopRequireDefault(__webpack_require__(/*! @/utils/shareMixin */ 162));
-var _httpApi = _interopRequireDefault(__webpack_require__(/*! @/utils/http.api.js */ 163));
-var _httpInterceptor = _interopRequireDefault(__webpack_require__(/*! @/utils/http.interceptor.js */ 164));
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-// @ts-ignore
-wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
-_vue.default.config.productionTip = false;
-_App.default.mpType = 'app';
-_vue.default.prototype.$store = _index.default;
-_vue.default.prototype.$baseUrl = 'http://192.168.0.7/dmmall_web_api/';
-// // Vue.prototype.$baseUrl = 'http://192.168.1.85:12015/'
-// Vue.prototype.$baseUrl = 'https://test.doumee.cn/dmmall_web_api/'
-
-_vue.default.prototype.$onLaunched = new Promise(function (resolve) {
-  _vue.default.prototype.$isResolve = resolve;
-});
-_vue.default.use(_uviewUi.default);
-_index.default.dispatch('getHeight');
-_vue.default.mixin(_shareMixin.default);
-var app = new _vue.default(_objectSpread({
-  store: _index.default
-}, _App.default));
-
-// http鎺ュ彛API鎶界
-
-_vue.default.use(_httpApi.default, app);
-
-// 璇锋眰鎷︽埅鍣�
-
-_vue.default.use(_httpInterceptor.default, app);
-createApp(app).$mount();
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["createApp"]))
-
-/***/ }),
-
-/***/ 27:
-/*!****************************************************************!*\
-  !*** D:/code/idea2023/git/dingyuannongji/mini-program/App.vue ***!
-  \****************************************************************/
-/*! no static exports found */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 28);
-/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
-/* harmony import */ var _App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=scss& */ 35);
-/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 37);
-var render, staticRenderFns, recyclableRender, components
-var renderjs
-
-
-
-
-
-/* normalize component */
-
-var component = Object(_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
-  _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"],
-  render,
-  staticRenderFns,
-  false,
-  null,
-  null,
-  null,
-  false,
-  components,
-  renderjs
-)
-
-component.options.__file = "App.vue"
-/* harmony default export */ __webpack_exports__["default"] = (component.exports);
-
-/***/ }),
-
-/***/ 28:
-/*!*****************************************************************************************!*\
-  !*** D:/code/idea2023/git/dingyuannongji/mini-program/App.vue?vue&type=script&lang=js& ***!
-  \*****************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js& */ 29);
-/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
-/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_soft_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); 
-
-/***/ }),
-
-/***/ 29:
-/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
-  !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/code/idea2023/git/dingyuannongji/mini-program/App.vue?vue&type=script&lang=js& ***!
-  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(uni) {
-
-var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.default = void 0;
-var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 30));
-var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 32));
-var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
-var _vuex = __webpack_require__(/*! vuex */ 33);
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-var QQMapWX = __webpack_require__(/*! @/utils/qqmap-wx-jssdk.js */ 34);
-var _default = {
-  computed: _objectSpread({}, (0, _vuex.mapState)(['userInfo', 'token'])),
-  onLaunch: function () {
-    var _onLaunch = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
-      var that, res;
-      return _regenerator.default.wrap(function _callee2$(_context2) {
-        while (1) {
-          switch (_context2.prev = _context2.next) {
-            case 0:
-              // this.dealRecShopUserBiz(options) 
-              // 鐧诲綍
-              that = this;
-              if (this.token) {
-                _context2.next = 5;
-                break;
-              }
-              uni.login({
-                provider: 'weixin',
-                success: function () {
-                  var _success = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(loginRes) {
-                    var code, res;
-                    return _regenerator.default.wrap(function _callee$(_context) {
-                      while (1) {
-                        switch (_context.prev = _context.next) {
-                          case 0:
-                            code = loginRes.code;
-                            _context.next = 3;
-                            return that.$u.api.wxLogin({
-                              code: code
-                            });
-                          case 3:
-                            res = _context.sent;
-                            if (!(res.code === 200)) {
-                              _context.next = 18;
-                              break;
-                            }
-                            if (!res.data.openid) {
-                              _context.next = 8;
-                              break;
-                            }
-                            _context.next = 8;
-                            return that.$store.commit('setOpenId', res.data.openid);
-                          case 8:
-                            if (!res.data.token) {
-                              _context.next = 11;
-                              break;
-                            }
-                            _context.next = 11;
-                            return that.$store.commit('setToken', res.data.token);
-                          case 11:
-                            if (!res.data.member) {
-                              _context.next = 16;
-                              break;
-                            }
-                            _context.next = 14;
-                            return that.$store.commit('setUserInfo', res.data.member);
-                          case 14:
-                            _context.next = 16;
-                            return that.$store.commit('setOpenId', res.data.member.openId);
-                          case 16:
-                            _context.next = 18;
-                            return that.checkLocationAuth();
-                          case 18:
-                          case "end":
-                            return _context.stop();
-                        }
-                      }
-                    }, _callee);
-                  }));
-                  function success(_x2) {
-                    return _success.apply(this, arguments);
-                  }
-                  return success;
-                }()
-              });
-              _context2.next = 15;
-              break;
-            case 5:
-              _context2.next = 7;
-              return that.$u.api.getUserInfo();
-            case 7:
-              res = _context2.sent;
-              if (!(res.code === 200)) {
-                _context2.next = 13;
-                break;
-              }
-              _context2.next = 11;
-              return that.$store.commit('setUserInfo', res.data);
-            case 11:
-              _context2.next = 13;
-              return that.$store.commit('setOpenId', res.data.openId);
-            case 13:
-              _context2.next = 15;
-              return that.checkLocationAuth();
-            case 15:
-            case "end":
-              return _context2.stop();
-          }
-        }
-      }, _callee2, this);
-    }));
-    function onLaunch(_x) {
-      return _onLaunch.apply(this, arguments);
-    }
-    return onLaunch;
-  }(),
-  onShow: function () {
-    var _onShow = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(options) {
-      return _regenerator.default.wrap(function _callee3$(_context3) {
-        while (1) {
-          switch (_context3.prev = _context3.next) {
-            case 0:
-              this.dealRecShopUserBiz(options);
-              this.getBackgroundImg();
-            case 2:
-            case "end":
-              return _context3.stop();
-          }
-        }
-      }, _callee3, this);
-    }));
-    function onShow(_x3) {
-      return _onShow.apply(this, arguments);
-    }
-    return onShow;
-  }(),
-  onHide: function onHide() {
-    console.log('App Hide');
-  },
-  methods: {
-    getBackgroundImg: function getBackgroundImg() {
-      this.$u.api.getPlatformAboutUs({}).then(function (res) {
-        if (res.code === 200) {
-          var obj = {
-            shopIntegralBg: res.data.shopIntegralBg,
-            userInviteBg: res.data.userInviteBg,
-            userShareBg: res.data.userShareBg,
-            centerInviteBg: res.data.centerInviteBg
-          };
-          uni.setStorageSync('backgroundImage', obj);
-        }
-      });
-    },
-    dealRecShopUserBiz: function dealRecShopUserBiz(options) {
-      var _this = this;
-      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
-        var s, shopId, e, ts, res;
-        return _regenerator.default.wrap(function _callee4$(_context4) {
-          while (1) {
-            switch (_context4.prev = _context4.next) {
-              case 0:
-                if (!(options.query && options.query.userId)) {
-                  _context4.next = 4;
-                  break;
-                }
-                if (!(!_this.userInfo || !_this.userInfo.id)) {
-                  _context4.next = 4;
-                  break;
-                }
-                _context4.next = 4;
-                return _this.$store.commit('setRecUserId', options.query.userId);
-              case 4:
-                if (!(options.query && options.query.scene && options.query.scene.length)) {
-                  _context4.next = 32;
-                  break;
-                }
-                if (!(options.query.scene.indexOf("sid_") >= 0)) {
-                  _context4.next = 32;
-                  break;
-                }
-                s = options.query.scene.indexOf("sid_") + 4;
-                shopId = '';
-                e = options.query.scene.length;
-                ts = options.query.scene.slice(s, e);
-                e = ts.length;
-                if (ts.indexOf("&") > 0) {
-                  e = ts.indexOf("&");
-                }
-                if (e > 0) {
-                  shopId = ts.slice(0, e);
-                }
-                if (!shopId) {
-                  _context4.next = 32;
-                  break;
-                }
-                if (!(_this.userInfo && _this.userInfo.id)) {
-                  _context4.next = 30;
-                  break;
-                }
-                _context4.prev = 15;
-                _context4.next = 18;
-                return _this.$u.api.bindShopInfo({
-                  code: code
-                });
-              case 18:
-                res = _context4.sent;
-                if (!(res.code != 200)) {
-                  _context4.next = 22;
-                  break;
-                }
-                _context4.next = 22;
-                return _this.$store.commit('setRecShopId', shopId);
-              case 22:
-                _context4.next = 28;
-                break;
-              case 24:
-                _context4.prev = 24;
-                _context4.t0 = _context4["catch"](15);
-                _context4.next = 28;
-                return _this.$store.commit('setRecShopId', shopId);
-              case 28:
-                _context4.next = 32;
-                break;
-              case 30:
-                _context4.next = 32;
-                return _this.$store.commit('setRecShopId', shopId);
-              case 32:
-              case "end":
-                return _context4.stop();
-            }
-          }
-        }, _callee4, null, [[15, 24]]);
-      }))();
-    },
-    checkLocationAuth: function checkLocationAuth() {
-      var _this2 = this;
-      uni.getSetting({
-        success: function success(res) {
-          if (!res.authSetting['scope.userLocation']) {
-            uni.authorize({
-              scope: 'scope.userLocation',
-              success: function success() {
-                _this2.positioning();
-              },
-              fail: function fail() {
-                uni.showModal({
-                  title: '鎻愮ず',
-                  content: '闇�瑕佽幏鍙栨偍鐨勪綅缃俊鎭紝璇峰湪璁剧疆涓紑鍚綅缃潈闄�',
-                  confirmText: '鍘昏缃�',
-                  success: function success(res) {
-                    if (res.confirm) {
-                      _this2.goToAppSetting();
-                    } else {
-                      _this2.$isResolve();
-                    }
-                  }
-                });
-              }
-            });
-          } else {
-            _this2.positioning();
-          }
-        }
-      });
-    },
-    goToAppSetting: function goToAppSetting() {
-      var that = this;
-      uni.openSetting({
-        success: function success(res) {
-          if (res.authSetting['scope.userLocation']) {
-            that.positioning();
-          }
-          that.$isResolve();
-        }
-      });
-    },
-    // 瀹氫綅
-    positioning: function positioning() {
-      var that = this;
-      uni.getLocation({
-        type: 'gcj02',
-        highAccuracyExpireTime: 3000,
-        isHighAccuracy: true,
-        success: function success(addr) {
-          var locParam = {
-            latitude: addr.latitude,
-            longitude: addr.longitude
-          };
-          var qqmapsdk = new QQMapWX({
-            key: 'HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND'
-          });
-          console.log(locParam);
-          qqmapsdk.reverseGeocoder({
-            locParam: locParam,
-            success: function success(res) {
-              console.log(res, '==================鑾峰彇鍦板潃');
-              that.$store.commit('setPosition', res.result);
-              that.$isResolve();
-            },
-            fail: function fail(err) {
-              console.error('鑾峰彇浣嶇疆澶辫触===========', err);
-              that.$isResolve();
-            }
-          });
-        }
-      });
-    }
-  }
-};
-exports.default = _default;
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
-
-/***/ }),
-
-/***/ 35:
-/*!**************************************************************************************************!*\
-  !*** D:/code/idea2023/git/dingyuannongji/mini-program/App.vue?vue&type=style&index=0&lang=scss& ***!
-  \**************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--8-oneOf-1-3!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../soft/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=scss& */ 36);
-/* harmony import */ var _soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
-/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_soft_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_soft_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_2_soft_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_3_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_8_oneOf_1_4_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_oneOf_1_5_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_soft_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a); 
-
-/***/ }),
-
-/***/ 36:
-/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
-  !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-2!./node_modules/postcss-loader/src??ref--8-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-oneOf-1-5!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/code/idea2023/git/dingyuannongji/mini-program/App.vue?vue&type=style&index=0&lang=scss& ***!
-  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-// extracted by mini-css-extract-plugin
-    if(false) { var cssReload; }
-  
-
-/***/ })
-
-},[[0,"common/runtime","common/vendor"]]]);
+(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["common/main"],{0:function(e,t,n){"use strict";(function(e,t){var r=n(4),o=r(n(11));n(26);var c=r(n(27)),i=r(n(25)),a=r(n(38)),u=r(n(160));n(161);var s=r(n(162)),f=r(n(163)),d=r(n(164));function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}e.__webpack_require_UNI_MP_PLUGIN__=n,i.default.config.productionTip=!1,c.default.mpType="app",i.default.prototype.$store=u.default,i.default.prototype.$baseUrl="https://test.doumee.cn/dmmall_web_api/",i.default.prototype.$onLaunched=new Promise((function(e){i.default.prototype.$isResolve=e})),i.default.use(a.default),u.default.dispatch("getHeight"),i.default.mixin(s.default);var h=new i.default(p({store:u.default},c.default));i.default.use(f.default,h),i.default.use(d.default,h),t(h).$mount()}).call(this,n(1)["default"],n(2)["createApp"])},27:function(e,t,n){"use strict";n.r(t);var r=n(28);for(var o in r)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(o);n(35);var c,i,a,u,s=n(37),f=Object(s["default"])(r["default"],c,i,!1,null,null,null,!1,a,u);f.options.__file="App.vue",t["default"]=f.exports},28:function(e,t,n){"use strict";n.r(t);var r=n(29),o=n.n(r);for(var c in r)["default"].indexOf(c)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(c);t["default"]=o.a},29:function(e,t,n){"use strict";(function(e){var r=n(4);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=r(n(30)),c=r(n(32)),i=r(n(11)),a=n(33);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=n(34),d={computed:s({},(0,a.mapState)(["userInfo","token"])),onLaunch:function(){var t=(0,c.default)(o.default.mark((function t(n){var r,i;return o.default.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(r=this,this.token){t.next=5;break}e.login({provider:"weixin",success:function(){var e=(0,c.default)(o.default.mark((function e(t){var n,c;return o.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=t.code,e.next=3,r.$u.api.wxLogin({code:n});case 3:if(c=e.sent,200!==c.code){e.next=18;break}if(!c.data.openid){e.next=8;break}return e.next=8,r.$store.commit("setOpenId",c.data.openid);case 8:if(!c.data.token){e.next=11;break}return e.next=11,r.$store.commit("setToken",c.data.token);case 11:if(!c.data.member){e.next=16;break}return e.next=14,r.$store.commit("setUserInfo",c.data.member);case 14:return e.next=16,r.$store.commit("setOpenId",c.data.member.openId);case 16:return e.next=18,r.checkLocationAuth();case 18:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}),t.next=15;break;case 5:return t.next=7,r.$u.api.getUserInfo();case 7:if(i=t.sent,200!==i.code){t.next=13;break}return t.next=11,r.$store.commit("setUserInfo",i.data);case 11:return t.next=13,r.$store.commit("setOpenId",i.data.openId);case 13:return t.next=15,r.checkLocationAuth();case 15:case"end":return t.stop()}}),t,this)})));function n(e){return t.apply(this,arguments)}return n}(),onShow:function(){var e=(0,c.default)(o.default.mark((function e(t){return o.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:this.dealRecShopUserBiz(t),this.getBackgroundImg();case 2:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}(),onHide:function(){console.log("App Hide")},methods:{getBackgroundImg:function(){this.$u.api.getPlatformAboutUs({}).then((function(t){if(200===t.code){var n={shopIntegralBg:t.data.shopIntegralBg,userInviteBg:t.data.userInviteBg,userShareBg:t.data.userShareBg,centerInviteBg:t.data.centerInviteBg};e.setStorageSync("backgroundImage",n)}}))},dealRecShopUserBiz:function(e){var t=this;return(0,c.default)(o.default.mark((function n(){var r,c,i,a,u;return o.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(!e.query||!e.query.userId){n.next=4;break}if(t.userInfo&&t.userInfo.id){n.next=4;break}return n.next=4,t.$store.commit("setRecUserId",e.query.userId);case 4:if(!(e.query&&e.query.scene&&e.query.scene.length)){n.next=32;break}if(!(e.query.scene.indexOf("sid_")>=0)){n.next=32;break}if(r=e.query.scene.indexOf("sid_")+4,c="",i=e.query.scene.length,a=e.query.scene.slice(r,i),i=a.length,a.indexOf("&")>0&&(i=a.indexOf("&")),i>0&&(c=a.slice(0,i)),!c){n.next=32;break}if(!t.userInfo||!t.userInfo.id){n.next=30;break}return n.prev=15,n.next=18,t.$u.api.bindShopInfo({code:code});case 18:if(u=n.sent,200==u.code){n.next=22;break}return n.next=22,t.$store.commit("setRecShopId",c);case 22:n.next=28;break;case 24:return n.prev=24,n.t0=n["catch"](15),n.next=28,t.$store.commit("setRecShopId",c);case 28:n.next=32;break;case 30:return n.next=32,t.$store.commit("setRecShopId",c);case 32:case"end":return n.stop()}}),n,null,[[15,24]])})))()},checkLocationAuth:function(){var t=this;e.getSetting({success:function(n){n.authSetting["scope.userLocation"]?t.positioning():e.authorize({scope:"scope.userLocation",success:function(){t.positioning()},fail:function(){e.showModal({title:"鎻愮ず",content:"闇�瑕佽幏鍙栨偍鐨勪綅缃俊鎭紝璇峰湪璁剧疆涓紑鍚綅缃潈闄�",confirmText:"鍘昏缃�",success:function(e){e.confirm?t.goToAppSetting():t.$isResolve()}})}})}})},goToAppSetting:function(){var t=this;e.openSetting({success:function(e){e.authSetting["scope.userLocation"]&&t.positioning(),t.$isResolve()}})},positioning:function(){var t=this;e.getLocation({type:"gcj02",highAccuracyExpireTime:3e3,isHighAccuracy:!0,success:function(e){var n={latitude:e.latitude,longitude:e.longitude},r=new f({key:"HEIBZ-QJLLM-SZ36X-6ZBHI-S6Y2J-S6FND"});console.log(n),r.reverseGeocoder({locParam:n,success:function(e){console.log(e,"==================鑾峰彇鍦板潃"),t.$store.commit("setPosition",e.result),t.$isResolve()},fail:function(e){console.error("鑾峰彇浣嶇疆澶辫触===========",e),t.$isResolve()}})}})}}};t.default=d}).call(this,n(2)["default"])},35:function(e,t,n){"use strict";n.r(t);var r=n(36),o=n.n(r);for(var c in r)["default"].indexOf(c)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(c);t["default"]=o.a},36:function(e,t,n){}},[[0,"common/runtime","common/vendor"]]]);
 //# sourceMappingURL=../../.sourcemap/mp-weixin/common/main.js.map
\ No newline at end of file
diff --git a/mini-program/utils/http.interceptor.js b/mini-program/utils/http.interceptor.js
index 53cdfa4..318ff1f 100644
--- a/mini-program/utils/http.interceptor.js
+++ b/mini-program/utils/http.interceptor.js
@@ -99,6 +99,7 @@
 			uni.showToast({
 				title: response.data.message || response.data.msg,
 				icon: "none",
+				mask: true,
 				duration: 2000
 			});
 			return Promise.reject(response)

--
Gitblit v1.9.3