From ea5855a3caecd78dcd25b9fba54c415d07833164 Mon Sep 17 00:00:00 2001
From: sa_10_0 <2492740167@qq.com>
Date: Tue, 10 Dec 2024 15:02:06 +0800
Subject: [PATCH] 001

---
 pages.json                                    |    7 +
 pages/booking/respectable/respectable.vue     |   48 +-
 pages/mine/Contact/Contact.vue                |  479 ++++---
 pages/mine/mineorders/mineorders.vue          |    2 +-
 pages/text.vue                                | 1130 ++++++-----------
 unpackage/dist/dev/mp-alipay/app.js           |   31 +-
 unpackage/dist/dev/mp-alipay/app.json         |   31 +-
 unpackage/dist/dev/mp-alipay/common/assets.js |   84 +-
 unpackage/dist/dev/mp-alipay/common/vendor.js | 1048 ++++++++++++++-
 .../productmain/productmain.acss              |  395 +++---
 .../productmain/productmain.axml              |    2 +-
 .../Shopping-cart/productmain/productmain.js  |  162 ++-
 .../servicemain/servicemain.acss              |  525 --------
 .../servicemain/servicemain.axml              |    1 -
 .../Shopping-cart/servicemain/servicemain.js  |   19 -
 .../servicemain/servicemain.json              |    4 -
 .../dev/mp-alipay/pages/home/home/home.acss   |  630 ---------
 .../dev/mp-alipay/pages/home/home/home.axml   |    1 -
 .../dev/mp-alipay/pages/home/home/home.js     |   19 -
 .../dev/mp-alipay/pages/home/home/home.json   |    4 -
 .../dev/mp-alipay/pages/mine/main/main.acss   |  128 +-
 .../dev/mp-alipay/pages/mine/main/main.axml   |    2 +-
 .../dev/mp-alipay/pages/mine/main/main.js     |   48 +-
 .../mp-alipay/pages/store-home/main/main.acss |  129 +-
 .../mp-alipay/pages/store-home/main/main.axml |    2 +-
 .../mp-alipay/pages/store-home/main/main.js   |  166 +--
 .../store-home/products/product-detail.acss   |    0
 .../store-home/products/product-detail.axml   |    1 -
 .../store-home/products/product-detail.js     |    8 -
 .../store-home/products/product-detail.json   |    4 -
 unpackage/dist/dev/mp-weixin/app.js           |    4 +-
 unpackage/dist/dev/mp-weixin/app.json         |    7 +-
 unpackage/dist/dev/mp-weixin/common/vendor.js |    1 +
 .../booking/respectable/respectable.wxml      |    2 +-
 .../mp-weixin/pages/mine/Contact/Contact.js   |  205 ++-
 .../mp-weixin/pages/mine/Contact/Contact.wxml |    2 +-
 .../mp-weixin/pages/mine/Contact/Contact.wxss |    4 +
 .../mp-weixin/pages/mine/bookings/booking.js  |   23 -
 .../pages/mine/bookings/booking.json          |    4 -
 .../pages/mine/bookings/booking.wxml          |    1 -
 .../pages/mine/bookings/booking.wxss          |  567 ---------
 .../mp-weixin/pages/mine/bookings/bookings.js |   23 -
 .../pages/mine/bookings/bookings.json         |    4 -
 .../pages/mine/bookings/bookings.wxml         |    1 -
 .../pages/mine/bookings/bookings.wxss         |  577 ---------
 .../pages/mine/mineorders/mineorders.js       |    2 +-
 .../dev/mp-weixin/project.private.config.json |    7 +
 47 files changed, 2657 insertions(+), 3887 deletions(-)
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.acss
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.axml
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.js
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.json
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/home/home/home.acss
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/home/home/home.axml
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/home/home/home.js
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/home/home/home.json
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.acss
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.axml
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.js
 delete mode 100644 unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.json
 delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.js
 delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.json
 delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.wxml
 delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.wxss
 delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.js
 delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.json
 delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.wxml
 delete mode 100644 unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.wxss

diff --git a/pages.json b/pages.json
index de96588..485844f 100644
--- a/pages.json
+++ b/pages.json
@@ -189,6 +189,13 @@
 		{
 			"navigationBarTitleText" : ""
 		}
+	},
+	{
+		"path" : "pages/mine/Contact/Contact",
+		"style" : 
+		{
+			"navigationBarTitleText" : ""
+		}
 	}
 	],
 	"globalStyle": {
diff --git a/pages/booking/respectable/respectable.vue b/pages/booking/respectable/respectable.vue
index a8fce22..91a9245 100644
--- a/pages/booking/respectable/respectable.vue
+++ b/pages/booking/respectable/respectable.vue
@@ -11,31 +11,33 @@
 			  				 需要买家自己准备的,客服需要提前告诉买家(如胸贴等贴身物品)
 			  			</view>
 			  	<button @click="close1" style="width: 50%;background-color:#f2b600;border-radius: 30px;margin-top: 20px;
-				margin-bottom: 20px;">我知道了</button>
+				margin-bottom: 20px;">我知道了</button>  
 	</uni-popup>
 	<uni-popup ref="popup2" v-if="showPopup2" :mask-click="false" background-color="white">
-		<view style="text-align: center;margin: 10px;font-size: 18px;">费用说明</view>
-		<view style="margin: 10px;"> 一、费用支付流程</view>
-		<view style="margin: 0 20px;">
-			<view>1.确定等级:您将根据个人需求选择合适的服装价位区间,并完成预约操作。</view>
-			<view>2.预约成功:预约成功后,您需前往店铺挑选对应等级的服装。</view>
-			<view>3.补缴尾款及押金:在挑选服装时,您需要补缴尾款(扣除已支付定金后的剩余服务或商品费用)以及押金(用于保障服装归还时的完好)。</view>
-		</view>
-		<view style="margin: 10px;"> 二、尾款具体事项</view>
-		<view style="margin: 0 20px;">
-			<view>1.租赁服装:若您选择租赁我们店铺没有的服装,租赁费用将在您支付尾款时一并结算。无论拍摄是否进行,租赁费用均不予退还。</view>
-			<view>2.购买服装:如您希望购买我们店铺的服装,且我们同意购买,将按照服装的稀有程度分等级定价。您需按照所选等级支付尾款。</view>
-			<view>3.定制服务:若您自带衣服,我们提供妆发及摄影服务。若需我们额外购买服装,将按照上述等级定价,您需支付相应的尾款。</view>
-		</view>
-		<view style="margin: 10px;"> 三、定金与押金说明</view>
-		<view style="margin: 0 20px;">
-			<view>1.定金:预约时支付的定金用于确认您的预约意向,定金不予退还。</view>
-			<view>2.押金:拍摄完成后,我们将根据服装的归还情况决定是否扣除押金。若服装无损坏,押金将全额退还。</view>
-		</view>
-		<view style="margin: 10px;"> 四、特殊情况处理</view>
-		<view style="margin: 0 20px;">
-			<view> 若因特殊情况您需要取消预约,请及时与我们联系。未拍摄情况下,定金不予退还,已支付的租赁费用亦不退还。</view>
-		</view>
+		 <scroll-view style="height: 400px;width: 100%;" scroll-y="true">
+		    <view style="text-align: center;margin: 10px;font-size: 18px;">费用说明</view>
+		    <view style="margin: 10px;"> 一、费用支付流程</view>
+		    <view style="margin: 0 20px;">
+		      <view>1.确定等级:您将根据个人需求选择合适的服装价位区间,并完成预约操作。</view>
+		      <view>2.预约成功:预约成功后,您需前往店铺挑选对应等级的服装。</view>
+		      <view>3.补缴尾款及押金:在挑选服装时,您需要补缴尾款(扣除已支付定金后的剩余服务或商品费用)以及押金(用于保障服装归还时的完好)。</view>
+		    </view>
+		    <view style="margin: 10px;"> 二、尾款具体事项</view>
+		    <view style="margin: 0 20px;">
+		      <view>1.租赁服装:若您选择租赁我们店铺没有的服装,租赁费用将在您支付尾款时一并结算。无论拍摄是否进行,租赁费用均不予退还。</view>
+		      <view>2.购买服装:如您希望购买我们店铺的服装,且我们同意购买,将按照服装的稀有程度分等级定价。您需按照所选等级支付尾款。</view>
+		      <view>3.定制服务:若您自带衣服,我们提供妆发及摄影服务。若需我们额外购买服装,将按照上述等级定价,您需支付相应的尾款。</view>
+		    </view>
+		    <view style="margin: 10px;"> 三、定金与押金说明</view>
+		    <view style="margin: 0 20px;">
+		      <view>1.定金:预约时支付的定金用于确认您的预约意向,定金不予退还。</view>
+		      <view>2.押金:拍摄完成后,我们将根据服装的归还情况决定是否扣除押金。若服装无损坏,押金将全额退还。</view>
+		    </view>
+		    <view style="margin: 10px;"> 四、特殊情况处理</view>
+		    <view style="margin: 0 20px;">
+		      <view> 若因特殊情况您需要取消预约,请及时与我们联系。未拍摄情况下,定金不予退还,已支付的租赁费用亦不退还。</view>
+		    </view>
+		  </scroll-view>
 	      <button @click="close2" style="width: 50%;background-color:#f2b600;border-radius: 30px;margin-top: 20px;
 	      margin-bottom: 20px;">我知道了</button>
 	    </uni-popup>
diff --git a/pages/mine/Contact/Contact.vue b/pages/mine/Contact/Contact.vue
index 0476638..1011718 100644
--- a/pages/mine/Contact/Contact.vue
+++ b/pages/mine/Contact/Contact.vue
@@ -1,196 +1,288 @@
 <template>
-	<uni-popup ref="popup" :mask-click="false" background-color="white">
-		<input placeholder="联系人姓名" v-model="newContact.name" />
-		<input placeholder="联系方式" v-model="newContact.phone" />
-		<button @click="addContact">保存</button>
-		<button @click="close">取消</button>
-	</uni-popup>
-	<uni-popup ref="popup1" :mask-click="false" background-color="white">
-		<input placeholder="联系人姓名" v-model="newContact.name" />
-		<input placeholder="联系方式" v-model="newContact.phone" />
-		<button @click="saveModifiedContact">保存</button>
-		<button @click="close1">取消</button>
-	</uni-popup>
-	<view class="flex-col page">
-		<view class="flex-col">
-			<view class="flex-row justify-center items-center relative group">
-				<text class="text">联系人信息</text>
-				<image class="image pos"
-					src="https://ide.code.fun/api/image?token=673329a3c471750012deb1ec&name=888e11f2c452b3d64f79a5136a779376.png" />
-			</view>
-			<view class="mt-16 flex-col">
-				<view class="flex-row justify-between items-center list-item mt-5"
-					v-for="(item, index) in filteredContacts" :key="index">
-					<view class="flex-row items-center">
-						<text class="font ml-9">{{item.name}}</text>
-						<text class="font_2 ml-9">{{item.phone}} -{{item.id}}</text>
-					</view>
-					<view class="flex-row group_2">
-						<image class="image_2"
-							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FEclWfXMx-bj.png"
-							@click="editContact(item,index)" />
-						<image class="ml-12 image_2"
-							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FzgFMedLP-sc.png"
-							@click="deleteContact(item,index)" />
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="flex-col justify-start items-center section mt-431" @click="open">
-			<view class="flex-col justify-start items-center text-wrapper"><text class="text_2">添加新联系人</text></view>
-		</view>
-	</view>
+    <uni-popup ref="popup" :mask-click="false" background-color="white" borderRadius="10px" class="pop">
+        <view style="height: 250px; width: 300px; padding: 15px; box-sizing: border-box; display: flex; flex-direction:column; justify-content: space-between; align-items: center;" class="popup-content">
+            <input placeholder="联系人姓名" v-model="newContacts.name" style="width: 100%; padding: 5px; border: 1px solid #ccc; border-radius: 5px;" />
+            <input placeholder="联系方式" v-model="newContacts.phone" style="width: 100%; padding: 5px; border: 1px solid #ccc; border-radius: 5px;" />
+            <checkbox @click="handleIsDefaultChanges()" :key="newContacts.id"  style="width: auto; margin-top: 10px;">设置为默认联系人</checkbox>
+            <view style="width: 100%; display: flex; justify-content: space-between;">
+                <button @click="addContact" style="flex: 1; padding: 8px 0; background-color: #007aff; color: white; border: none; border-radius: 5px; margin-right: 5px;">添加</button>
+                <button @click="close" style="flex: 1; padding: 8px 0; background-color: #ccc; color: #333; border: none; border-radius: 5px; margin-left: 5px;">取消</button>
+            </view>
+        </view>
+    </uni-popup>
+    <uni-popup ref="popup1" :mask-click="false" background-color="white" borderRadius="10px" class="pop">
+        <view style="height: 250px; width: 300px; padding: 15px; box-sizing: border-box; display: flex; flex-direction:column; justify-content: space-between; align-items: center;" class="popup-content">
+            <input placeholder="联系人姓名" v-model="newContact.name" style="width: 100%; padding: 5px; border: 1px solid #ccc; border-radius: 5px;" />
+            <input placeholder="联系方式" v-model="newContact.phone" style="width: 100%; padding: 5px; border: 1px solid #ccc; border-radius: 5px;" />
+            <checkbox @click="handleIsDefaultChanges()" :key="newContacts.id" :checked="newContact.isDefault === 1" style="width: auto; margin-top: 10px;">设置为默认联系人</checkbox>
+            <view style="width: 100%; display: flex; justify-content: space-between;">
+                <button @click="saveModifiedContact" style="flex: 1; padding: 8px 0; background-color: #007aff; color: white; border: none; border-radius: 5px; margin-right: 5px;">保存</button>
+                <button @click="close1" style="flex: 1; padding: 8px 0; background-color: #ccc; color: #333; border: none; border-radius: 5px; margin-left: 5px;">取消</button>
+            </view>
+        </view>
+    </uni-popup>
+    <view class="flex-col page">
+        <view class="flex-col">
+            <view class="flex-row justify-center items-center relative group">
+                <text class="text">联系人信息</text>
+                <image class="image pos"
+                    src="https://ide.code.fun/api/image?token=673329a3c471750012deb1ec&name=888e11f2c452b3d64f79a5136a779376.png" />
+            </view>
+            <view class="mt-16 flex-col">
+                <view class="flex-row justify-between items-center list-item mt-5"
+                    v-for="(item, index) in filteredContacts" :key="index">
+                    <view class="flex-row items-center">
+                        <text class="font ml-9">{{item.name}}</text>
+                        <text class="font_2 ml-9">{{item.phone}}</text>
+                    </view>
+                    <text v-if="item.isDefault === 1" class="font_3 ml-12">默认联系人</text>
+                    <view class="flex-row group_2">
+                        <image class="image_2"
+                            src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FEclWfXMx-bj.png"
+                            @click="editContact(index)" />
+                        <image class="ml-12 image_2"
+                            src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FzgFMedLP-sc.png"
+                            @click="deleteContact(index)" />
+                    </view>
+                </view>
+            </view>
+        </view>
+        <view class="flex-col justify-start items-center section mt-431" @click="open">
+            <view class="flex-col justify-start items-center text-wrapper"><text class="text_2">添加新联系人</text></view>
+        </view>
+    </view>
 </template>
 
 <script setup>
-import {
-	ref,
-	onMounted,
-	watch,
-	set
-} from 'vue';
-import {
-	baseUrl
-} from '../../../api/request';
+import { ref, onMounted, watch, set } from 'vue'
+import { baseUrl } from '../../../api/request'
+
 onMounted(() => {
-	getContacts()
+    getContacts()
 })
-const contacts = ref([{}])
-//获取联系人列表
-const getContacts = async () => {
-	const res = await uni.request({
-		url: baseUrl + '/contacts/list',
-		method: 'POST',
-		header: {
-			cookie : wx.getStorageSync('cookie')
-		}
-	})
-	console.log(res)
-	if (res.data.code === 1) {
-		filteredContacts.value = res.data.data
-	} else {
-		uni.showToast({
-			icon: 'error',
-			title: '获取失败'
-		})
-	}
-}
-
-
 
 const newContact = ref({
-	ame: '',
-	phone: '',
-	isDefault:0
+    name: '',
+    phone: '',
+    isDefault: 0,
+    id: 0
+})
+const newContacts = ref({
+    name: '',
+    phone: '',
+    isDefault: 0,
+    id: 0
 })
 
-const searchText = ref('')
-const filteredContacts = ref([])
+const editContact = async (index) => {
+    popup1.value.open('center');
+    const contact = filteredContacts.value[index];
+    newContact.value = {
+        name: contact.name,
+        id: contact.id,
+        phone: contact.phone,
+        isDefault: contact.isDefault
+    };
+}
 
-onMounted(() => {
-	filteredContacts.value = contacts.value
-})
+const handleIsDefaultChanges = (e) => {
+    let currentValue = newContact.value.isDefault;
+    let updatedValue = currentValue === 0? 1 : 0;
+    newContact.value.isDefault = updatedValue;
+    console.log(updatedValue);
+}
+const handleIsDefaultChange = (e) => {
+    //console.log(newContact.value.isDefault)
+    let currentValue = newContact.value.isDefault;
+    let updatedValue = currentValue === 0? 1 : 0;
+    newContact.value.isDefault = updatedValue;
+    console.log(updatedValue);
+}
 
-	watch(searchText, () => {
-		if (searchText.value === '') {
-			filteredContacts.value = contacts.value;
-		} else {
-			filteredContacts.value = contacts.value.filter(contact => {
-				return contact.name.includes(searchText.value) || contact.phone.includes(
-					searchText.value);
-			})
-		}
-	})
-//添加联系人
-const addContact = async ()=> {
-	popup.value.close()
-	const res = await uni.request({
-		url:baseUrl + '/contacts/add',
-		method:'POST',
-		header: {
-			 cookie : wx.getStorageSync('cookie')
-		},
-		data:{
-			name:newContact.value.name,
-			phone:newContact.value.phone,
-			isDefault:0
-		}})
-		console.log(res,添加)
-		if (res.data.code === 1){
-			console.log('添加成功')
-		}else{
-			uni.showToast({
-				icon: 'error',
-				title: '添加失败'
-			})
-		}
-		getContacts()
+// 获取联系人列表
+const getContacts = async () => {
+    const res = await uni.request({
+        url: baseUrl + '/contacts/list',
+        method: 'POST',
+        header: {
+            cookie: wx.getStorageSync('cookie')
+        }
+    });
+    // console.log(res)
+    if (res.data.code === 1) {
+        const correctContacts = [];
+        let defaultContact = null;
+        res.data.data.forEach((contact) => {
+            if (contact.isDefault === 1) {
+                if (!defaultContact) {
+                    defaultContact = contact;
+                } else {
+                    contact.isDefault = 0;
+                }
+            }
+            correctContacts.push(contact);
+        });
+        filteredContacts.value = correctContacts;
+        if (defaultContact) {
+            const index = filteredContacts.value.findIndex(
+                c => c.id === defaultContact.id
+            );
+            if (index!== -1) {
+                filteredContacts.value[index].isDefault = 1;
+            }
+        }
+    } else {
+        uni.showToast({
+            icon: 'error',
+            title: '获取失败'
+        });
+    }
 }
-//删除联系人
-const deleteContact = async(item,index) => {
-	const res = await uni.request({
-		url:baseUrl + '/contacts/delete',
-		method:'POST',
-		header: {
-			 cookie : wx.getStorageSync('cookie')
-		},
-		data:{
-			id:item.value[index].id,
-		}
-		})
-		console.log(item.value[index].id)
-		console.log(res,'1111111111111')
-		if(res.data.code === 1){
-			console.log('删除成功')
-		}else{
-			uni.showToast({
-				icon: 'error',
-				title: '删除失败'
-			})
-		}
-		getContacts()
+
+const searchText = ref('');
+const filteredContacts = ref([]);
+
+watch(searchText, () => {
+    if (searchText.value === '') {
+        filteredContacts.value = contacts.value;
+    } else {
+        filteredContacts.value = contacts.value.filter(contact => {
+            return contact.name.includes(searchText.value) || contact.phone.includes(
+                searchText.value)
+        });
+    }
+});
+
+// 添加联系人
+const addContact = async () => {
+    popup.value.close();
+    // 清除之前默认联系人
+    if (newContacts.value.isDefault) {
+        for (let i = 0; i < filteredContacts.value.length; i++) {
+            if (filteredContacts.value[i].isDefault === 1) {
+                filteredContacts.value[i].isDefault = 0;
+            }
+        }
+    }
+    const res = await uni.request({
+        url: baseUrl + '/contacts/add',
+        method: 'POST',
+        header: {
+            cookie: wx.getStorageSync('cookie')
+        },
+        data: {
+            name: newContacts.value.name,
+            phone: newContacts.value.phone,
+            isDefault: newContacts.value.isDefault
+        }
+    });
+    if (res.data.code === 1) {
+        console.log('添加成功');
+        newContacts.value = {
+            name: '',
+            phone: '',
+            isDefault: 0,
+            id: 0
+        };
+    } else {
+        uni.showToast({
+            icon: 'error',
+            title: '添加失败'
+        });
+    }
+    getContacts();
 }
-const indexToModify = ref(null)
-const editContact = (index) => {
-	popup1.value.open('center')
-	indexToModify.value = index
-	const contactToModify = contacts.value[index]
-	newContact.value = {
-		name: contactToModify.name,
-		phone: contactToModify.phone
-	}
+
+// 删除联系人
+const deleteContact = async (index) => {
+    const res = await uni.request({
+        url: baseUrl + '/contacts/delete',
+        method: 'POST',
+        header: {
+            cookie: wx.getStorageSync('cookie')
+        },
+        data: {
+            id: filteredContacts.value[index].id,
+        }
+    });
+    console.log(res, '1111111111111');
+    if (res.data.code === 1) {
+        console.log('删除成功');
+    } else {
+        uni.showToast({
+            icon: 'error',
+            title: '删除失败'
+        });
+    }
+    getContacts();
 }
-const saveModifiedContact = () => {
-	if (indexToModify.value !== null) {
-	    const Index = indexToModify.value
-		const contact = contacts.value[Index]
-		contact.name = newContact.value.name;
-		contact.phone = newContact.value.phone;
-		newContact.value = {
-			name: '',
-			phone: ''
-		}
-		popup1.value.close()
-		filteredContacts.value = contacts.value
-	}
+
+const contactToModify = ref({});
+const indexToModify = ref(null);
+
+// 更新联系人
+const saveModifiedContact = async () => {
+    popup1.value.close();
+    if (!newContact.value.name ||!newContact.value.phone) {
+        uni.showToast({
+            icon: 'error',
+            title: '不能为空'
+        });
+        return;
+    }
+    if (newContact.value.isDefault) {
+        for (let i = 0; i < filteredContacts.value.length; i++) {
+            if (filteredContacts.value[i].isDefault === 1) {
+                filteredContacts.value[i].isDefault = 0;
+            }
+        }
+    }
+    const res = await uni.request({
+        url: baseUrl + '/contacts/update',
+        method: 'POST',
+        header: {
+            cookie: wx.getStorageSync('cookie')
+        },
+        data: {
+            name: newContact.value.name,
+            phone: newContact.value.phone,
+            id: newContact.value.id,
+            isDefault: newContact.value.isDefault
+        }
+    });
+    if (res.data.code === 1) {
+        console.log('更新成功');
+        console.log(newContact.value.isDefault, '000000000000000000000000 ');
+    } else {
+        uni.showToast({
+            icon: 'error',
+            title: '更新失败'
+        });
+    }
+    getContacts();
 }
-const popup = ref(null)
-const popup1 = ref(null)
+
+const popup = ref(null);
+const popup1 = ref(null);
 const open = () => {
-popup.value.open('center')
+    popup.value.open('center');
 }
 const open1 = () => {
-	popup1.value.open('center')
+    popup1.value.open('center');
 }
 const close = () => {
-popup.value.close();
+    popup.value.close();
 }
 const close1 = () => {
-	popup1.value.close();
+    popup1.value.close();
 }
 </script>
 
 <style lang="scss" scoped>
+	.font_3 {
+	    color: #007aff; 
+	    font-size: 14px;
+	}
 	.mt-5 {
 		margin-top: 9.38rpx;
 	}
@@ -293,6 +385,57 @@ const close1 = () => {
 		font-family: Open Sans;
 		line-height: 31.22rpx;
 	}
-
+   //  .pop{
+   //        height: 300px;
+		 //  width: 400px;
+		 //  padding: 20px;
+   //      /* 输入框的通用样式 */
+   //      input {
+			// margin-left: 10%;
+   //          width: 80%; // 占满弹窗宽度,可按需调整
+   //          margin-bottom: 15px;
+   //          padding: 10px;
+   //          border: 1px solid #ccc;
+   //          border-radius: 5px;
+   //      }
+    
+   //      /* 复选框的通用样式 */
+   //      checkbox {
+   //          margin-bottom: 15px;
+   //      }
+    
+   //      /* 按钮的通用样式 */
+   //      button {
+   //          width: 45%; // 按钮宽度占比,可根据实际调整布局
+   //          padding: 8px 0;
+   //          border: none;
+   //          border-radius: 5px;
+   //          font-size: 14px;
+   //          cursor: pointer;
+   //          transition: background-color 0.3s ease;
+   //      }
+   //  }
+    
+   //  /* 第一个弹窗添加联系人的特定按钮样式 */
+   //  .pop:first-child button:first-child {
+   //      background-color: #007aff;
+   //      color: white;
+   //  }
+    
+   //  .pop:first-child button:last-child {
+   //      background-color: #ccc;
+   //      color: #333;
+   //  }
+    
+   //  /* 第二个弹窗修改联系人的特定按钮样式 */
+   //  .pop:last-child button:first-child {
+   //      background-color: #4caf50;
+   //      color: white;
+   //  }
+    
+   //  .pop:last-child button:last-child {
+   //      background-color: #ccc;
+   //      color: #333;
+   //  }
 	@import url(/common/css/global.css)
-</style>
\ No newline at end of file
+</style>
diff --git a/pages/mine/mineorders/mineorders.vue b/pages/mine/mineorders/mineorders.vue
index e5b9b75..0ee67f6 100644
--- a/pages/mine/mineorders/mineorders.vue
+++ b/pages/mine/mineorders/mineorders.vue
@@ -10,7 +10,7 @@
 			</view>
 			<view class="flex-col section_4">
 				<view class="flex-row justify-between self-stretch group">
-					<view class="font_2" :class="{ active: orderStatus === '全部', selected: isSelected('全') }"
+					<view class="font_2" :class="{ active: orderStatus === '全部', selected: isSelected('全部') }"
 						@click="changeTab('全部')">
 						全部
 					</view>
diff --git a/pages/text.vue b/pages/text.vue
index c65e05d..fb97dca 100644
--- a/pages/text.vue
+++ b/pages/text.vue
@@ -1,840 +1,440 @@
-<!-- 
-
 <template>
-	<view class="addres">
-		<view>{{Status.addressSnapshot.name}}</view>
-		<view>{{Status.addressSnapshot.phone}}</view>
-		<view>{{Status.addressSnapshot.region}}</view>
-		<view>{{Status.addressSnapshot.detailAddress}}</view>
-	</view>
-	<view>订单编号:{{Status.orderNumber}}</view>
-	<view>{{Status.orderStatus}}</view>
-	<view v-for="i in Status.orderItemList" :key="i" >
-		 <image :src="i.goodSnapshot.goodImg" style="height: 50px;width: 50px;"></image>
-	</view> 
-	 <view v-for="i in Status.orderItemList" :key="i" >
-		{{i.goodSnapshot.name}}
-	</view> 
-	<view v-for="i in Status.orderItemList" :key="i" >
-		{{i.goodSnapshot.type}}
-	</view> 
-	<view v-for="i in Status.orderItemList" :key="i" >
-		{{i.goodSnapshot.price}}
-	</view> 
-	<view v-if="Status.orderStatus==='待支付'" >去支付</view>
-	<view v-if="Status.orderStatus==='待发货'" >取消订单</view>
-	<view v-if="Status.orderStatus==='已发货'" >确认收货</view>
-	<view v-if="Status.orderStatus==='售后'" >售后详情</view>
-</template>
-
-<script setup>
-import {onMounted, ref} from 'vue'
-import { onLoad } from "@dcloudio/uni-app";
-const Status = ref({})
-console.log(Status.value,34)
-onLoad((options) => {
-  Status.value = JSON.parse(options.info);
-  console.log(Status.value,111)
-   console.log(Status.value.orderStatus,222)
-})
-</script>
-
-<style>
-</style> -->
-
-
-<template>
-	<!-- 弹窗 -->
-	<uni-popup ref="popup1" v-if="showPopup1" :mask-click="false" background-color="white">
-			  <view style="text-align: center;margin: 10px;font-size: 18px;">预约须知</view>
-			  	<view style="margin: 0 20px;">1.成功预约的顾客需按照预定时间前往店内挑选相应级别的服装。
-			  	为确保衣物在体验过程中的完好无损,顾客需根据所选服装的级别补缴尾款以及相应的押金。
-			  	拍摄结束后,店铺将依据衣物的实际状况评估是否扣除押金。</view>
-			  	<view style="margin: 0 20px;">
-			  				2.其中部分物品商家可提供,属于增值服务(如一次性隐形眼镜、
-			  				 一次性粉扑等属于服务费以外的赠送服务,买家可选择自带用品,不影响服务价格),
-			  				 需要买家自己准备的,客服需要提前告诉买家(如胸贴等贴身物品)
-			  			</view>
-			  	<button @click="close1" style="width: 50%;background-color:#f2b600;border-radius: 30px;margin-top: 20px;
-				margin-bottom: 20px;">我知道了</button>
+<uni-popup ref="popup" :mask-click="false" background-color="white" borderRadius="10px" class="pop" type="dialog">
+    <input placeholder="联系人姓名" v-model="newContacts.name" />
+    <input placeholder="联系方式" v-model="newContacts.phone" />
+       <checkbox   @click="handleIsDefaultChanges()" :key="newContacts.id">设置为默认联系人</checkbox>
+    <button @click="addContact">添加</button>
+    <button @click="close">取消</button>
+</uni-popup>
+	<uni-popup ref="popup1" :mask-click="false" background-color="white" borderRadius="10px" class="pop">
+		<input placeholder="联系人姓名" v-model="newContact.name" />
+		<input placeholder="联系方式" v-model="newContact.phone" />
+		 <checkbox  @click="handleIsDefaultChange" :key="newContact.id">设置为默认联系人</checkbox>
+		<button @click="saveModifiedContact">保存</button>
+		<button @click="close1">取消</button>
 	</uni-popup>
-	<uni-popup ref="popup2" v-if="showPopup2" :mask-click="false" background-color="white">
-		<view style="text-align: center;margin: 10px;font-size: 18px;">费用说明</view>
-		<view style="margin: 10px;"> 一、费用支付流程</view>
-		<view style="margin: 0 20px;">
-			<view>1.确定等级:您将根据个人需求选择合适的服装价位区间,并完成预约操作。</view>
-			<view>2.预约成功:预约成功后,您需前往店铺挑选对应等级的服装。</view>
-			<view>3.补缴尾款及押金:在挑选服装时,您需要补缴尾款(扣除已支付定金后的剩余服务或商品费用)以及押金(用于保障服装归还时的完好)。</view>
-		</view>
-		<view style="margin: 10px;"> 二、尾款具体事项</view>
-		<view style="margin: 0 20px;">
-			<view>1.租赁服装:若您选择租赁我们店铺没有的服装,租赁费用将在您支付尾款时一并结算。无论拍摄是否进行,租赁费用均不予退还。</view>
-			<view>2.购买服装:如您希望购买我们店铺的服装,且我们同意购买,将按照服装的稀有程度分等级定价。您需按照所选等级支付尾款。</view>
-			<view>3.定制服务:若您自带衣服,我们提供妆发及摄影服务。若需我们额外购买服装,将按照上述等级定价,您需支付相应的尾款。</view>
-		</view>
-		<view style="margin: 10px;"> 三、定金与押金说明</view>
-		<view style="margin: 0 20px;">
-			<view>1.定金:预约时支付的定金用于确认您的预约意向,定金不予退还。</view>
-			<view>2.押金:拍摄完成后,我们将根据服装的归还情况决定是否扣除押金。若服装无损坏,押金将全额退还。</view>
-		</view>
-		<view style="margin: 10px;"> 四、特殊情况处理</view>
-		<view style="margin: 0 20px;">
-			<view> 若因特殊情况您需要取消预约,请及时与我们联系。未拍摄情况下,定金不予退还,已支付的租赁费用亦不退还。</view>
-		</view>
-	      <button @click="close2" style="width: 50%;background-color:#f2b600;border-radius: 30px;margin-top: 20px;
-	      margin-bottom: 20px;">我知道了</button>
-	    </uni-popup>
-	<view class="flex-col page" >
-		<view class="flex-col justify-start items-start relative group" @click="goToContact()"> <!-- @click="goToContact()" -->
-			<view class="section"></view>
-			<text class="font text pos">填写预约信息</text>
-			<view class="flex-col section_2 pos_2">
-				<view class="flex-row justify-between items-center group_2">
+	<view class="flex-col page">
+		<view class="flex-col">
+			<view class="flex-row justify-center items-center relative group">
+				<text class="text">联系人信息</text>
+				<image class="image pos"
+					src="https://ide.code.fun/api/image?token=673329a3c471750012deb1ec&name=888e11f2c452b3d64f79a5136a779376.png" />
+			</view>
+			<view class="mt-16 flex-col">
+				<view class="flex-row justify-between items-center list-item mt-5"
+					v-for="(item, index) in filteredContacts" :key="index">
 					<view class="flex-row items-center">
-						<image class="shrink-0 image"
-							src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=8bde7b2f7a6da1a009b89295a48cc8ec.png" />
-						<text class="font_2 text_2 ml-7">联系人:张三</text>
-						<text class="font_2 text_3 ml-7">15888610253</text>
+						<text class="font ml-9">{{item.name}}</text>
+						<text class="font_2 ml-9">{{item.phone}} -{{item.id}}</text>
 					</view>
-					<image class="image_2"
-						src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=10d9d3f5abdae8518f3c6c3fa1bbb544.png" />
-				</view>
-				<view class="flex-row justify-between items-center group_3">
-					<view class="flex-row items-center">
-						<image class="image"
-							src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=c6dac3074d9c4e4d6286c07f0ea03db5.png" />
-						<view class="flex-col items-start ml-9">
-							<text class="font_3">到店日期:2024-10-15</text>
-							<text class="mt-2 font_3">具体场次:上午场(09:30-12:00)</text>
-						</view>
-					</view>
-					<image class="image_2"
-						src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=10d9d3f5abdae8518f3c6c3fa1bbb544.png" />
-				</view>
-			</view>
-		</view>
-		<view class="flex-col group_4">
-			<text class="self-start font text_4">选择预约类别</text>
-			<view class="mt-14 flex-col justify-start self-stretch section_3">
-				<view class="flex-row equal-division">
-					<view class=" clickable-item " @click="showWhole('0')">
-						<image class="image_3"
-							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FQdGvHpRx-paishe.png" />
-						<text class="mt-2 font_4 text_5">整套约拍</text>
-					</view>
-					<view class=" ml-23 clickable-item" @click="showOwn('1')">
-						<image class="image_3"
-							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FWJdpNSbl-000.png" />
-						<text class="mt-2 font_4">自带服装</text>
+					  <text v-if="item.isDefault === 1" class="font_3 ml-12">默认联系人</text>
+					<view class="flex-row group_2">
+						<image class="image_2"
+							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FEclWfXMx-bj.png"
+							@click="editContact(index)" />
+						<image class="ml-12 image_2"
+							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FzgFMedLP-sc.png"
+							@click="deleteContact(index)" />
 					</view>
 				</view>
 			</view>
 		</view>
-	<template v-if="zhi === '0'" > 
-		<view class="flex-col section_7" >
-			<view class="flex-col group_5">
-				<text class="self-start font text_6">选择服装价位</text>
-				<view class="flex-row items-center self-stretch section_8 view" v-for="(item,index) in Whole" :key="item" @click="goToText(index)" >
-					<image :src="item.image" class="shrink-0 image_4"></image>
-					<view class="flex-col flex-1 ml-13">
-						<view class="self-start font_2 text_7">{{item.clothesType}}</view>
-						<view class="flex-row items-baseline self-stretch mt-11">
-							<text class="font_2">价位:</text>
-							<view class="font_6 text_8 ml-1">¥{{item.minPrice}}--{{item.maxPrice}}</view>
-						</view>
-						<view class="self-stretch font_7 text_9 mt-11">{{item.brief}}</view>
-					</view>
-					<view class="flex-row shrink-0 ml-21">
-						<view class="flex-col justify-start items-center button"><text class="font_5">选择</text></view>
-						<image class="ml-8 image_5"
-							src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=7d16fc8dfa328fc97ff273ebeab9bc18.png" />
-					</view>
-				</view>
-			</view>
-			<view class="flex-col">
-				<view class="flex-col group_6">
-					<view class="flex-col">
-						<text class="self-start font text_15">选择拍摄场景</text>
-						<view class="flex-row self-stretch mt-15">
-							<view class="flex-row justify-center items-center section_9">
-								<image class="image_7"
-									src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FDSCeqARd-shinei.png" />
-								<text class="ml-16 font_8 text_16">室内</text>
-								<checkbox class="ml-16" name="location" value="室内"></checkbox>
-							</view>
-							<view class="flex-row justify-center items-center section_9 ml-23">
-								<image class="image_7"
-									src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FgfjDWgWY-shiwai.png" />
-								<text class="ml-16 font_8 text_17">室外</text>
-								<checkbox class="ml-16" name="location" value="室外"></checkbox>
-							</view>
-						</view>
-					</view>
-					<view class="mt-26 flex-row justify-center items-center"  @click="openPopup1">
-						<image class="badge"
-							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FkWvkHOaM-0e7d6a68aaa19d61293070fa98a3ae13.png" />
-						<text class="ml-4 font_7 text_18">预约须知</text>
-					</view>
-				</view>
-			</view>
-		</view>
-	</template>
-	<template v-if="zhi === '1'" >
-		<view class="flex-col section_7">
-			<view class="flex-col group_5">
-				<text class="self-start font text_6">选择服务</text>
-				<view class="flex-row items-center self-stretch section_8 view" v-for="item in Own" :key="item" >
-					<image :src="item.img" class="shrink-0 image_4"></image>
-					<view class="flex-col flex-1 ml-13">
-						<view class="self-start font_2 text_7">{{item.name}}</view>
-						<view class="flex-row items-baseline self-stretch mt-11">
-							<text class="font_2">价位:</text>
-							<view class="font_6 text_8 ml-1">¥{{item.price}}</view>
-						</view>
-						<view class="self-stretch font_7 text_9 mt-11">{{item.title}}</view>
-					</view>
-					<view class="flex-row shrink-0 ml-21">
-					   <checkbox></checkbox>
-					</view>
-				</view>
-			</view>
-			<view class="flex-col">
-				<view class="flex-col group_6">
-					<view class="flex-col">
-						<text class="self-start font text_15">选择拍摄场景</text>
-						<view class="flex-row self-stretch mt-15">
-							<view class="flex-row justify-center items-center section_9">
-								<image class="image_7"
-									src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FDSCeqARd-shinei.png" />
-								<text class="ml-16 font_8 text_16">室内</text>
-								<checkbox class="ml-16" name="location" value="室内"></checkbox>
-							</view>
-							<view class="flex-row justify-center items-center section_9 ml-23">
-								<image class="image_7"
-									src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FgfjDWgWY-shiwai.png" />
-								<text class="ml-16 font_8 text_17">室外</text>
-								<checkbox class="ml-16" name="location" value="室外"></checkbox>
-							</view>
-						</view>
-					</view>
-					<view class="flex-row self-stretch section_12">
-						<image class="shrink-0 self-center image_66"
-							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FbtvtZqGC-kefu.png" />
-						<view class="flex-col shrink-0 self-start group_10">
-							<text class="self-start font_2 text_12">联系客服</text>
-							<text class="mt-10 self-stretch font_66">请提供详细的问题描述,以便我们更快地为您解决问题。</text>
-						</view>
-						<image class="shrink-0 self-center image image_77"
-							src="https://ide.code.fun/api/image?token=67303857c471750012de63be&name=136eb7cb0ccc86c9685bc319ce005613.png" />
-					</view>
-					<view class="mt-26 flex-row justify-center items-center"  @click="openPopup1">
-						<image class="badge"
-							src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FkWvkHOaM-0e7d6a68aaa19d61293070fa98a3ae13.png" />
-						<text class="ml-4 font_7 text_18">预约须知</text>
-					</view>
-				</view>
-			</view>
-		</view>
-	</template>
-		<view class="flex-row justify-between items-center section_11">
-			<view class="flex-row items-center group_7">
-				<view class="flex-col justify-start items-start shrink-0 relative">
-					<text class="font_8">定金:</text>
-					<image class="image_2 pos_4"
-						src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=3393d3563afcfe7dedbadba1ea5328a0.png" />
-				</view>
-				<text class="font_6 text_19">88.</text>
-				<text class="text_21">00</text>
-			</view>
-			<view class="flex-row items-center">
-				<view class="flex-row button_3" @click="openPopup2">
-					<text class="text_22">费用说明</text>
-					<image class="shrink-0 image_8 ml-3"
-						src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=0455b173571a47fdc438588e788f26c5.png" />
-				</view>
-				<view class="ml-10 flex-col justify-start items-center button_2">
-					<text class="font_4 text_20">确定预约</text>
-				</view>
-			</view>
+		<view class="flex-col justify-start items-center section mt-431" @click="open">
+			<view class="flex-col justify-start items-center text-wrapper"><text class="text_2">添加新联系人</text></view>
 		</view>
 	</view>
 </template>
 
 <script setup>
-	import {
-		ref
-	} from 'vue';
-import { baseUrl } from '../api/request';
-const displayItem = ref([])
-const Whole = ref([{}])
-const getWhole = async()=>{
-	const res = await uni.request({
-		url: baseUrl + '/clothesGrade/list',
-		method:'POST',
-		header:{
-			cookie:wx.getAccountInfoSync('cookie')
-		},
-		data:{
-			
-		}
-	})
-	if(res.data.code === 1){
-		Whole.value=res.data.data
-	}else{
-		uin.showtoast({
-			icon:'error',
-			title:'获取失败'
-		})
-	}
-}
-const Own = ref([{
-			img: 'https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FObQGBPnJ-zhuangfa.png',
-			name: '妆发预约',
-			price: '20',
-			title: '包括底妆,眉毛,眼妆,腮红和唇妆,根据您的肤色和服装风格进行个性化设计'
-		},
-		{
-			img: 'https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FDFNymmCN-sheying.png',
-			name: '摄影服务',
-			price: '15',
-			title: '提供专业的摄影棚和灯光设备,为客户打造舒适的拍摄环境'
-		}
-	])
-const zhi = ref('0')
+import {
+    ref,
+    onMounted,
+    watch,
+    set
+} from 'vue'
+import {
+    baseUrl
+} from '../../../api/request'
 
-const showWhole = (zhiValue) => {
-  zhi.value = zhiValue
-  console.log(zhi.value)
+
+onMounted(() => {
+    getContacts()
+})
+
+const newContact = ref({
+    name: '',
+    phone: '',
+    isDefault: 0,
+    id: 0
+})
+const newContacts = ref({
+    name: '',
+    phone: '',
+    isDefault: 0,
+    id: 0
+})
+
+const editContact = async (index) => {
+    popup1.value.open('center')
+    const contact = filteredContacts.value[index]
+    newContact.value = {
+        name: contact.name,
+        id: contact.id,
+        phone: contact.phone,
+        isDefault: contact.isDefault
+    }
 }
 
-const showOwn = (zhiValue) => {
-  zhi.value = zhiValue
-  console.log(zhi.value)
+const handleIsDefaultChanges = (e) => {
+	let currentValue = newContact.value.isDefault
+	 let updatedValue = currentValue === 0 ? 1 : 0
+	 newContact.value.isDefault = updatedValue
+	console.log(updatedValue)
+}
+const handleIsDefaultChange = (e) => {
+	//console.log(newContact.value.isDefault)
+	 let currentValue = newContact.value.isDefault
+	 let updatedValue = currentValue === 0 ? 1 : 0
+	 newContact.value.isDefault = updatedValue
+	console.log(updatedValue)
+
+}
+// 获取联系人列表
+const getContacts = async () => {
+    const res = await uni.request({
+        url: baseUrl + '/contacts/list',
+        method: 'POST',
+        header: {
+            cookie: wx.getStorageSync('cookie')
+        }
+    })
+    // console.log(res)
+    if (res.data.code === 1) {
+        const correctContacts = []
+        let defaultContact = null
+        res.data.data.forEach((contact) => {
+            if (contact.isDefault === 1) {
+                if (!defaultContact) {
+                    defaultContact = contact
+                } else {
+                    contact.isDefault = 0
+                }
+            }
+            correctContacts.push(contact)
+        })
+        filteredContacts.value = correctContacts
+        if (defaultContact) {
+            const index = filteredContacts.value.findIndex(
+                c => c.id === defaultContact.id
+            );
+            if (index!== -1) {
+                filteredContacts.value[index].isDefault = 1
+            }
+        }
+    } else {
+        uni.showToast({
+            icon: 'error',
+            title: '获取失败'
+        })
+    }
 }
 
-const close1 = () => {
-  popup1.value.close()
-}
-const close2 = () => {
-  popup2.value.close()
+const searchText = ref('')
+const filteredContacts = ref([])
+
+watch(searchText, () => {
+    if (searchText.value === '') {
+        filteredContacts.value = contacts.value;
+    } else {
+        filteredContacts.value = contacts.value.filter(contact => {
+            return contact.name.includes(searchText.value) || contact.phone.includes(
+                searchText.value)
+        })
+    }
+})
+// 添加联系人
+const addContact = async () => {
+    popup.value.close();
+    // 清除之前默认联系人
+    if (newContacts.value.isDefault) {
+        for (let i = 0; i < filteredContacts.value.length; i++) {
+            if (filteredContacts.value[i].isDefault === 1) {
+                filteredContacts.value[i].isDefault = 0
+            }
+        }
+    }
+    const res = await uni.request({
+        url: baseUrl + '/contacts/add',
+        method: 'POST',
+        header: {
+            cookie: wx.getStorageSync('cookie')
+        },
+        data: {
+            name: newContacts.value.name,
+            phone: newContacts.value.phone,
+            isDefault: newContacts.value.isDefault
+        }
+    });
+    if (res.data.code === 1) {
+        console.log('添加成功')
+        newContacts.value = {
+            name: '',
+            phone: '',
+            isDefault: 0,
+            id: 0
+        };
+    } else {
+        uni.showToast({
+            icon: 'error',
+            title: '添加失败'
+        });
+    }
+    getContacts()
 }
 
+// 删除联系人
+const deleteContact = async (index) => {
+    const res = await uni.request({
+        url: baseUrl + '/contacts/delete',
+        method: 'POST',
+        header: {
+            cookie: wx.getStorageSync('cookie')
+        },
+        data: {
+            id: filteredContacts.value[index].id,
+        }
+    })
+    console.log(res, '1111111111111');
+    if (res.data.code === 1) {
+        console.log('删除成功')
+    } else {
+        uni.showToast({
+            icon: 'error',
+            title: '删除失败'
+        });
+    }
+    getContacts()
+}
+
+const contactToModify = ref({})
+const indexToModify = ref(null)
+
+// 更新联系人
+const saveModifiedContact = async () => {
+    popup1.value.close();
+    if (!newContact.value.name ||!newContact.value.phone) {
+        uni.showToast({
+            icon: 'error',
+            title: '不能为空'
+        })
+        return
+    }
+    if (newContact.value.isDefault) {
+        for (let i = 0; i < filteredContacts.value.length; i++) {
+            if (filteredContacts.value[i].isDefault === 1) {
+                filteredContacts.value[i].isDefault = 0
+            }
+        }
+    }
+    const res = await uni.request({
+        url: baseUrl + '/contacts/update',
+        method: 'POST',
+        header: {
+            cookie: wx.getStorageSync('cookie')
+        },
+        data: {
+            name: newContact.value.name,
+            phone: newContact.value.phone,
+            id: newContact.value.id,
+            isDefault: newContact.value.isDefault
+        }
+    })
+    if (res.data.code === 1) {
+        console.log('更新成功')
+		console.log(newContact.value.isDefault,'000000000000000000000000 ')
+    } else {
+        uni.showToast({
+            icon: 'error',
+            title: '更新失败'
+        })
+    }
+    getContacts()
+}
+
+const popup = ref(null)
 const popup1 = ref(null)
-const popup2 = ref(null)
-const showPopup1 = ref(false)
-const showPopup2 = ref(false)
-
-const openPopup1 = () => {
-  showPopup1.value = true;
-  popup1.value.open('center');
+const open = () => {
+    popup.value.open('center')
 }
-
-const openPopup2 = () => {
-  showPopup2.value = true;
-  popup2.value.open('center');
+const open1 = () => {
+    popup1.value.open('center')
 }
-
-const closePopup1 = () => {
-  showPopup1.value = false;
+const close = () => {
+    popup.value.close()
 }
-
-const closePopup2 = () => {
-  showPopup2.value = false;
+const close1 = () => {
+    popup1.value.close()
 }
-const selectedLocation = ref(null)
-const handleFormSubmit = () => {
-    selectedLocation.value = null
-}
-const goToText = (index) =>{
-	console.log(index);
-	uni.navigateTo({
-		url:"/pages/booking/CostumeDisplay/CostumeDisplay?info="
-		+ JSON.stringify(Whole.value[index])
-	})
-}
-const goToContact = ()=>{
-	uni.navigateTo({
-		url:'/pages/mine/Contact/Contact'
-	})
-}
-console.log(Whole.value[1])
 </script>
 
 <style lang="scss" scoped>
-	.ml-7 {
-		margin-left: 13.13rpx;
+	.font_3 {
+	    color: #007aff; 
+	    font-size: 14px;
+	}
+	.mt-5 {
+		margin-top: 9.38rpx;
 	}
 
 	.ml-9 {
 		margin-left: 16.88rpx;
 	}
 
-	.ml-13 {
-		margin-left: 24.38rpx;
-	}
-
-	.ml-21 {
-		margin-left: 39.38rpx;
-	}
-
-	.ml-1 {
-		margin-left: 1.88rpx;
-	}
-
-	.mt-15 {
-		margin-top: 28.13rpx;
-	}
-
-	.ml-23 {
-		margin-left: 43.13rpx;
-	}
-
-	.mt-11 {
-		margin-top: 20.63rpx;
-	}
-
-	.ml-3 {
-		margin-left: 5.63rpx;
+	.mt-431 {
+		margin-top: 808.13rpx;
 	}
 
 	.page {
-		padding-top: 45rpx;
+		padding-top: 18.75rpx;
 		background-color: #f5f5dc;
+		border-radius: 28.13rpx 28.13rpx 0rpx 0rpx;
 		width: 100%;
 		overflow-y: auto;
 		overflow-x: hidden;
 		height: 100%;
 	}
-    .font_66 {
-    	font-size: 22.5rpx;
-    	font-family: Open Sans;
-    	line-height: 26.25rpx;
-    	color: #898989;
-    }
+
 	.group {
-		padding-top: 11.25rpx;
+		padding: 11.25rpx 24.38rpx 7.5rpx;
 	}
 
-	.section {
-		margin-left: 71.25rpx;
-		background-color: #ffffff00;
-		border-radius: 18.75rpx;
-		width: 281.25rpx;
-		height: 281.25rpx;
+	.text {
+		color: #323232;
+		font-size: 37.5rpx;
+		font-family: Open Sans;
+		line-height: 35.21rpx;
+	}
+
+	.image {
+		width: 52.5rpx;
+		height: 52.5rpx;
+	}
+
+	.pos {
+		position: absolute;
+		right: 24.38rpx;
+		top: 50%;
+		transform: translateY(-50%);
+	}
+
+	.list-item {
+		padding: 52.5rpx 15rpx;
+		background-color: #fffef8;
+		border-bottom: solid 1.88rpx #c8c8c8;
+	}
+
+	.list-item:first-child {
+		margin-top: 0;
+	}
+
+	.image_3 {
+		width: 33.75rpx;
+		height: 33.75rpx;
 	}
 
 	.font {
 		font-size: 30rpx;
 		font-family: Open Sans;
-		line-height: 27.75rpx;
+		line-height: 27.19rpx;
 		color: #323232;
 	}
 
-	.text {
-		line-height: 27.96rpx;
-	}
-
-	.pos {
-		position: absolute;
-		left: 21.62rpx;
-		top: 0;
-	}
-
-	.section_2 {
-		padding-left: 33.75rpx;
-		padding-right: 28.13rpx;
-		background-color: #fffef8;
-		border-radius: 18.75rpx;
-	}
-
-	.pos_2 {
-		position: absolute;
-		left: 20.63rpx;
-		right: 20.63rpx;
-		top: 53.63rpx;
-	}
-
-	.group_2 {
-		padding: 31.88rpx 0 15rpx;
-		border-bottom: solid 1.88rpx #e2e0e0;
-	}
-
-	.image {
-		width: 43.13rpx;
-		height: 43.13rpx;
-	}
-
 	.font_2 {
-		font-size: 26.25rpx;
+		font-size: 30rpx;
 		font-family: Open Sans;
-		line-height: 24.3rpx;
+		line-height: 22.05rpx;
 		color: #323232;
 	}
 
-	.text_2 {
-		line-height: 24rpx;
-	}
-
-	.text_3 {
-		line-height: 24rpx;
+	.group_2 {
+		margin-right: 11.25rpx;
 	}
 
 	.image_2 {
-		width: 33.75rpx;
-		height: 33.75rpx;
+		width: 39.38rpx;
+		height: 39.38rpx;
 	}
 
-	.group_3 {
-		padding: 22.5rpx 0 37.5rpx;
-	}
-
-	.font_3 {
-		font-size: 26.25rpx;
-		font-family: Open Sans;
-		line-height: 31.88rpx;
-		color: #323232;
-	}
-
-	.group_4 {
-		margin-top: 26.25rpx;
-		padding: 0 30rpx;
-	}
-
-	.text_4 {
-		line-height: 27.69rpx;
-	}
-
-	.section_3 {
-		padding: 31.88rpx 0;
+	.section {
+		margin-left: 16.88rpx;
+		padding: 22.5rpx 0 15rpx;
 		background-color: #fffef8;
-		border-radius: 18.75rpx;
-	}
-
-	.equal-division {
-		margin: 0 41.25rpx;
-	}
-
-	.section_4 {
-		flex: 1 1 281.25rpx;
-	}
-
-	.image_3 {
-		width: 192rpx;
-		height: 192rpx;
-	}
-
-	.font_4 {
-		font-size: 30rpx;
-		font-family: Inter;
-		line-height: 27.75rpx;
-		color: #323232;
-	}
-
-	.text_5 {
-		line-height: 27.99rpx;
-	}
-
-	.section_5 {
-		position: relative;
-		flex: 1 1 281.25rpx;
-	}
-
-.clickable-item {
-  padding: 15rpx 0 41.25rpx;
-  background-color: white;
-  border-radius: 18.75rpx;
-  height: 281.25rpx;
-  flex: 1 1 281.25rpx;
-  align-items: center;
-  display: flex;
-  flex-direction: column;
-  box-sizing: border-box;
-  flex-shrink: 0;
-}
-
-.clickable-item.selected {
-  background-color: #f08b00;
-}
-
-.clickable-item.selected::after {
-  background-color: #f08b00;
-}
-	.section_6 {
-		background-color: #ffffff99;
-		border-radius: 18.75rpx;
-		width: 281.25rpx;
-		height: 281.25rpx;
-	}
-
-	.pos_3 {
-		position: absolute;
-		left: 0;
-		right: 0;
-		top: 0;
-		bottom: 0;
-	}
-
-	.section_7 {
-		margin-top: 30rpx;
-		padding-bottom: 46.88rpx;
-		background-color: #fff3c3;
-	}
-
-	.group_5 {
-		padding: 30rpx 30rpx 37.5rpx;
-	}
-
-	.text_6 {
-		line-height: 27.86rpx;
-	}
-
-	.section_8 {
-		margin-top: 16.88rpx;
-		padding: 26.25rpx 26.25rpx 26.25rpx 39.38rpx;
-		background-color: #fffef8;
-		border-radius: 18.75rpx;
-	}
-
-	.view {
-		margin-top: 41.25rpx;
-	}
-
-	.image_4 {
-		border-radius: 9.38rpx;
-		width: 118.13rpx;
-		height: 151.88rpx;
-	}
-
-	.text_7 {
-		line-height: 24.26rpx;
-	}
-	.text_77 {
-		line-height: 24.96rpx;
-	}
-	.font_6 {
-		font-size: 33.75rpx;
-		font-family: Open Sans;
-		line-height: 24.3rpx;
-		color: #ff3c3c;
-	}
-
-	.text_8 {
-		line-height: 24.81rpx;
-	}
-
-	.button {
-		padding: 7.5rpx 0;
-		background-color: #fbb612;
-		border-radius: 9.38rpx;
-		width: 75rpx;
-		height: 37.5rpx;
-	}
-    .button2 {
-    	padding: 7.5rpx 0;
-		background-color: #f5f5dc;
-    	border-radius: 50rpx;
-    	width: 37.5rpx;
-    	height: 37.5rpx;
-    }
-	.font_5 {
-		font-size: 22.5rpx;
-		font-family: Open Sans;
-		line-height: 20.72rpx;
-		color: #ffffff;
-	}
-
-	.image_5 {
-		width: 37.5rpx;
-		height: 37.5rpx;
-	}
-
-	.text_10 {
-		line-height: 24.15rpx;
-	}
-
-	.text_12 {
-		line-height: 24.81rpx;
 	}
 
 	.text-wrapper {
-		padding: 7.5rpx 0;
-		background-color: #d9d9d9;
-		border-radius: 9.38rpx;
-		width: 75rpx;
-		height: 37.5rpx;
-	}
-
-	.text_11 {
-		line-height: 20.61rpx;
-	}
-
-	.image_6 {
-		width: 118.13rpx;
-		height: 151.88rpx;
-	}
-    .image_66 {
-    		border-radius: 9.38rpx;
-    		width: 93.75rpx;
-    		height: 118.13rpx;
-    	}
-	.text_14 {
-		line-height: 24.23rpx;
-	}
-
-	.divider {
-		margin: 0 22.5rpx;
-		background-color: #ff8550;
-		height: 1.88rpx;
-	}
-
-	.group_6 {
-		padding: 22.5rpx 30rpx 0;
-	}
-
-	.text_15 {
-		line-height: 27.64rpx;
-	}
-
-	.section_9 {
-		flex: 1 1 322.5rpx;
-		padding: 26.25rpx 0;
-		background-color: #fffef8;
-		border-radius: 18.75rpx;
-		height: 153.75rpx;
-	}
-
-	.image_7 {
-		border-radius: 9.38rpx;
-		width: 123.75rpx;
-		height: 101.25rpx;
-	}
-	.image_77 {
-		margin-left: 48.75rpx;
-	}
-
-	.font_8 {
-		font-size: 26.25rpx;
-		font-family: Inter;
-		line-height: 24.3rpx;
-		color: #000000;
-	}
-    .group_10 {
-    	margin-left: 22.5rpx;
-    	margin-top: 15rpx;
-    	width: 405rpx;
-    }
-	.text_16 {
-		line-height: 24.21rpx;
-	}
-
-	.section_10 {
-		background-color: #ffffff;
-		border-radius: 50%;
-		width: 33.75rpx;
-		height: 33.75rpx;
-		border-left: solid 1.88rpx #c4c4c4;
-		border-right: solid 1.88rpx #c4c4c4;
-		border-top: solid 1.88rpx #c4c4c4;
-		border-bottom: solid 1.88rpx #c4c4c4;
-	}
-
-	.text_17 {
-		line-height: 24.09rpx;
-	}
-
-	.badge {
-		width: 28.13rpx;
-		height: 28.13rpx;
-	}
-
-	.font_7 {
-		font-size: 22.5rpx;
-		font-family: Open Sans;
-		line-height: 20.72rpx;
-		color: #8a8a8a;
-	}
-
-	.text_13 {
-		line-height: 21.38rpx;
-	}
-
-	.text_9 {
-		line-height: 21.36rpx;
-	}
-
-	.text_18 {
-		color: #000000;
-		line-height: 20.77rpx;
-	}
-
-	.section_11 {
-		margin-top: 48.75rpx;
-		padding: 15rpx 22.5rpx;
-		background-color: #fffef8;
-	}
-
-	.group_7 {
-		width: 180.06rpx;
-	}
-	.group_77{
-		margin-left: 37.5rpx;
-	}
-
-	.pos_4 {
-		position: absolute;
-		right: 0;
-		bottom: 0;
-	}
-
-	.text_19 {
-		color: #fbb612;
-		font-weight: 700;
-		line-height: 24.84rpx;
-	}
-
-	.text_21 {
-		color: #fbb612;
-		font-size: 26.25rpx;
-		font-family: Open Sans;
-		font-weight: 700;
-		line-height: 19.29rpx;
-	}
-
-	.button_3 {
-		padding: 9.38rpx 11.25rpx;
-		background-color: #d9d9d9;
-		border-radius: 9.38rpx;
-		height: 37.5rpx;
-	}
-
-	.text_22 {
-		color: #323232;
-		font-size: 18.75rpx;
-		font-family: Inter;
-		line-height: 17.36rpx;
-	}
-
-	.image_8 {
-		width: 18.75rpx;
-		height: 18.75rpx;
-	}
-
-	.button_2 {
-		padding: 26.25rpx 0;
+		padding: 30rpx 0;
 		background-color: #fbb612;
 		border-radius: 75rpx;
-		width: 238.13rpx;
-		height: 82.5rpx;
+		width: 639.38rpx;
 	}
-	.text_20 {
+
+	.text_2 {
 		color: #ffffff;
+		font-size: 33.75rpx;
+		font-family: Open Sans;
+		line-height: 31.22rpx;
 	}
+    .pop{
+          height: 300px;
+		  width: 400px;
+		  padding: 20px;
+        /* 输入框的通用样式 */
+        input {
+			margin-left: 10%;
+            width: 80%; // 占满弹窗宽度,可按需调整
+            margin-bottom: 15px;
+            padding: 10px;
+            border: 1px solid #ccc;
+            border-radius: 5px;
+        }
     
-    .section_12 {
-    	margin: 26.25rpx 16.88rpx 0 11.25rpx;
-    	padding: 15rpx 26.25rpx;
-    	background-color: #fffef8;
-    	border-radius: 18.75rpx;
+        /* 复选框的通用样式 */
+        checkbox {
+            margin-bottom: 15px;
+        }
+    
+        /* 按钮的通用样式 */
+        button {
+            width: 45%; // 按钮宽度占比,可根据实际调整布局
+            padding: 8px 0;
+            border: none;
+            border-radius: 5px;
+            font-size: 14px;
+            cursor: pointer;
+            transition: background-color 0.3s ease;
+        }
     }
-@import url(/common/css/global.css);
-</style>
\ No newline at end of file
+    
+    /* 第一个弹窗添加联系人的特定按钮样式 */
+    .pop:first-child button:first-child {
+        background-color: #007aff;
+        color: white;
+    }
+    
+    .pop:first-child button:last-child {
+        background-color: #ccc;
+        color: #333;
+    }
+    
+    /* 第二个弹窗修改联系人的特定按钮样式 */
+    .pop:last-child button:first-child {
+        background-color: #4caf50;
+        color: white;
+    }
+    
+    .pop:last-child button:last-child {
+        background-color: #ccc;
+        color: #333;
+    }
+	@import url(/common/css/global.css)
+</style>
diff --git a/unpackage/dist/dev/mp-alipay/app.js b/unpackage/dist/dev/mp-alipay/app.js
index 8fe934b..015e5eb 100644
--- a/unpackage/dist/dev/mp-alipay/app.js
+++ b/unpackage/dist/dev/mp-alipay/app.js
@@ -1,21 +1,44 @@
 "use strict";
 Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
 const common_vendor = require("./common/vendor.js");
+const store_index = require("./store/index.js");
 if (!Math) {
-  "./pages/home/home/home.js";
+  "./pages/home/home.js";
   "./pages/store-home/main/main.js";
   "./pages/mine/main/main.js";
+  "./pages/mine/mineorders/mineorders.js";
   "./pages/Shopping-cart/productmain/productmain.js";
-  "./pages/store-home/products/product-detail.js";
-  "./pages/Shopping-cart/servicemain/servicemain.js";
+  "./pages/booking/AppointmentHome.js";
+  "./pages/booking/ContactInformation.js";
+  "./pages/booking/date.js";
+  "./pages/store-home/ProductDetails/ProductDetails.js";
+  "./pages/Shopping-cart/Phone/Phone.js";
+  "./pages/order/product-unpay/product-unpay.js";
+  "./pages/booking/BillingOfFees/BillingOfFees.js";
+  "./pages/booking/ReservationInstructions/ReservationInstructions.js";
+  "./pages/booking/respectable/respectable.js";
+  "./pages/Shopping-cart/newaddress_Info/newaddress_Info.js";
+  "./pages/order/product-waitpay/product-waitpay.js";
+  "./pages/order/paysuccess/paysuccess.js";
+  "./pages/booking/Simple/Simple.js";
+  "./pages/booking/bookingpay/bookingpay.js";
+  "./pages/order/productOrderDetail/productOrderDetail.js";
+  "./pages/login/login.js";
+  "./pages/Shopping-cart/component/addProduct.js";
+  "./pages/mine/OrderDetails/OrderDetails.js";
+  "./pages/service/productDetail/productDetail.js";
+  "./pages/booking/CostumeDisplay/CostumeDisplay.js";
+  "./pages/booking/CostumeDetails/CostumeDetails.js";
+  "./pages/mine/Contact/Contact.js";
 }
 const _sfc_main = {};
 function _sfc_render(_ctx, _cache) {
   return {};
 }
-const App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+const App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/jiangchengfeiyi-xiaochengxu/App.vue"]]);
 function createApp() {
   const app = common_vendor.createSSRApp(App);
+  app.use(store_index.pinia);
   return {
     app
   };
diff --git a/unpackage/dist/dev/mp-alipay/app.json b/unpackage/dist/dev/mp-alipay/app.json
index 190ead8..bc2fc8b 100644
--- a/unpackage/dist/dev/mp-alipay/app.json
+++ b/unpackage/dist/dev/mp-alipay/app.json
@@ -1,11 +1,33 @@
 {
   "pages": [
-    "pages/home/home/home",
+    "pages/home/home",
     "pages/store-home/main/main",
     "pages/mine/main/main",
+    "pages/mine/mineorders/mineorders",
     "pages/Shopping-cart/productmain/productmain",
-    "pages/store-home/products/product-detail",
-    "pages/Shopping-cart/servicemain/servicemain"
+    "pages/booking/AppointmentHome",
+    "pages/booking/ContactInformation",
+    "pages/booking/date",
+    "pages/store-home/ProductDetails/ProductDetails",
+    "pages/Shopping-cart/Phone/Phone",
+    "pages/order/product-unpay/product-unpay",
+    "pages/booking/BillingOfFees/BillingOfFees",
+    "pages/booking/ReservationInstructions/ReservationInstructions",
+    "pages/booking/respectable/respectable",
+    "pages/Shopping-cart/newaddress_Info/newaddress_Info",
+    "pages/order/product-waitpay/product-waitpay",
+    "pages/order/paysuccess/paysuccess",
+    "pages/booking/Simple/Simple",
+    "pages/booking/bookingpay/bookingpay",
+    "pages/order/productOrderDetail/productOrderDetail",
+    "pages/login/login",
+    "pages/Shopping-cart/component/addProduct",
+    "pages/mine/OrderDetails/OrderDetails",
+    "pages/service/productDetail/productDetail",
+    "pages/workshop/index/index",
+    "pages/booking/CostumeDisplay/CostumeDisplay",
+    "pages/booking/CostumeDetails/CostumeDetails",
+    "pages/mine/Contact/Contact"
   ],
   "window": {
     "defaultTitle": "uni-app",
@@ -13,9 +35,10 @@
     "backgroundColor": "#F8F8F8"
   },
   "tabBar": {
+    "backgroundColor": "#F7E7C6",
     "items": [
       {
-        "pagePath": "pages/home/home/home",
+        "pagePath": "pages/home/home",
         "name": "首页",
         "icon": "./static/home.png",
         "activeIcon": "./static/homeselected.png"
diff --git a/unpackage/dist/dev/mp-alipay/common/assets.js b/unpackage/dist/dev/mp-alipay/common/assets.js
index 00549e2..208c02e 100644
--- a/unpackage/dist/dev/mp-alipay/common/assets.js
+++ b/unpackage/dist/dev/mp-alipay/common/assets.js
@@ -1,13 +1,73 @@
 "use strict";
-const img1 = "/assets/cailiaobao.52f9097b.png";
-const img2 = "/assets/shouchiwu.37cdee46.png";
-const img3 = "/assets/toushi.6558cc23.png";
-const img4 = "/assets/dingzhi.d6614f9f.png";
-const img5 = "/assets/jifenduihuan.a1c23524.png";
-const product_img = "/assets/shangpingtupian.ec8c0440.png";
-exports.img1 = img1;
-exports.img2 = img2;
-exports.img3 = img3;
-exports.img4 = img4;
-exports.img5 = img5;
-exports.product_img = product_img;
+const product$1 = "/assets/product.7900e336.png";
+const rili = "/assets/rili.7746043b.png";
+const xuanchuan = "/assets/xuanchuan.f0fc207c.png";
+const shizi = "/assets/shizi.dd0347ec.png";
+const you$1 = "/assets/you.60391a00.png";
+const add_img = "/assets/tianjia.187834c9.png";
+const sousuokuang = "/assets/sousuokuang.6160c4c7.png";
+const address = "/assets/address.e91cc3a1.png";
+const avator = "/assets/avator.7ac17437.png";
+const daifahuo = "/assets/daifahuo.8369326b.png";
+const daishouhuo = "/assets/daishouhuo.ff694766.png";
+const dingdan = "/assets/dingdan.6b4043d6.png";
+const lianxiren_s = "/assets/lianxiren_s.17e4954c.png";
+const qianbao = "/assets/qianbao.bbfd6c3d.png";
+const setting_s = "/assets/setting_s.3e5c5149.png";
+const tuikuan = "/assets/tuikuan.d34aac5f.png";
+const you = "/assets/you.70a370f0.png";
+const denglong = "/assets/denglong.a91d13af.png";
+const kefu = "/assets/kefu.eef0848c.png";
+const show1 = "/assets/show1.6119e6ca.png";
+const show2 = "/assets/show2.6ef01c5d.png";
+const show3 = "/assets/show3.4b906849.png";
+const show4 = "/assets/show4.00c949b6.png";
+const dingwei$1 = "/assets/dingwei.69908177.png";
+const add = "/assets/add.dace8cf5.png";
+const dingwei = "/assets/dingwei.a57a6fb6.png";
+const rmb_36px = "/assets/rmb_36px.929d25f5.png";
+const rmb_huang = "/assets/rmb_huang.28b44dfc.png";
+const short = "/assets/short.be252386.png";
+const yiwen = "/assets/yiwen.9096364a.png";
+const you_cheng = "/assets/you_cheng.a0b56a7d.png";
+const success = "/assets/success.3df77989.png";
+const xian = "/assets/xian.51ee54bc.png";
+const xian2 = "/assets/xian2.316f0e4c.png";
+const rmb = "/assets/rmb.dd886a2c.png";
+const product = "/assets/product.d45a003d.png";
+exports.add = add;
+exports.add_img = add_img;
+exports.address = address;
+exports.avator = avator;
+exports.daifahuo = daifahuo;
+exports.daishouhuo = daishouhuo;
+exports.denglong = denglong;
+exports.dingdan = dingdan;
+exports.dingwei = dingwei$1;
+exports.dingwei$1 = dingwei;
+exports.kefu = kefu;
+exports.lianxiren_s = lianxiren_s;
+exports.product = product$1;
+exports.product$1 = product;
+exports.qianbao = qianbao;
+exports.rili = rili;
+exports.rmb = rmb;
+exports.rmb_36px = rmb_36px;
+exports.rmb_huang = rmb_huang;
+exports.setting_s = setting_s;
+exports.shizi = shizi;
+exports.short = short;
+exports.show1 = show1;
+exports.show2 = show2;
+exports.show3 = show3;
+exports.show4 = show4;
+exports.sousuokuang = sousuokuang;
+exports.success = success;
+exports.tuikuan = tuikuan;
+exports.xian = xian;
+exports.xian2 = xian2;
+exports.xuanchuan = xuanchuan;
+exports.yiwen = yiwen;
+exports.you = you$1;
+exports.you$1 = you;
+exports.you_cheng = you_cheng;
diff --git a/unpackage/dist/dev/mp-alipay/common/vendor.js b/unpackage/dist/dev/mp-alipay/common/vendor.js
index 99dafd1..aa5fc94 100644
--- a/unpackage/dist/dev/mp-alipay/common/vendor.js
+++ b/unpackage/dist/dev/mp-alipay/common/vendor.js
@@ -47,7 +47,7 @@ const toTypeString = (value) => objectToString.call(value);
 const toRawType = (value) => {
   return toTypeString(value).slice(8, -1);
 };
-const isPlainObject = (val) => toTypeString(val) === "[object Object]";
+const isPlainObject$1 = (val) => toTypeString(val) === "[object Object]";
 const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
 const isReservedProp = /* @__PURE__ */ makeMap(
   // the leading comma is intentional so empty string "" is also included
@@ -75,8 +75,8 @@ const capitalize = cacheStringFunction((str) => {
   return str.charAt(0).toUpperCase() + str.slice(1);
 });
 const toHandlerKey = cacheStringFunction((str) => {
-  const s = str ? `on${capitalize(str)}` : ``;
-  return s;
+  const s2 = str ? `on${capitalize(str)}` : ``;
+  return s2;
 });
 const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
 const invokeArrayFns$1 = (fns, arg) => {
@@ -92,13 +92,63 @@ const def = (obj, key, value) => {
   });
 };
 const looseToNumber = (val) => {
-  const n = parseFloat(val);
-  return isNaN(n) ? val : n;
+  const n2 = parseFloat(val);
+  return isNaN(n2) ? val : n2;
 };
 let _globalThis;
 const getGlobalThis = () => {
   return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
 };
+function normalizeStyle(value) {
+  if (isArray(value)) {
+    const res = {};
+    for (let i = 0; i < value.length; i++) {
+      const item = value[i];
+      const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);
+      if (normalized) {
+        for (const key in normalized) {
+          res[key] = normalized[key];
+        }
+      }
+    }
+    return res;
+  } else if (isString(value) || isObject(value)) {
+    return value;
+  }
+}
+const listDelimiterRE = /;(?![^(]*\))/g;
+const propertyDelimiterRE = /:([^]+)/;
+const styleCommentRE = /\/\*[^]*?\*\//g;
+function parseStringStyle(cssText) {
+  const ret = {};
+  cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
+    if (item) {
+      const tmp = item.split(propertyDelimiterRE);
+      tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
+    }
+  });
+  return ret;
+}
+function normalizeClass(value) {
+  let res = "";
+  if (isString(value)) {
+    res = value;
+  } else if (isArray(value)) {
+    for (let i = 0; i < value.length; i++) {
+      const normalized = normalizeClass(value[i]);
+      if (normalized) {
+        res += normalized + " ";
+      }
+    }
+  } else if (isObject(value)) {
+    for (const name in value) {
+      if (value[name]) {
+        res += name + " ";
+      }
+    }
+  }
+  return res.trim();
+}
 const toDisplayString = (val) => {
   return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);
 };
@@ -121,7 +171,7 @@ const replacer = (_key, val) => {
     };
   } else if (isSymbol(val)) {
     return stringifySymbol(val);
-  } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
+  } else if (isObject(val) && !isArray(val) && !isPlainObject$1(val)) {
     return String(val);
   }
   return val;
@@ -130,6 +180,7 @@ const stringifySymbol = (v, i = "") => {
   var _a;
   return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
 };
+const LINEFEED = "\n";
 const SLOT_DEFAULT_NAME = "d";
 const ON_SHOW = "onShow";
 const ON_HIDE = "onHide";
@@ -206,7 +257,7 @@ function stringifyQuery(obj, encodeStr = encode) {
     let val = obj[key];
     if (typeof val === void 0 || val === null) {
       val = "";
-    } else if (isPlainObject(val)) {
+    } else if (isPlainObject$1(val)) {
       val = JSON.stringify(val);
     }
     return encodeStr(key) + "=" + encodeStr(val);
@@ -376,8 +427,8 @@ const E = function() {
 };
 E.prototype = {
   on: function(name, callback, ctx) {
-    var e = this.e || (this.e = {});
-    (e[name] || (e[name] = [])).push({
+    var e2 = this.e || (this.e = {});
+    (e2[name] || (e2[name] = [])).push({
       fn: callback,
       ctx
     });
@@ -403,8 +454,8 @@ E.prototype = {
     return this;
   },
   off: function(name, callback) {
-    var e = this.e || (this.e = {});
-    var evts = e[name];
+    var e2 = this.e || (this.e = {});
+    var evts = e2[name];
     var liveEvents = [];
     if (evts && callback) {
       for (var i = evts.length - 1; i >= 0; i--) {
@@ -415,7 +466,7 @@ E.prototype = {
       }
       liveEvents = evts;
     }
-    liveEvents.length ? e[name] = liveEvents : delete e[name];
+    liveEvents.length ? e2[name] = liveEvents : delete e2[name];
     return this;
   }
 };
@@ -500,7 +551,7 @@ function validateProtocols(name, args, protocol, onFail) {
   }
 }
 function validateProp$1(name, value, prop, isAbsent) {
-  if (!isPlainObject(prop)) {
+  if (!isPlainObject$1(prop)) {
     prop = { type: prop };
   }
   const { type, required, validator } = prop;
@@ -590,8 +641,8 @@ function tryCatch(fn) {
   return function() {
     try {
       return fn.apply(fn, arguments);
-    } catch (e) {
-      console.error(e);
+    } catch (e2) {
+      console.error(e2);
     }
   };
 }
@@ -631,14 +682,14 @@ function getApiCallbacks(args) {
   }
   return apiCallbacks;
 }
-function normalizeErrMsg(errMsg, name) {
+function normalizeErrMsg$1(errMsg, name) {
   if (!errMsg || errMsg.indexOf(":fail") === -1) {
     return name + ":ok";
   }
   return name + errMsg.substring(errMsg.indexOf(":fail"));
 }
 function createAsyncApiCallback(name, args = {}, { beforeAll, beforeSuccess } = {}) {
-  if (!isPlainObject(args)) {
+  if (!isPlainObject$1(args)) {
     args = {};
   }
   const { success, fail, complete } = getApiCallbacks(args);
@@ -648,7 +699,7 @@ function createAsyncApiCallback(name, args = {}, { beforeAll, beforeSuccess } =
   const callbackId = invokeCallbackId++;
   addInvokeCallback(callbackId, name, (res) => {
     res = res || {};
-    res.errMsg = normalizeErrMsg(res.errMsg, name);
+    res.errMsg = normalizeErrMsg$1(res.errMsg, name);
     isFunction(beforeAll) && beforeAll(res);
     if (res.errMsg === name + ":ok") {
       isFunction(beforeSuccess) && beforeSuccess(res, args);
@@ -760,7 +811,7 @@ function invokeApi(method, api, options, params) {
   return api(options, ...params);
 }
 function hasCallback(args) {
-  if (isPlainObject(args) && [API_SUCCESS, API_FAIL, API_COMPLETE].find((cb) => isFunction(args[cb]))) {
+  if (isPlainObject$1(args) && [API_SUCCESS, API_FAIL, API_COMPLETE].find((cb) => isFunction(args[cb]))) {
     return true;
   }
   return false;
@@ -773,14 +824,14 @@ function promisify$1(name, fn) {
     if (hasCallback(args)) {
       return wrapperReturnValue(name, invokeApi(name, fn, args, rest));
     }
-    return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {
-      invokeApi(name, fn, extend(args, { success: resolve, fail: reject }), rest);
+    return wrapperReturnValue(name, handlePromise(new Promise((resolve2, reject) => {
+      invokeApi(name, fn, extend(args, { success: resolve2, fail: reject }), rest);
     })));
   };
 }
 function formatApiArgs(args, options) {
   const params = args[0];
-  if (!options || !options.formatArgs || !isPlainObject(options.formatArgs) && isPlainObject(params)) {
+  if (!options || !isPlainObject$1(options.formatArgs) && isPlainObject$1(params)) {
     return;
   }
   const formatArgs = options.formatArgs;
@@ -827,12 +878,12 @@ function beforeInvokeApi(name, args, protocol, options) {
     return errMsg;
   }
 }
-function parseErrMsg(errMsg) {
+function normalizeErrMsg(errMsg) {
   if (!errMsg || isString(errMsg)) {
     return errMsg;
   }
   if (errMsg.stack) {
-    console.error(errMsg.message + "\n" + errMsg.stack);
+    console.error(errMsg.message + LINEFEED + errMsg.stack);
     return errMsg.message;
   }
   return errMsg;
@@ -846,7 +897,7 @@ function wrapperTaskApi(name, fn, protocol, options) {
     }
     return fn(args, {
       resolve: (res) => invokeSuccess(id2, name, res),
-      reject: (errMsg2, errRes) => invokeFail(id2, name, parseErrMsg(errMsg2), errRes)
+      reject: (errMsg2, errRes) => invokeFail(id2, name, normalizeErrMsg(errMsg2), errRes)
     });
   };
 }
@@ -953,20 +1004,20 @@ function dedupeHooks(hooks) {
   return res;
 }
 const addInterceptor = defineSyncApi(API_ADD_INTERCEPTOR, (method, interceptor) => {
-  if (isString(method) && isPlainObject(interceptor)) {
+  if (isString(method) && isPlainObject$1(interceptor)) {
     mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), interceptor);
-  } else if (isPlainObject(method)) {
+  } else if (isPlainObject$1(method)) {
     mergeInterceptorHook(globalInterceptors, method);
   }
 }, AddInterceptorProtocol);
 const removeInterceptor = defineSyncApi(API_REMOVE_INTERCEPTOR, (method, interceptor) => {
   if (isString(method)) {
-    if (isPlainObject(interceptor)) {
+    if (isPlainObject$1(interceptor)) {
       removeInterceptorHook(scopedInterceptors[method], interceptor);
     } else {
       delete scopedInterceptors[method];
     }
-  } else if (isPlainObject(method)) {
+  } else if (isPlainObject$1(method)) {
     removeInterceptorHook(globalInterceptors, method);
   }
 }, RemoveInterceptorProtocol);
@@ -1021,7 +1072,7 @@ const $off = defineSyncApi(API_OFF, (name, callback) => {
   }
   if (!isArray(name))
     name = [name];
-  name.forEach((n) => emitter.off(n, callback));
+  name.forEach((n2) => emitter.off(n2, callback));
 }, OffProtocol);
 const $emit = defineSyncApi(API_EMIT, (name, ...args) => {
   emitter.emit(name, ...args);
@@ -1032,7 +1083,7 @@ let enabled;
 function normalizePushMessage(message) {
   try {
     return JSON.parse(message);
-  } catch (e) {
+  } catch (e2) {
   }
   return message;
 }
@@ -1072,7 +1123,7 @@ function invokeGetPushCidCallbacks(cid2, errMsg) {
   getPushCidCallbacks.length = 0;
 }
 const API_GET_PUSH_CLIENT_ID = "getPushClientId";
-const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve, reject }) => {
+const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve: resolve2, reject }) => {
   Promise.resolve().then(() => {
     if (typeof enabled === "undefined") {
       enabled = false;
@@ -1081,7 +1132,7 @@ const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve, re
     }
     getPushCidCallbacks.push((cid2, errMsg) => {
       if (cid2) {
-        resolve({ cid: cid2 });
+        resolve2({ cid: cid2 });
       } else {
         reject(errMsg);
       }
@@ -1146,9 +1197,9 @@ function promisify(name, api) {
     if (isFunction(options.success) || isFunction(options.fail) || isFunction(options.complete)) {
       return wrapperReturnValue(name, invokeApi(name, api, options, rest));
     }
-    return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {
+    return wrapperReturnValue(name, handlePromise(new Promise((resolve2, reject) => {
       invokeApi(name, api, extend({}, options, {
-        success: resolve,
+        success: resolve2,
         fail: reject
       }), rest);
     })));
@@ -1162,7 +1213,7 @@ function initWrapper(protocols2) {
     };
   }
   function processArgs(methodName, fromArgs, argsOption = {}, returnValue2 = {}, keepFromArgs = false) {
-    if (isPlainObject(fromArgs)) {
+    if (isPlainObject$1(fromArgs)) {
       const toArgs = keepFromArgs === true ? fromArgs : {};
       if (isFunction(argsOption)) {
         argsOption = argsOption(fromArgs, toArgs) || {};
@@ -1177,7 +1228,7 @@ function initWrapper(protocols2) {
             console.warn(`支付宝小程序 ${methodName} 暂不支持 ${key}`);
           } else if (isString(keyOption)) {
             toArgs[keyOption] = fromArgs[key];
-          } else if (isPlainObject(keyOption)) {
+          } else if (isPlainObject$1(keyOption)) {
             toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;
           }
         } else if (CALLBACKS.indexOf(key) !== -1) {
@@ -1311,8 +1362,8 @@ function populateParameters(fromRes, toRes) {
     appVersion: "1.0.0",
     appVersionCode: "100",
     appLanguage: getAppLanguage(hostLanguage),
-    uniCompileVersion: "4.23",
-    uniRuntimeVersion: "4.23",
+    uniCompileVersion: "4.15",
+    uniRuntimeVersion: "4.15",
     uniPlatform: "mp-alipay",
     deviceBrand,
     deviceModel: model,
@@ -1649,7 +1700,7 @@ const request = {
         };
       },
       data(data) {
-        if (my.canIUse("saveFileToDingTalk") && method.toUpperCase() === "POST" && headers["content-type"].indexOf("application/json") === 0 && isPlainObject(data)) {
+        if (my.canIUse("saveFileToDingTalk") && method.toUpperCase() === "POST" && headers["content-type"].indexOf("application/json") === 0 && isPlainObject$1(data)) {
           return {
             name: "data",
             value: JSON.stringify(data)
@@ -1917,7 +1968,7 @@ const getUserInfo = {
       let response;
       try {
         response = JSON.parse(fromRes.response).response;
-      } catch (e) {
+      } catch (e2) {
       }
       if (response) {
         toRes.userInfo = response;
@@ -2651,6 +2702,9 @@ class EffectScope {
     }
   }
 }
+function effectScope(detached) {
+  return new EffectScope(detached);
+}
 function recordEffectScope(effect2, scope = activeEffectScope) {
   if (scope && scope.active) {
     scope.effects.push(effect2);
@@ -2659,6 +2713,15 @@ function recordEffectScope(effect2, scope = activeEffectScope) {
 function getCurrentScope() {
   return activeEffectScope;
 }
+function onScopeDispose(fn) {
+  if (activeEffectScope) {
+    activeEffectScope.cleanups.push(fn);
+  } else {
+    warn$2(
+      `onScopeDispose() is called when there is no active effect scope to be associated with.`
+    );
+  }
+}
 let activeEffect;
 class ReactiveEffect2 {
   constructor(fn, trigger2, scheduler, scope) {
@@ -2908,6 +2971,10 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
   }
   resetScheduling();
 }
+function getDepFromReactive(object, key) {
+  var _a;
+  return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
+}
 const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
 const builtInSymbols = new Set(
   /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
@@ -3457,6 +3524,9 @@ function isReadonly(value) {
 function isShallow(value) {
   return !!(value && value["__v_isShallow"]);
 }
+function isProxy(value) {
+  return isReactive(value) || isReadonly(value);
+}
 function toRaw(observed) {
   const raw = observed && observed["__v_raw"];
   return raw ? toRaw(raw) : observed;
@@ -3622,6 +3692,59 @@ const shallowUnwrapHandlers = {
 function proxyRefs(objectWithRefs) {
   return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
 }
+function toRefs(object) {
+  if (!isProxy(object)) {
+    warn$2(`toRefs() expects a reactive object but received a plain one.`);
+  }
+  const ret = isArray(object) ? new Array(object.length) : {};
+  for (const key in object) {
+    ret[key] = propertyToRef(object, key);
+  }
+  return ret;
+}
+class ObjectRefImpl {
+  constructor(_object, _key, _defaultValue) {
+    this._object = _object;
+    this._key = _key;
+    this._defaultValue = _defaultValue;
+    this.__v_isRef = true;
+  }
+  get value() {
+    const val = this._object[this._key];
+    return val === void 0 ? this._defaultValue : val;
+  }
+  set value(newVal) {
+    this._object[this._key] = newVal;
+  }
+  get dep() {
+    return getDepFromReactive(toRaw(this._object), this._key);
+  }
+}
+class GetterRefImpl {
+  constructor(_getter) {
+    this._getter = _getter;
+    this.__v_isRef = true;
+    this.__v_isReadonly = true;
+  }
+  get value() {
+    return this._getter();
+  }
+}
+function toRef(source, key, defaultValue) {
+  if (isRef(source)) {
+    return source;
+  } else if (isFunction(source)) {
+    return new GetterRefImpl(source);
+  } else if (isObject(source) && arguments.length > 1) {
+    return propertyToRef(source, key, defaultValue);
+  } else {
+    return ref(source);
+  }
+}
+function propertyToRef(source, key, defaultValue) {
+  const val = source[key];
+  return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
+}
 const stack = [];
 function pushWarningContext(vnode) {
   stack.push(vnode);
@@ -4251,6 +4374,47 @@ function setCurrentRenderingInstance(instance) {
   instance && instance.type.__scopeId || null;
   return prev;
 }
+const COMPONENTS = "components";
+function resolveComponent(name, maybeSelfReference) {
+  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
+}
+function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
+  const instance = currentRenderingInstance || currentInstance;
+  if (instance) {
+    const Component2 = instance.type;
+    if (type === COMPONENTS) {
+      const selfName = getComponentName(
+        Component2,
+        false
+      );
+      if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
+        return Component2;
+      }
+    }
+    const res = (
+      // local registration
+      // check instance[type] first which is resolved for options API
+      resolve(instance[type] || Component2[type], name) || // global registration
+      resolve(instance.appContext[type], name)
+    );
+    if (!res && maybeSelfReference) {
+      return Component2;
+    }
+    if (warnMissing && !res) {
+      const extra = type === COMPONENTS ? `
+If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
+      warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
+    }
+    return res;
+  } else {
+    warn$1(
+      `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
+    );
+  }
+}
+function resolve(registry, name) {
+  return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
+}
 const INITIAL_WATCHER_VALUE = {};
 function watch(source, cb, options) {
   if (!isFunction(cb)) {
@@ -4476,7 +4640,7 @@ function traverse(value, depth, currentDepth = 0, seen) {
     value.forEach((v) => {
       traverse(v, depth, currentDepth, seen);
     });
-  } else if (isPlainObject(value)) {
+  } else if (isPlainObject$1(value)) {
     for (const key in value) {
       traverse(value[key], depth, currentDepth, seen);
     }
@@ -4654,6 +4818,18 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
     warn$1(`inject() can only be used inside setup() or functional components.`);
   }
 }
+function hasInjectionContext() {
+  return !!(currentInstance || currentRenderingInstance || currentApp);
+}
+/*! #__NO_SIDE_EFFECTS__ */
+// @__NO_SIDE_EFFECTS__
+function defineComponent(options, extraOptions) {
+  return isFunction(options) ? (
+    // #8326: extend call and options.name access are considered side-effects
+    // by Rollup, so we have to wrap it in a pure-annotated IIFE.
+    /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()
+  ) : options;
+}
 const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
 function onActivated(hook, target) {
   registerKeepAliveHook(hook, "a", target);
@@ -4727,21 +4903,21 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
     );
   }
 }
-const createHook = (lifecycle) => (hook, target = currentInstance) => (
+const createHook$1 = (lifecycle) => (hook, target = currentInstance) => (
   // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
   (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target)
 );
-const onBeforeMount = createHook("bm");
-const onMounted = createHook("m");
-const onBeforeUpdate = createHook("bu");
-const onUpdated = createHook("u");
-const onBeforeUnmount = createHook("bum");
-const onUnmounted = createHook("um");
-const onServerPrefetch = createHook("sp");
-const onRenderTriggered = createHook(
+const onBeforeMount = createHook$1("bm");
+const onMounted = createHook$1("m");
+const onBeforeUpdate = createHook$1("bu");
+const onUpdated = createHook$1("u");
+const onBeforeUnmount = createHook$1("bum");
+const onUnmounted = createHook$1("um");
+const onServerPrefetch = createHook$1("sp");
+const onRenderTriggered = createHook$1(
   "rtg"
 );
-const onRenderTracked = createHook(
+const onRenderTracked = createHook$1(
   "rtc"
 );
 function onErrorCaptured(hook, target = currentInstance) {
@@ -5858,6 +6034,12 @@ const Static = Symbol.for("v-stc");
 function isVNode(value) {
   return value ? value.__v_isVNode === true : false;
 }
+const InternalObjectKey = `__vInternal`;
+function guardReactiveProps(props) {
+  if (!props)
+    return null;
+  return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props;
+}
 const emptyAppContext = createAppContext();
 let uid = 0;
 function createComponentInstance(vnode, parent, suspense) {
@@ -6926,7 +7108,7 @@ function initHooks$1(options, instance, publicThis) {
 function applyOptions(options, instance, publicThis) {
   initHooks$1(options, instance, publicThis);
 }
-function set(target, key, val) {
+function set$2(target, key, val) {
   return target[key] = val;
 }
 function $callMethod(method, ...args) {
@@ -7033,7 +7215,7 @@ function initApp(app) {
     uniIdMixin(globalProperties);
   }
   {
-    globalProperties.$set = set;
+    globalProperties.$set = set$2;
     globalProperties.$applyOptions = applyOptions;
     globalProperties.$callMethod = $callMethod;
   }
@@ -7042,6 +7224,11 @@ function initApp(app) {
   }
 }
 const propsCaches = /* @__PURE__ */ Object.create(null);
+function renderProps(props) {
+  const { uid: uid2, __counter } = getCurrentInstance();
+  const propsId = (propsCaches[uid2] || (propsCaches[uid2] = [])).push(guardReactiveProps(props)) - 1;
+  return uid2 + "," + propsId + "," + __counter;
+}
 function pruneComponentPropsCache(uid2) {
   delete propsCaches[uid2];
 }
@@ -7082,6 +7269,95 @@ function getCreateApp() {
     return my[method];
   }
 }
+function vOn(value, key) {
+  const instance = getCurrentInstance();
+  const ctx = instance.ctx;
+  const extraKey = typeof key !== "undefined" && (ctx.$mpPlatform === "mp-weixin" || ctx.$mpPlatform === "mp-qq" || ctx.$mpPlatform === "mp-xhs") && (isString(key) || typeof key === "number") ? "_" + key : "";
+  const name = "e" + instance.$ei++ + extraKey;
+  const mpInstance = ctx.$scope;
+  if (!value) {
+    delete mpInstance[name];
+    return name;
+  }
+  const existingInvoker = mpInstance[name];
+  if (existingInvoker) {
+    existingInvoker.value = value;
+  } else {
+    mpInstance[name] = createInvoker(value, instance);
+  }
+  return name;
+}
+function createInvoker(initialValue, instance) {
+  const invoker = (e2) => {
+    patchMPEvent(e2);
+    let args = [e2];
+    if (e2.detail && e2.detail.__args__) {
+      args = e2.detail.__args__;
+    }
+    const eventValue = invoker.value;
+    const invoke = () => callWithAsyncErrorHandling(patchStopImmediatePropagation(e2, eventValue), instance, 5, args);
+    const eventTarget = e2.target;
+    const eventSync = eventTarget ? eventTarget.dataset ? String(eventTarget.dataset.eventsync) === "true" : false : false;
+    if (bubbles.includes(e2.type) && !eventSync) {
+      setTimeout(invoke);
+    } else {
+      const res = invoke();
+      if (e2.type === "input" && (isArray(res) || isPromise(res))) {
+        return;
+      }
+      return res;
+    }
+  };
+  invoker.value = initialValue;
+  return invoker;
+}
+const bubbles = [
+  // touch事件暂不做延迟,否则在 Android 上会影响性能,比如一些拖拽跟手手势等
+  // 'touchstart',
+  // 'touchmove',
+  // 'touchcancel',
+  // 'touchend',
+  "tap",
+  "longpress",
+  "longtap",
+  "transitionend",
+  "animationstart",
+  "animationiteration",
+  "animationend",
+  "touchforcechange"
+];
+function patchMPEvent(event) {
+  if (event.type && event.target) {
+    event.preventDefault = NOOP;
+    event.stopPropagation = NOOP;
+    event.stopImmediatePropagation = NOOP;
+    if (!hasOwn(event, "detail")) {
+      event.detail = {};
+    }
+    if (hasOwn(event, "markerId")) {
+      event.detail = typeof event.detail === "object" ? event.detail : {};
+      event.detail.markerId = event.markerId;
+    }
+    if (isPlainObject$1(event.detail) && hasOwn(event.detail, "checked") && !hasOwn(event.detail, "value")) {
+      event.detail.value = event.detail.checked;
+    }
+    if (isPlainObject$1(event.detail)) {
+      event.target = extend({}, event.target, event.detail);
+    }
+  }
+}
+function patchStopImmediatePropagation(e2, value) {
+  if (isArray(value)) {
+    const originalStop = e2.stopImmediatePropagation;
+    e2.stopImmediatePropagation = () => {
+      originalStop && originalStop.call(e2);
+      e2._stopped = true;
+    };
+    return value.map((fn) => (e3) => !e3._stopped && fn(e3));
+  } else {
+    return value;
+  }
+}
 function vFor(source, renderItem) {
   let ret;
   if (isArray(source) || isString(source)) {
@@ -7114,8 +7390,29 @@ function vFor(source, renderItem) {
   }
   return ret;
 }
+function stringifyStyle(value) {
+  if (isString(value)) {
+    return value;
+  }
+  return stringify(normalizeStyle(value));
+}
+function stringify(styles) {
+  let ret = "";
+  if (!styles || isString(styles)) {
+    return ret;
+  }
+  for (const key in styles) {
+    ret += `${key.startsWith(`--`) ? key : hyphenate(key)}:${styles[key]};`;
+  }
+  return ret;
+}
+const o = (value, key) => vOn(value, key);
 const f = (source, renderItem) => vFor(source, renderItem);
+const s = (value) => stringifyStyle(value);
+const e = (target, ...sources) => extend(target, ...sources);
+const n = (value) => normalizeClass(value);
 const t = (val) => toDisplayString(val);
+const p = (props) => renderProps(props);
 function createApp$1(rootComponent, rootProps = null) {
   rootComponent && (rootComponent.mpType = "app");
   return createVueApp(rootComponent, rootProps).use(plugin);
@@ -7467,7 +7764,7 @@ function initDefaultProps(options, isBehavior = false) {
     };
   }
   if (options.behaviors) {
-    if (options.behaviors.includes("my://form-field")) {
+    if (options.behaviors.includes("__GLOBAL__://form-field")) {
       if (!options.properties || !options.properties.name) {
         properties.name = {
           type: null,
@@ -7511,7 +7808,7 @@ function findPropsData(properties, isPage) {
 }
 function findPagePropsData(properties) {
   const propsData = {};
-  if (isPlainObject(properties)) {
+  if (isPlainObject$1(properties)) {
     Object.keys(properties).forEach((name) => {
       if (builtInProps.indexOf(name) === -1) {
         propsData[name] = properties[name];
@@ -7565,7 +7862,7 @@ function initBehaviors(vueOptions) {
   const behaviors = [];
   if (isArray(vueBehaviors)) {
     vueBehaviors.forEach((behavior) => {
-      behaviors.push(behavior.replace("uni://", "my://"));
+      behaviors.push(behavior.replace("uni://", "__GLOBAL__://"));
       if (behavior === "uni://form-field") {
         if (isArray(vueProps)) {
           vueProps.push("name");
@@ -7872,7 +8169,7 @@ function initCreatePage() {
       __r: handleRef,
       __l: handleLink
     };
-    if (isPlainObject(vueOptions.events)) {
+    if (isPlainObject$1(vueOptions.events)) {
       extend(pageOptions.events, vueOptions.events);
     }
     {
@@ -7960,9 +8257,6 @@ function initCreateComponent() {
         triggerEvent
       }
     };
-    if (vueOptions.options) {
-      mpComponentOptions.options = vueOptions.options;
-    }
     {
       mpComponentOptions.data = initData();
       mpComponentOptions.mixins = initBehaviors(vueOptions);
@@ -7990,8 +8284,640 @@ my.createPage = createPage;
 my.createComponent = createComponent;
 my.createPluginApp = createPluginApp;
 my.createSubpackageApp = createSubpackageApp;
+var isVue2 = false;
+function set(target, key, val) {
+  if (Array.isArray(target)) {
+    target.length = Math.max(target.length, key);
+    target.splice(key, 1, val);
+    return val;
+  }
+  target[key] = val;
+  return val;
+}
+function del(target, key) {
+  if (Array.isArray(target)) {
+    target.splice(key, 1);
+    return;
+  }
+  delete target[key];
+}
+/*!
+ * pinia v2.1.7
+ * (c) 2023 Eduardo San Martin Morote
+ * @license MIT
+ */
+let activePinia;
+const setActivePinia = (pinia) => activePinia = pinia;
+const piniaSymbol = Symbol("pinia");
+function isPlainObject(o2) {
+  return o2 && typeof o2 === "object" && Object.prototype.toString.call(o2) === "[object Object]" && typeof o2.toJSON !== "function";
+}
+var MutationType;
+(function(MutationType2) {
+  MutationType2["direct"] = "direct";
+  MutationType2["patchObject"] = "patch object";
+  MutationType2["patchFunction"] = "patch function";
+})(MutationType || (MutationType = {}));
+const IS_CLIENT = typeof window !== "undefined";
+const USE_DEVTOOLS = IS_CLIENT;
+const componentStateTypes = [];
+const getStoreType = (id2) => "🍍 " + id2;
+function addStoreToDevtools(app, store) {
+  if (!componentStateTypes.includes(getStoreType(store.$id))) {
+    componentStateTypes.push(getStoreType(store.$id));
+  }
+}
+function patchActionForGrouping(store, actionNames, wrapWithProxy) {
+  const actions = actionNames.reduce((storeActions, actionName) => {
+    storeActions[actionName] = toRaw(store)[actionName];
+    return storeActions;
+  }, {});
+  for (const actionName in actions) {
+    store[actionName] = function() {
+      const trackedStore = wrapWithProxy ? new Proxy(store, {
+        get(...args) {
+          return Reflect.get(...args);
+        },
+        set(...args) {
+          return Reflect.set(...args);
+        }
+      }) : store;
+      const retValue = actions[actionName].apply(trackedStore, arguments);
+      return retValue;
+    };
+  }
+}
+function devtoolsPlugin({ app, store, options }) {
+  if (store.$id.startsWith("__hot:")) {
+    return;
+  }
+  store._isOptionsAPI = !!options.state;
+  patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);
+  const originalHotUpdate = store._hotUpdate;
+  toRaw(store)._hotUpdate = function(newStore) {
+    originalHotUpdate.apply(this, arguments);
+    patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);
+  };
+  addStoreToDevtools(
+    app,
+    // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?
+    store
+  );
+}
+function createPinia() {
+  const scope = effectScope(true);
+  const state = scope.run(() => ref({}));
+  let _p = [];
+  let toBeInstalled = [];
+  const pinia = markRaw({
+    install(app) {
+      setActivePinia(pinia);
+      {
+        pinia._a = app;
+        app.provide(piniaSymbol, pinia);
+        app.config.globalProperties.$pinia = pinia;
+        toBeInstalled.forEach((plugin2) => _p.push(plugin2));
+        toBeInstalled = [];
+      }
+    },
+    use(plugin2) {
+      if (!this._a && !isVue2) {
+        toBeInstalled.push(plugin2);
+      } else {
+        _p.push(plugin2);
+      }
+      return this;
+    },
+    _p,
+    // it's actually undefined here
+    // @ts-expect-error
+    _a: null,
+    _e: scope,
+    _s: /* @__PURE__ */ new Map(),
+    state
+  });
+  if (USE_DEVTOOLS && typeof Proxy !== "undefined") {
+    pinia.use(devtoolsPlugin);
+  }
+  return pinia;
+}
+function patchObject(newState, oldState) {
+  for (const key in oldState) {
+    const subPatch = oldState[key];
+    if (!(key in newState)) {
+      continue;
+    }
+    const targetValue = newState[key];
+    if (isPlainObject(targetValue) && isPlainObject(subPatch) && !isRef(subPatch) && !isReactive(subPatch)) {
+      newState[key] = patchObject(targetValue, subPatch);
+    } else {
+      {
+        newState[key] = subPatch;
+      }
+    }
+  }
+  return newState;
+}
+const noop = () => {
+};
+function addSubscription(subscriptions, callback, detached, onCleanup = noop) {
+  subscriptions.push(callback);
+  const removeSubscription = () => {
+    const idx = subscriptions.indexOf(callback);
+    if (idx > -1) {
+      subscriptions.splice(idx, 1);
+      onCleanup();
+    }
+  };
+  if (!detached && getCurrentScope()) {
+    onScopeDispose(removeSubscription);
+  }
+  return removeSubscription;
+}
+function triggerSubscriptions(subscriptions, ...args) {
+  subscriptions.slice().forEach((callback) => {
+    callback(...args);
+  });
+}
+const fallbackRunWithContext = (fn) => fn();
+function mergeReactiveObjects(target, patchToApply) {
+  if (target instanceof Map && patchToApply instanceof Map) {
+    patchToApply.forEach((value, key) => target.set(key, value));
+  }
+  if (target instanceof Set && patchToApply instanceof Set) {
+    patchToApply.forEach(target.add, target);
+  }
+  for (const key in patchToApply) {
+    if (!patchToApply.hasOwnProperty(key))
+      continue;
+    const subPatch = patchToApply[key];
+    const targetValue = target[key];
+    if (isPlainObject(targetValue) && isPlainObject(subPatch) && target.hasOwnProperty(key) && !isRef(subPatch) && !isReactive(subPatch)) {
+      target[key] = mergeReactiveObjects(targetValue, subPatch);
+    } else {
+      target[key] = subPatch;
+    }
+  }
+  return target;
+}
+const skipHydrateSymbol = Symbol("pinia:skipHydration");
+function shouldHydrate(obj) {
+  return !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);
+}
+const { assign } = Object;
+function isComputed(o2) {
+  return !!(isRef(o2) && o2.effect);
+}
+function createOptionsStore(id2, options, pinia, hot) {
+  const { state, actions, getters } = options;
+  const initialState = pinia.state.value[id2];
+  let store;
+  function setup() {
+    if (!initialState && !hot) {
+      {
+        pinia.state.value[id2] = state ? state() : {};
+      }
+    }
+    const localState = hot ? (
+      // use ref() to unwrap refs inside state TODO: check if this is still necessary
+      toRefs(ref(state ? state() : {}).value)
+    ) : toRefs(pinia.state.value[id2]);
+    return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {
+      if (name in localState) {
+        console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with "${name}" in store "${id2}".`);
+      }
+      computedGetters[name] = markRaw(computed(() => {
+        setActivePinia(pinia);
+        const store2 = pinia._s.get(id2);
+        return getters[name].call(store2, store2);
+      }));
+      return computedGetters;
+    }, {}));
+  }
+  store = createSetupStore(id2, setup, options, pinia, hot, true);
+  return store;
+}
+function createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {
+  let scope;
+  const optionsForPlugin = assign({ actions: {} }, options);
+  if (!pinia._e.active) {
+    throw new Error("Pinia destroyed");
+  }
+  const $subscribeOptions = {
+    deep: true
+    // flush: 'post',
+  };
+  {
+    $subscribeOptions.onTrigger = (event) => {
+      if (isListening) {
+        debuggerEvents = event;
+      } else if (isListening == false && !store._hotUpdating) {
+        if (Array.isArray(debuggerEvents)) {
+          debuggerEvents.push(event);
+        } else {
+          console.error("🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.");
+        }
+      }
+    };
+  }
+  let isListening;
+  let isSyncListening;
+  let subscriptions = [];
+  let actionSubscriptions = [];
+  let debuggerEvents;
+  const initialState = pinia.state.value[$id];
+  if (!isOptionsStore && !initialState && !hot) {
+    {
+      pinia.state.value[$id] = {};
+    }
+  }
+  const hotState = ref({});
+  let activeListener;
+  function $patch(partialStateOrMutator) {
+    let subscriptionMutation;
+    isListening = isSyncListening = false;
+    {
+      debuggerEvents = [];
+    }
+    if (typeof partialStateOrMutator === "function") {
+      partialStateOrMutator(pinia.state.value[$id]);
+      subscriptionMutation = {
+        type: MutationType.patchFunction,
+        storeId: $id,
+        events: debuggerEvents
+      };
+    } else {
+      mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);
+      subscriptionMutation = {
+        type: MutationType.patchObject,
+        payload: partialStateOrMutator,
+        storeId: $id,
+        events: debuggerEvents
+      };
+    }
+    const myListenerId = activeListener = Symbol();
+    nextTick$1().then(() => {
+      if (activeListener === myListenerId) {
+        isListening = true;
+      }
+    });
+    isSyncListening = true;
+    triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);
+  }
+  const $reset = isOptionsStore ? function $reset2() {
+    const { state } = options;
+    const newState = state ? state() : {};
+    this.$patch(($state) => {
+      assign($state, newState);
+    });
+  } : (
+    /* istanbul ignore next */
+    () => {
+      throw new Error(`🍍: Store "${$id}" is built using the setup syntax and does not implement $reset().`);
+    }
+  );
+  function $dispose() {
+    scope.stop();
+    subscriptions = [];
+    actionSubscriptions = [];
+    pinia._s.delete($id);
+  }
+  function wrapAction(name, action) {
+    return function() {
+      setActivePinia(pinia);
+      const args = Array.from(arguments);
+      const afterCallbackList = [];
+      const onErrorCallbackList = [];
+      function after(callback) {
+        afterCallbackList.push(callback);
+      }
+      function onError(callback) {
+        onErrorCallbackList.push(callback);
+      }
+      triggerSubscriptions(actionSubscriptions, {
+        args,
+        name,
+        store,
+        after,
+        onError
+      });
+      let ret;
+      try {
+        ret = action.apply(this && this.$id === $id ? this : store, args);
+      } catch (error) {
+        triggerSubscriptions(onErrorCallbackList, error);
+        throw error;
+      }
+      if (ret instanceof Promise) {
+        return ret.then((value) => {
+          triggerSubscriptions(afterCallbackList, value);
+          return value;
+        }).catch((error) => {
+          triggerSubscriptions(onErrorCallbackList, error);
+          return Promise.reject(error);
+        });
+      }
+      triggerSubscriptions(afterCallbackList, ret);
+      return ret;
+    };
+  }
+  const _hmrPayload = /* @__PURE__ */ markRaw({
+    actions: {},
+    getters: {},
+    state: [],
+    hotState
+  });
+  const partialStore = {
+    _p: pinia,
+    // _s: scope,
+    $id,
+    $onAction: addSubscription.bind(null, actionSubscriptions),
+    $patch,
+    $reset,
+    $subscribe(callback, options2 = {}) {
+      const removeSubscription = addSubscription(subscriptions, callback, options2.detached, () => stopWatcher());
+      const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {
+        if (options2.flush === "sync" ? isSyncListening : isListening) {
+          callback({
+            storeId: $id,
+            type: MutationType.direct,
+            events: debuggerEvents
+          }, state);
+        }
+      }, assign({}, $subscribeOptions, options2)));
+      return removeSubscription;
+    },
+    $dispose
+  };
+  const store = reactive(assign(
+    {
+      _hmrPayload,
+      _customProperties: markRaw(/* @__PURE__ */ new Set())
+      // devtools custom properties
+    },
+    partialStore
+    // must be added later
+    // setupStore
+  ));
+  pinia._s.set($id, store);
+  const runWithContext = pinia._a && pinia._a.runWithContext || fallbackRunWithContext;
+  const setupStore = runWithContext(() => pinia._e.run(() => (scope = effectScope()).run(setup)));
+  for (const key in setupStore) {
+    const prop = setupStore[key];
+    if (isRef(prop) && !isComputed(prop) || isReactive(prop)) {
+      if (hot) {
+        set(hotState.value, key, toRef(setupStore, key));
+      } else if (!isOptionsStore) {
+        if (initialState && shouldHydrate(prop)) {
+          if (isRef(prop)) {
+            prop.value = initialState[key];
+          } else {
+            mergeReactiveObjects(prop, initialState[key]);
+          }
+        }
+        {
+          pinia.state.value[$id][key] = prop;
+        }
+      }
+      {
+        _hmrPayload.state.push(key);
+      }
+    } else if (typeof prop === "function") {
+      const actionValue = hot ? prop : wrapAction(key, prop);
+      {
+        setupStore[key] = actionValue;
+      }
+      {
+        _hmrPayload.actions[key] = prop;
+      }
+      optionsForPlugin.actions[key] = prop;
+    } else {
+      if (isComputed(prop)) {
+        _hmrPayload.getters[key] = isOptionsStore ? (
+          // @ts-expect-error
+          options.getters[key]
+        ) : prop;
+        if (IS_CLIENT) {
+          const getters = setupStore._getters || // @ts-expect-error: same
+          (setupStore._getters = markRaw([]));
+          getters.push(key);
+        }
+      }
+    }
+  }
+  {
+    assign(store, setupStore);
+    assign(toRaw(store), setupStore);
+  }
+  Object.defineProperty(store, "$state", {
+    get: () => hot ? hotState.value : pinia.state.value[$id],
+    set: (state) => {
+      if (hot) {
+        throw new Error("cannot set hotState");
+      }
+      $patch(($state) => {
+        assign($state, state);
+      });
+    }
+  });
+  {
+    store._hotUpdate = markRaw((newStore) => {
+      store._hotUpdating = true;
+      newStore._hmrPayload.state.forEach((stateKey) => {
+        if (stateKey in store.$state) {
+          const newStateTarget = newStore.$state[stateKey];
+          const oldStateSource = store.$state[stateKey];
+          if (typeof newStateTarget === "object" && isPlainObject(newStateTarget) && isPlainObject(oldStateSource)) {
+            patchObject(newStateTarget, oldStateSource);
+          } else {
+            newStore.$state[stateKey] = oldStateSource;
+          }
+        }
+        set(store, stateKey, toRef(newStore.$state, stateKey));
+      });
+      Object.keys(store.$state).forEach((stateKey) => {
+        if (!(stateKey in newStore.$state)) {
+          del(store, stateKey);
+        }
+      });
+      isListening = false;
+      isSyncListening = false;
+      pinia.state.value[$id] = toRef(newStore._hmrPayload, "hotState");
+      isSyncListening = true;
+      nextTick$1().then(() => {
+        isListening = true;
+      });
+      for (const actionName in newStore._hmrPayload.actions) {
+        const action = newStore[actionName];
+        set(store, actionName, wrapAction(actionName, action));
+      }
+      for (const getterName in newStore._hmrPayload.getters) {
+        const getter = newStore._hmrPayload.getters[getterName];
+        const getterValue = isOptionsStore ? (
+          // special handling of options api
+          computed(() => {
+            setActivePinia(pinia);
+            return getter.call(store, store);
+          })
+        ) : getter;
+        set(store, getterName, getterValue);
+      }
+      Object.keys(store._hmrPayload.getters).forEach((key) => {
+        if (!(key in newStore._hmrPayload.getters)) {
+          del(store, key);
+        }
+      });
+      Object.keys(store._hmrPayload.actions).forEach((key) => {
+        if (!(key in newStore._hmrPayload.actions)) {
+          del(store, key);
+        }
+      });
+      store._hmrPayload = newStore._hmrPayload;
+      store._getters = newStore._getters;
+      store._hotUpdating = false;
+    });
+  }
+  if (USE_DEVTOOLS) {
+    const nonEnumerable = {
+      writable: true,
+      configurable: true,
+      // avoid warning on devtools trying to display this property
+      enumerable: false
+    };
+    ["_p", "_hmrPayload", "_getters", "_customProperties"].forEach((p2) => {
+      Object.defineProperty(store, p2, assign({ value: store[p2] }, nonEnumerable));
+    });
+  }
+  pinia._p.forEach((extender) => {
+    if (USE_DEVTOOLS) {
+      const extensions = scope.run(() => extender({
+        store,
+        app: pinia._a,
+        pinia,
+        options: optionsForPlugin
+      }));
+      Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));
+      assign(store, extensions);
+    } else {
+      assign(store, scope.run(() => extender({
+        store,
+        app: pinia._a,
+        pinia,
+        options: optionsForPlugin
+      })));
+    }
+  });
+  if (store.$state && typeof store.$state === "object" && typeof store.$state.constructor === "function" && !store.$state.constructor.toString().includes("[native code]")) {
+    console.warn(`[🍍]: The "state" must be a plain object. It cannot be
+	state: () => new MyClass()
+Found in store "${store.$id}".`);
+  }
+  if (initialState && isOptionsStore && options.hydrate) {
+    options.hydrate(store.$state, initialState);
+  }
+  isListening = true;
+  isSyncListening = true;
+  return store;
+}
+function defineStore(idOrOptions, setup, setupOptions) {
+  let id2;
+  let options;
+  const isSetupStore = typeof setup === "function";
+  if (typeof idOrOptions === "string") {
+    id2 = idOrOptions;
+    options = isSetupStore ? setupOptions : setup;
+  } else {
+    options = idOrOptions;
+    id2 = idOrOptions.id;
+    if (typeof id2 !== "string") {
+      throw new Error(`[🍍]: "defineStore()" must be passed a store id as its first argument.`);
+    }
+  }
+  function useStore(pinia, hot) {
+    const hasContext = hasInjectionContext();
+    pinia = // in test mode, ignore the argument provided as we can always retrieve a
+    // pinia instance with getActivePinia()
+    pinia || (hasContext ? inject(piniaSymbol, null) : null);
+    if (pinia)
+      setActivePinia(pinia);
+    if (!activePinia) {
+      throw new Error(`[🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"?
+See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
+This will fail in production.`);
+    }
+    pinia = activePinia;
+    if (!pinia._s.has(id2)) {
+      if (isSetupStore) {
+        createSetupStore(id2, setup, options, pinia);
+      } else {
+        createOptionsStore(id2, options, pinia);
+      }
+      {
+        useStore._pinia = pinia;
+      }
+    }
+    const store = pinia._s.get(id2);
+    if (hot) {
+      const hotId = "__hot:" + id2;
+      const newStore = isSetupStore ? createSetupStore(hotId, setup, options, pinia, true) : createOptionsStore(hotId, assign({}, options), pinia, true);
+      hot._hotUpdate(newStore);
+      delete pinia.state.value[hotId];
+      pinia._s.delete(hotId);
+    }
+    if (IS_CLIENT) {
+      const currentInstance2 = getCurrentInstance();
+      if (currentInstance2 && currentInstance2.proxy && // avoid adding stores that are just built for hot module replacement
+      !hot) {
+        const vm = currentInstance2.proxy;
+        const cache = "_pStores" in vm ? vm._pStores : vm._pStores = {};
+        cache[id2] = store;
+      }
+    }
+    return store;
+  }
+  useStore.$id = id2;
+  return useStore;
+}
+const createHook = (lifecycle) => (hook, target = getCurrentInstance()) => {
+  !isInSSRComponentSetup && injectHook(lifecycle, hook, target);
+};
+const onShow = /* @__PURE__ */ createHook(ON_SHOW);
+const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
+function mitt(n2) {
+  return { all: n2 = n2 || /* @__PURE__ */ new Map(), on: function(t2, e2) {
+    var i = n2.get(t2);
+    i ? i.push(e2) : n2.set(t2, [e2]);
+  }, off: function(t2, e2) {
+    var i = n2.get(t2);
+    i && (e2 ? i.splice(i.indexOf(e2) >>> 0, 1) : n2.set(t2, []));
+  }, emit: function(t2, e2) {
+    var i = n2.get(t2);
+    i && i.slice().map(function(n3) {
+      n3(e2);
+    }), (i = n2.get("*")) && i.slice().map(function(n3) {
+      n3(t2, e2);
+    });
+  } };
+}
 exports._export_sfc = _export_sfc;
+exports.createPinia = createPinia;
 exports.createSSRApp = createSSRApp;
+exports.defineComponent = defineComponent;
+exports.defineStore = defineStore;
+exports.e = e;
 exports.f = f;
+exports.index = index;
+exports.mitt = mitt;
+exports.n = n;
+exports.o = o;
+exports.onLoad = onLoad;
+exports.onMounted = onMounted;
+exports.onShow = onShow;
+exports.p = p;
 exports.ref = ref;
+exports.resolveComponent = resolveComponent;
+exports.s = s;
 exports.t = t;
+exports.toRaw = toRaw;
+exports.unref = unref;
+exports.watch = watch;
diff --git a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.acss b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.acss
index 93c5a98..97507ef 100644
--- a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.acss
+++ b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.acss
@@ -401,164 +401,29 @@ text.data-v-641af6de {
 .mt-100.data-v-641af6de {
   margin-top: 187.5rpx;
 }
-.ml-79.data-v-641af6de {
-  margin-left: 148.13rpx;
+.mt-47.data-v-641af6de {
+  margin-top: 88.13rpx;
 }
-.mt-243.data-v-641af6de {
-  position: fixed;
-  bottom: 0;
-  width: 100%;
+.mt-7.data-v-641af6de {
+  margin-top: 13.13rpx;
+}
+.mt-173.data-v-641af6de {
+  margin-top: 324.38rpx;
 }
 .page.data-v-641af6de {
   background-color: #f8e8c1;
   width: 100%;
   overflow-y: auto;
   overflow-x: hidden;
-  height: 100%;
+  height: 100vh;
 }
 .text-wrapper.data-v-641af6de {
-  padding: 26.25rpx 0;
-  background-color: #f5f5dc;
-  position: absolute;
+  position: fixed;
+  left: 0;
+  right: 0;
   top: 0;
-  width: 100%;
-}
-.section.data-v-641af6de {
-  padding: 0 121.88rpx;
-  background-color: #fffef8;
-  position: absolute;
-  top: 70rpx;
-  width: 100%;
-}
-.group.data-v-641af6de {
-  padding: 18.75rpx 3.75rpx 18.75rpx 11.25rpx;
-}
-.section_2.data-v-641af6de {
-  background-color: #fb8b05;
-  width: 112.5rpx;
-  height: 5.63rpx;
-}
-.list.data-v-641af6de {
-  padding: 9.35rpx 18.75rpx 9.35rpx 18.75rpx;
-  padding-bottom: 200rpx;
-}
-.list-item.data-v-641af6de {
-  padding: 33.75rpx 18.75rpx;
-  background-color: #fffef8;
-  border-radius: 18.75rpx;
-}
-.list-item.data-v-641af6de:first-child {
-  margin-top: 0;
-}
-.section_3.data-v-641af6de {
-  margin-right: 5.63rpx;
-}
-.image_4.data-v-641af6de {
-  margin-top: 86.25rpx;
-  width: 31.88rpx;
-  height: 31.88rpx;
-}
-.image.data-v-641af6de {
-  border-radius: 9.38rpx;
-  width: 146.25rpx;
-  height: 144.38rpx;
-}
-.image_2.data-v-641af6de {
-  margin-left: 48.75rpx;
-}
-.group_2.data-v-641af6de {
-  margin-left: 30rpx;
-}
-.group_3.data-v-641af6de {
-  padding-bottom: 15rpx;
-}
-.font_2.data-v-641af6de {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-  line-height: 24.43rpx;
-  color: #323232;
-}
-.section_4.data-v-641af6de {
-  padding: 11.25rpx 15rpx 24.38rpx;
+  padding: 25.46rpx 0 25.5rpx;
   background-color: #f5f5dc;
-  border-radius: 9.38rpx;
-}
-.font_3.data-v-641af6de {
-  font-size: 22.5rpx;
-  font-family: Open Sans;
-  line-height: 19.29rpx;
-  color: #818181;
-}
-.text_3.data-v-641af6de {
-  line-height: 20.79rpx;
-}
-.image_3.data-v-641af6de {
-  margin-right: 7.5rpx;
-  margin-top: -7.5rpx;
-  width: 22.5rpx;
-  height: 22.5rpx;
-}
-.group_4.data-v-641af6de {
-  padding: 0 5.63rpx;
-}
-.font_4.data-v-641af6de {
-  font-size: 33.75rpx;
-  font-family: Open Sans;
-  line-height: 24.43rpx;
-  font-weight: 600;
-  color: #fb8b05;
-}
-.text_4.data-v-641af6de {
-  margin-left: 26.25rpx;
-  line-height: 24.88rpx;
-}
-.image_7.data-v-641af6de {
-  margin-left: -90rpx;
-  width: 30rpx;
-  height: 26.25rpx;
-}
-.font_5.data-v-641af6de {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-  line-height: 19.29rpx;
-  font-weight: 600;
-  color: #fb8b05;
-}
-.text_5.data-v-641af6de {
-  margin-left: 60rpx;
-}
-.image_5.data-v-641af6de {
-  border-radius: 9.38rpx 0rpx 0rpx 9.38rpx;
-  width: 45rpx;
-  height: 45rpx;
-}
-.text-wrapper_2.data-v-641af6de {
-  padding: 15rpx 0;
-  background-color: #f5f5dc;
-  width: 58.13rpx;
-  height: 45rpx;
-}
-.font_6.data-v-641af6de {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-  line-height: 19.29rpx;
-  color: #323232;
-}
-.text_6.data-v-641af6de {
-  line-height: 18.73rpx;
-}
-.image_6.data-v-641af6de {
-  border-radius: 0rpx 9.38rpx 9.38rpx 0rpx;
-  width: 45rpx;
-  height: 45rpx;
-}
-.image_9.data-v-641af6de {
-  width: 37.5rpx;
-  height: 37.5rpx;
-}
-.section_6.data-v-641af6de {
-  padding: 18.75rpx;
-  background-color: #fffef8;
 }
 .font.data-v-641af6de {
   font-size: 30rpx;
@@ -566,27 +431,253 @@ text.data-v-641af6de {
   line-height: 27.69rpx;
   color: #323232;
 }
+.text.data-v-641af6de {
+  margin-right: 30.86rpx;
+  line-height: 27.79rpx;
+}
+.section.data-v-641af6de {
+  position: fixed;
+  left: 0;
+  right: 0;
+  top: 74rpx;
+  padding: 0 121.88rpx;
+  background-color: #fffef8;
+}
+.group.data-v-641af6de {
+  padding: 21.64rpx 4.63rpx 18.17rpx 11.42rpx;
+}
 .text_2.data-v-641af6de {
   line-height: 27.6rpx;
 }
-.text.data-v-641af6de {
-  margin-right: 30rpx;
-  line-height: 27.79rpx;
+.section_2.data-v-641af6de {
+  background-color: #fb8b05;
+  width: 112.5rpx;
+  height: 5.63rpx;
+}
+.list.data-v-641af6de {
+  padding: 155rpx 15rpx 110rpx;
+}
+.list-item.data-v-641af6de:first-child {
+  margin-top: 0;
+}
+.section_1.data-v-641af6de {
+  padding: 35.63rpx 20.63rpx 28.13rpx;
+  background-color: #fffef8;
+  border-radius: 18.75rpx;
+}
+.image_2.data-v-641af6de {
+  width: 37.5rpx;
+  height: 37.5rpx;
+}
+.group_2.data-v-641af6de {
+  margin-left: 41.25rpx;
+}
+.image.data-v-641af6de {
+  border-radius: 9.38rpx;
+  width: 146.25rpx;
+  height: 144.38rpx;
+}
+.group_3.data-v-641af6de {
+  margin-top: 2.19rpx;
+}
+.group_4.data-v-641af6de {
+  padding-left: 8.53rpx;
+}
+.font_2.data-v-641af6de {
+  font-size: 26.25rpx;
+  font-family: Open Sans;
+  line-height: 24.43rpx;
+  color: #323232;
+}
+.group_5.data-v-641af6de {
+  width: 90.66rpx;
+}
+.font_3.data-v-641af6de {
+  font-size: 33.75rpx;
+  font-family: Open Sans;
+  line-height: 24.43rpx;
+  font-weight: 600;
+  color: #fb8b05;
+}
+.text_3.data-v-641af6de {
+  margin-left: 25.03rpx;
+  line-height: 24.88rpx;
+}
+.image_6.data-v-641af6de {
+  margin-left: -90.66rpx;
+  width: 30rpx;
+  height: 26.25rpx;
+}
+.font_4.data-v-641af6de {
+  font-size: 26.25rpx;
+  font-family: Open Sans;
+  line-height: 19.29rpx;
+  font-weight: 600;
+  color: #fb8b05;
+}
+.image_3.data-v-641af6de {
+  border-radius: 9.38rpx 0rpx 0rpx 9.38rpx;
+  width: 45rpx;
+  height: 45rpx;
+}
+.image_4.data-v-641af6de {
+  margin-left: 18.15rpx;
+  margin-top: 106.88rpx;
+}
+.group_9.data-v-641af6de {
+  margin: 106.88rpx 3.77rpx 0 3.75rpx;
+}
+.text-wrapper_2.data-v-641af6de {
+  padding: 12.39rpx 0 13.88rpx;
+  background-color: #f5f5dc;
+  width: 58.13rpx;
+  height: 45rpx;
+}
+.font_5.data-v-641af6de {
+  font-size: 26.25rpx;
+  font-family: Open Sans;
+  line-height: 19.29rpx;
+  color: #323232;
+}
+.text_4.data-v-641af6de {
+  line-height: 18.73rpx;
+}
+.image_5.data-v-641af6de {
+  border-radius: 0rpx 9.38rpx 9.38rpx 0rpx;
+  width: 45rpx;
+  height: 45rpx;
+}
+.list-item_2.data-v-641af6de {
+  padding: 24.38rpx 18.75rpx 18.75rpx;
+  background-color: #fffef8;
+  border-radius: 18.75rpx;
+}
+.image_8.data-v-641af6de {
+  margin-top: 108.75rpx;
+}
+.image_7.data-v-641af6de {
+  margin-left: 39.38rpx;
+  width: 121.88rpx;
+  height: 172.5rpx;
+}
+.group_1.data-v-641af6de {
+  margin: 3.07rpx 17.76rpx 7.5rpx 22.5rpx;
+}
+.font_6.data-v-641af6de {
+  font-size: 26.25rpx;
+  font-family: Open Sans;
+  line-height: 31.88rpx;
+  color: #323233;
+}
+.section_3.data-v-641af6de {
+  margin-right: 4.74rpx;
+  padding: 12.94rpx 9.83rpx 13.09rpx;
+  background-color: #f5f5dc;
+  border-radius: 9.38rpx;
+}
+.font_7.data-v-641af6de {
+  font-size: 22.5rpx;
+  font-family: Open Sans;
+  line-height: 22.5rpx;
+  color: #6b6e72;
+}
+.font_8.data-v-641af6de {
+  font-size: 22.5rpx;
+  font-family: Open Sans;
+  line-height: 19.29rpx;
+  color: #6b6e72;
+}
+.text_5.data-v-641af6de {
+  line-height: 20.79rpx;
+}
+.image_9.data-v-641af6de {
+  margin-right: 5.17rpx;
+  width: 22.5rpx;
+  height: 22.5rpx;
+}
+.group_7.data-v-641af6de {
+  padding: 0 22.5rpx;
+}
+.text_6.data-v-641af6de {
+  margin-left: 25.03rpx;
+  line-height: 24.88rpx;
 }
 .text_7.data-v-641af6de {
+  margin-left: 61.14rpx;
+}
+.text_8.data-v-641af6de {
+  line-height: 18.73rpx;
+}
+.section_4.data-v-641af6de {
+  position: fixed;
+  right: 0;
+  left: 0;
+  bottom: 0;
+  padding: 18.75rpx 18.75rpx 16.88rpx;
+  background-color: #fffef8;
+}
+.text_9.data-v-641af6de {
   line-height: 27.64rpx;
 }
 .text-wrapper_3.data-v-641af6de {
+  margin-right: 3.77rpx;
+  padding: 22.37rpx 0 23.53rpx;
+  background-color: #ffd45a;
+  border-radius: 75rpx;
+  width: 219.38rpx;
+  height: 76.88rpx;
+}
+.text_10.data-v-641af6de {
+  color: #ffffff;
+  font-size: 33.75rpx;
+  font-family: Open Sans;
+  line-height: 30.97rpx;
+}
+.mt-569.data-v-641af6de {
+  margin-top: 1066.88rpx;
+}
+.image_2.data-v-641af6de {
+  width: 37.5rpx;
+  height: 37.5rpx;
+}
+.image_7.data-v-641af6de {
+  width: 30rpx;
+  height: 26.25rpx;
+}
+.section_4.data-v-641af6de {
+  padding: 18.75rpx;
+  background-color: #fffef8;
+}
+.font.data-v-641af6de {
+  font-size: 30rpx;
+  font-family: Open Sans;
+  line-height: 27.54rpx;
+  color: #323232;
+}
+.text_10.data-v-641af6de {
+  line-height: 27.64rpx;
+}
+.group_3.data-v-641af6de {
   margin-right: 3.75rpx;
+}
+.image_9.data-v-641af6de {
+  margin-left: -11.25rpx;
+}
+.text_12.data-v-641af6de {
+  color: #fb8b05;
+  line-height: 22.01rpx;
+}
+.text-wrapper_3.data-v-641af6de {
+  margin-left: 22.5rpx;
   padding: 22.5rpx 0;
   background-color: #ffd45a;
   border-radius: 75rpx;
   width: 219.38rpx;
   height: 76.88rpx;
 }
-.text_8.data-v-641af6de {
+.text_11.data-v-641af6de {
   color: #ffffff;
   font-size: 33.75rpx;
   font-family: Open Sans;
-  line-height: 30.97rpx;
+  line-height: 31.48rpx;
 }
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.axml b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.axml
index f9d4de4..c6e1e84 100644
--- a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.axml
+++ b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.axml
@@ -1 +1 @@
-<view class="flex-col page data-v-641af6de"><view class="flex-col data-v-641af6de"><view class="flex-col justify-start items-end text-wrapper data-v-641af6de"><text class="font text data-v-641af6de">编辑</text></view><view class="flex-col section data-v-641af6de"><view class="flex-row justify-between self-stretch group data-v-641af6de"><text class="font text_2 data-v-641af6de">商品类</text><navigator url="/pages/Shopping-cart/servicemain/servicemain" class="font data-v-641af6de">服务类</navigator></view><view class="self-start section_2 data-v-641af6de"></view></view><view class="flex-col list data-v-641af6de" style="height:auto;padding-top:150rpx"><view a:for="{{a}}" a:for-item="item" a:key="a" class="flex-col mt-10 list-item section_3 data-v-641af6de"><view class="flex-row data-v-641af6de"><image class="self-start image_4 data-v-641af6de" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=a2def3a82a38998ae0686f132a02f94f.png"/><image class="image image_2 data-v-641af6de" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=ece79e7a9c745b4953d1f268e0c2096c.png"/><view class="flex-col self-start group_2 data-v-641af6de"><view class="flex-row group_3 data-v-641af6de"><text class="font_2 data-v-641af6de">非遗绒花</text><text class="ml-4 font_2 data-v-641af6de">【材料包】</text></view><view class="flex-col section_4 data-v-641af6de"><text class="self-start font_3 text_3 data-v-641af6de">已选种类:紫色</text><image class="shrink-0 self-end image_3 data-v-641af6de" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=ca9cf42222294d2fd1264864434d6576.png"/></view></view></view><view class="mt-10 flex-row justify-end items-center group_4 data-v-641af6de"><view class="flex-row items-center data-v-641af6de"><text class="font_4 text_4 data-v-641af6de">138.</text><image class="shrink-0 image_7 data-v-641af6de" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=b394eb4b1d40284e55eab0b7e3ef2da3.png"/><text class="font_5 text_5 data-v-641af6de">00</text></view><view class="flex-row ml-79 data-v-641af6de"><image class="image_5 data-v-641af6de" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=9d8478d42d790ba0ecf60a8cb7cf8f23.png"/><view class="ml-2 flex-col justify-start items-center text-wrapper_2 data-v-641af6de"><text class="font_6 text_6 data-v-641af6de">1</text></view><image class="ml-2 image_6 data-v-641af6de" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=c0868803ec8c20a8c962be98aa974c4e.png"/></view></view></view></view></view><view class="flex-row justify-between items-center section_6 mt-243 data-v-641af6de"><view class="flex-row items-center data-v-641af6de"><image class="shrink-0 image_9 data-v-641af6de" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=3f81d5886d1e216ce7cc53687e0c5499.png"/><text class="ml-10 font text_7 data-v-641af6de">全选</text></view><view class="flex-col justify-start items-center text-wrapper_3 data-v-641af6de"><text class="text_8 data-v-641af6de">删除</text></view></view></view>
\ No newline at end of file
+<view class="flex-col page data-v-641af6de"><view class="flex-col data-v-641af6de"><view class="flex-col justify-start items-end text-wrapper data-v-641af6de"><text class="font text data-v-641af6de">编辑</text></view><view class="flex-col section data-v-641af6de"><view class="flex-row justify-between self-stretch group data-v-641af6de"><text class="font text_2 data-v-641af6de" style="{{a}}" onTap="{{b}}">商品类</text><text class="font data-v-641af6de" style="{{c}}" onTap="{{d}}">服务类</text></view></view><view class="flex-col list data-v-641af6de"><checkbox-group class="data-v-641af6de" onChange="{{h}}"><view a:for="{{e}}" a:for-item="item" a:key="n" class="flex-col list-item mt-8 data-v-641af6de"><view a:if="{{f}}" class="flex-row section_1 data-v-641af6de"><checkbox class="shrink-0 self-center image_2 data-v-641af6de" value="{{item.a}}" checked="{{item.b}}"/><view class="flex-row flex-1 self-center group_2 data-v-641af6de"><image class="shrink-0 image data-v-641af6de" src="{{item.c}}" onTap="{{item.d}}"/><view class="flex-col flex-1 group_3 ml-12 data-v-641af6de"><view class="flex-row group_4 data-v-641af6de"><text class="font_2 data-v-641af6de" onTap="{{item.f}}">{{item.e}}</text><text class="font_2 ml-4 data-v-641af6de" onTap="{{item.h}}">【{{item.g}}】</text></view><view class="flex-row items-center mt-47 data-v-641af6de"><view class="flex-row items-center self-stretch group_5 data-v-641af6de"><text class="font_3 text_3 data-v-641af6de" onTap="{{item.j}}"><text class="font_4 data-v-641af6de">¥</text>{{item.i}}.<text class="font_4 data-v-641af6de">00</text></text></view></view></view></view><image class="shrink-0 self-start image_3 image_4 data-v-641af6de" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FosWvYyNx-short1.png" onTap="{{item.k}}"/><view class="flex-row shrink-0 self-start group_9 data-v-641af6de"><view class="flex-col justify-start items-center text-wrapper_2 data-v-641af6de"><text class="font_5 text_4 data-v-641af6de">{{item.l}}</text></view><image class="image_5 ml-2 data-v-641af6de" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FGbdSQDul-add1.png" onTap="{{item.m}}"/></view></view><view a:if="{{g}}" class="flex-col list-item_2 mt-8 data-v-641af6de"><view class="flex-row data-v-641af6de"><image class="shrink-0 self-start image_2 image_8 data-v-641af6de" src="https://ide.code.fun/api/image?token=672db25dc471750012de4901&name=radio.png"/><image class="shrink-0 image_7 data-v-641af6de" src="https://ide.code.fun/api/image?token=672db25dc471750012de4901&name=service.png"/><view class="flex-col flex-1 group_1 data-v-641af6de"><text class="font_6 data-v-641af6de">【非遗手工艺体验】纸笺加工技艺-流沙笺团扇制作体验</text><view class="flex-row justify-between items-center section_3 mt-7 data-v-641af6de"><view class="flex-col items-start data-v-641af6de"><text class="font_7 data-v-641af6de">仿真丝团扇;上午场(09:30-12:00)</text><text class="font_8 text_5 mt-6 data-v-641af6de">预约日期:2024-10-15</text></view><image class="image_9 data-v-641af6de" src="https://ide.code.fun/api/image?token=672db25dc471750012de4901&name=pull.png"/></view></view></view><view class="flex-row justify-end items-center group_7 mt-14 data-v-641af6de"><view class="flex-row items-center data-v-641af6de"><text class="font_3 text_6 data-v-641af6de">138.</text><image class="shrink-0 image_6 data-v-641af6de" src="https://ide.code.fun/api/image?token=672db25dc471750012de4901&name=storeRmb.png"/><text class="font_4 text_7 data-v-641af6de">00</text></view><view class="flex-row ml-82 data-v-641af6de"><image class="image_3 data-v-641af6de" src="https://ide.code.fun/api/image?token=672db25dc471750012de4901&name=short1.png"/><view class="flex-col justify-start items-center text-wrapper_2 ml-2 data-v-641af6de"><text class="font_5 text_8 data-v-641af6de">1</text></view><image class="image_5 ml-2 data-v-641af6de" src="https://ide.code.fun/api/image?token=672db25dc471750012de4901&name=add1.png"/></view></view></view></view></checkbox-group></view></view><view class="flex-row justify-between items-center section_4 mt-569 data-v-641af6de"><view class="flex-row items-center data-v-641af6de"><checkbox class="shrink-0 image_2 data-v-641af6de" checked="{{i}}" onTap="{{j}}"/><text class="ml-10 font text_10 data-v-641af6de">全选</text></view><view class="flex-row items-center group_3 data-v-641af6de"><text class="font data-v-641af6de">合计:</text><image class="shrink-0 image_7 image_9 data-v-641af6de" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FJipaVPoQ-storeRmb.png"/><text class="font text_12 data-v-641af6de">{{k}}</text><view class="flex-col justify-start items-center shrink-0 text-wrapper_3 data-v-641af6de" onTap="{{l}}"><text class="text_11 data-v-641af6de">去结算</text></view></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.js b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.js
index ea3efac..6892e34 100644
--- a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.js
+++ b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/productmain/productmain.js
@@ -1,19 +1,167 @@
 "use strict";
 const common_vendor = require("../../../common/vendor.js");
+const api_request = require("../../../api/request.js");
 const _sfc_main = {
   __name: "productmain",
   setup(__props) {
-    const items = common_vendor.ref([null, null, null, null, null, null, null]);
+    const products = common_vendor.ref([]);
+    const current = common_vendor.ref(1);
+    const allCheck = common_vendor.ref(false);
+    const checkedData = common_vendor.ref([]);
+    const totalPrice = common_vendor.ref(0);
+    wx.getStorageSync("userInfo");
+    common_vendor.onMounted(() => {
+    });
+    common_vendor.onShow(() => {
+      getProductCart();
+    });
+    const getProductCart = async () => {
+      const res = await common_vendor.index.request({
+        url: api_request.baseUrl + "/cart/list",
+        method: "POST",
+        header: {
+          "cookie": wx.getStorageSync("cookie")
+        }
+      });
+      if (res.data.code === 1) {
+        products.value = res.data.data;
+        products.value.forEach((item) => {
+          item.checked = false;
+        });
+      }
+      console.log("res--->", res);
+      console.log("products-->", products.value);
+    };
+    const changeType = async (num) => {
+      current.value = num;
+    };
+    const getTextStyle = (num) => ({
+      "border-bottom": current.value === num ? "2px solid orange" : "2px solid  #ffffff"
+    });
+    const checkBoxChange = (event) => {
+      console.log("方法被触发");
+      console.log("length---->", event.detail.value.length);
+      if (event.detail.value.length == products.value.length) {
+        allCheck.value = true;
+      } else {
+        allCheck.value = false;
+      }
+      checkedData.value = [{}];
+      totalPrice.value = 0;
+      let count = 0;
+      console.log("event--->", event.detail);
+      products.value[parseInt(event.detail.value)].checked = true;
+      for (let key in event.detail.value) {
+        let temp = parseInt(event.detail.value[parseInt(key)]);
+        computed(products.value[temp].goodVO.price, products.value[temp].quantity);
+      }
+      event.detail.value.forEach((item) => {
+        products.value[parseInt(item)].checked = true;
+      });
+      products.value.forEach((x) => {
+        event.detail.value.forEach((y) => {
+          if (x.value == y) {
+            x.checked = true;
+          }
+        });
+      });
+      event.detail.value.forEach((item) => {
+        console.log("products.value[parseInt(item)].goodId", products.value[parseInt(item)].goodId);
+        if (products.value[parseInt(item)] !== null) {
+          checkedData.value[count] = {
+            goodId: products.value[parseInt(item)].goodId,
+            quantity: products.value[parseInt(item)].quantity
+          };
+          count += 1;
+        }
+      });
+      console.log("checkedData--->", checkedData.value);
+    };
+    const allChecked = () => {
+      allCheck.value = !allCheck.value;
+      totalPrice.value = 0;
+      if (allCheck.value == true) {
+        products.value.forEach((item) => {
+          item.checked = true;
+          computed(item.goodVO.price, item.quantity);
+        });
+        checkedData.value = products.value.map((item) => ({
+          goodId: item.goodId,
+          quantity: item.quantity
+        }));
+        console.log("checkedData--->", checkedData.value);
+      } else {
+        products.value.forEach((item) => {
+          item.checked = false;
+        });
+      }
+    };
+    const decrease = (index, item) => {
+      if (products.value[index].quantity > 1) {
+        products.value[index].quantity -= 1;
+        if (item && products.value[index].quantity >= 1) {
+          computed(-products.value[index].goodVO.price, 1);
+        }
+      }
+    };
+    const increase = (index, item) => {
+      if (products.value[index].quantity <= 99) {
+        products.value[index].quantity += 1;
+      }
+      if (item) {
+        computed(products.value[index].goodVO.price, 1);
+      }
+    };
+    const computed = (price, quantity) => {
+      totalPrice.value += price * quantity;
+      return totalPrice.value;
+    };
+    const jump_product = () => {
+      common_vendor.index.navigateTo({
+        url: "../../../pages/store-home/ProductDetails/ProductDetails"
+      });
+    };
+    const goToBuy = () => {
+      console.log("要传到订单详情页面的checked--->", checkedData.value);
+      common_vendor.index.navigateTo({
+        url: "/pages/order/product-waitpay/product-waitpay?cartInfo=" + JSON.stringify(checkedData.value)
+      });
+    };
     return (_ctx, _cache) => {
       return {
-        a: common_vendor.f(items.value, (item, index, i0) => {
-          return {
-            a: index
-          };
-        })
+        a: common_vendor.s(getTextStyle(1)),
+        b: common_vendor.o(($event) => changeType(1)),
+        c: common_vendor.s(getTextStyle(2)),
+        d: common_vendor.o(($event) => changeType(2)),
+        e: common_vendor.f(products.value, (item, index, i0) => {
+          return common_vendor.e(current.value == 1 ? {
+            a: index,
+            b: item.checked,
+            c: item.goodVO.goodImg,
+            d: common_vendor.o(jump_product),
+            e: common_vendor.t(item.goodVO.name),
+            f: common_vendor.o(jump_product),
+            g: common_vendor.t(item.goodVO.type),
+            h: common_vendor.o(jump_product),
+            i: common_vendor.t(item.goodVO.price),
+            j: common_vendor.o(jump_product),
+            k: common_vendor.o(($event) => decrease(index, item.checked)),
+            l: common_vendor.t(item.quantity),
+            m: common_vendor.o(($event) => increase(index, item.checked))
+          } : {}, current.value == 2 ? {} : {}, {
+            n: index
+          });
+        }),
+        f: current.value == 1,
+        g: current.value == 2,
+        h: common_vendor.o(checkBoxChange),
+        i: allCheck.value,
+        j: common_vendor.o(allChecked),
+        k: common_vendor.t(totalPrice.value),
+        l: common_vendor.o(goToBuy)
       };
     };
   }
 };
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-641af6de"]]);
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-641af6de"], ["__file", "D:/jiangchengfeiyi-xiaochengxu/pages/Shopping-cart/productmain/productmain.vue"]]);
 my.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.acss b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.acss
deleted file mode 100644
index c2fb4a7..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.acss
+++ /dev/null
@@ -1,525 +0,0 @@
-/* 水平间距 */
-/* 水平间距 */
-/************************************************************
-** 请将全局样式拷贝到项目的全局 CSS 文件或者当前页面的顶部 **
-** 否则页面将无法正常显示                                  **
-************************************************************/
-html.data-v-b7001184 {
-  font-size: 16px;
-}
-body.data-v-b7001184 {
-  margin: 0;
-  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
-    'Droid Sans', 'Helvetica Neue', 'Microsoft Yahei', sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-view.data-v-b7001184,
-image.data-v-b7001184,
-text.data-v-b7001184 {
-  box-sizing: border-box;
-  flex-shrink: 0;
-}
-#app.data-v-b7001184 {
-  width: 100vw;
-  height: 100vh;
-}
-.flex-row.data-v-b7001184 {
-  display: flex;
-  flex-direction: row;
-}
-.flex-col.data-v-b7001184 {
-  display: flex;
-  flex-direction: column;
-}
-.justify-start.data-v-b7001184 {
-  justify-content: flex-start;
-}
-.justify-end.data-v-b7001184 {
-  justify-content: flex-end;
-}
-.justify-center.data-v-b7001184 {
-  justify-content: center;
-}
-.justify-between.data-v-b7001184 {
-  justify-content: space-between;
-}
-.justify-around.data-v-b7001184 {
-  justify-content: space-around;
-}
-.justify-evenly.data-v-b7001184 {
-  justify-content: space-evenly;
-}
-.items-start.data-v-b7001184 {
-  align-items: flex-start;
-}
-.items-end.data-v-b7001184 {
-  align-items: flex-end;
-}
-.items-center.data-v-b7001184 {
-  align-items: center;
-}
-.items-baseline.data-v-b7001184 {
-  align-items: baseline;
-}
-.items-stretch.data-v-b7001184 {
-  align-items: stretch;
-}
-.self-start.data-v-b7001184 {
-  align-self: flex-start;
-}
-.self-end.data-v-b7001184 {
-  align-self: flex-end;
-}
-.self-center.data-v-b7001184 {
-  align-self: center;
-}
-.self-baseline.data-v-b7001184 {
-  align-self: baseline;
-}
-.self-stretch.data-v-b7001184 {
-  align-self: stretch;
-}
-.flex-1.data-v-b7001184 {
-  flex: 1 1 0%;
-}
-.flex-auto.data-v-b7001184 {
-  flex: 1 1 auto;
-}
-.grow.data-v-b7001184 {
-  flex-grow: 1;
-}
-.grow-0.data-v-b7001184 {
-  flex-grow: 0;
-}
-.shrink.data-v-b7001184 {
-  flex-shrink: 1;
-}
-.shrink-0.data-v-b7001184 {
-  flex-shrink: 0;
-}
-.relative.data-v-b7001184 {
-  position: relative;
-}
-.ml-2.data-v-b7001184 {
-  margin-left: 3.75rpx;
-}
-.mt-2.data-v-b7001184 {
-  margin-top: 3.75rpx;
-}
-.ml-4.data-v-b7001184 {
-  margin-left: 7.5rpx;
-}
-.mt-4.data-v-b7001184 {
-  margin-top: 7.5rpx;
-}
-.ml-6.data-v-b7001184 {
-  margin-left: 11.25rpx;
-}
-.mt-6.data-v-b7001184 {
-  margin-top: 11.25rpx;
-}
-.ml-8.data-v-b7001184 {
-  margin-left: 15rpx;
-}
-.mt-8.data-v-b7001184 {
-  margin-top: 15rpx;
-}
-.ml-10.data-v-b7001184 {
-  margin-left: 18.75rpx;
-}
-.mt-10.data-v-b7001184 {
-  margin-top: 18.75rpx;
-}
-.ml-12.data-v-b7001184 {
-  margin-left: 22.5rpx;
-}
-.mt-12.data-v-b7001184 {
-  margin-top: 22.5rpx;
-}
-.ml-14.data-v-b7001184 {
-  margin-left: 26.25rpx;
-}
-.mt-14.data-v-b7001184 {
-  margin-top: 26.25rpx;
-}
-.ml-16.data-v-b7001184 {
-  margin-left: 30rpx;
-}
-.mt-16.data-v-b7001184 {
-  margin-top: 30rpx;
-}
-.ml-18.data-v-b7001184 {
-  margin-left: 33.75rpx;
-}
-.mt-18.data-v-b7001184 {
-  margin-top: 33.75rpx;
-}
-.ml-20.data-v-b7001184 {
-  margin-left: 37.5rpx;
-}
-.mt-20.data-v-b7001184 {
-  margin-top: 37.5rpx;
-}
-.ml-22.data-v-b7001184 {
-  margin-left: 41.25rpx;
-}
-.mt-22.data-v-b7001184 {
-  margin-top: 41.25rpx;
-}
-.ml-24.data-v-b7001184 {
-  margin-left: 45rpx;
-}
-.mt-24.data-v-b7001184 {
-  margin-top: 45rpx;
-}
-.ml-26.data-v-b7001184 {
-  margin-left: 48.75rpx;
-}
-.mt-26.data-v-b7001184 {
-  margin-top: 48.75rpx;
-}
-.ml-28.data-v-b7001184 {
-  margin-left: 52.5rpx;
-}
-.mt-28.data-v-b7001184 {
-  margin-top: 52.5rpx;
-}
-.ml-30.data-v-b7001184 {
-  margin-left: 56.25rpx;
-}
-.mt-30.data-v-b7001184 {
-  margin-top: 56.25rpx;
-}
-.ml-32.data-v-b7001184 {
-  margin-left: 60rpx;
-}
-.mt-32.data-v-b7001184 {
-  margin-top: 60rpx;
-}
-.ml-34.data-v-b7001184 {
-  margin-left: 63.75rpx;
-}
-.mt-34.data-v-b7001184 {
-  margin-top: 63.75rpx;
-}
-.ml-36.data-v-b7001184 {
-  margin-left: 67.5rpx;
-}
-.mt-36.data-v-b7001184 {
-  margin-top: 67.5rpx;
-}
-.ml-38.data-v-b7001184 {
-  margin-left: 71.25rpx;
-}
-.mt-38.data-v-b7001184 {
-  margin-top: 71.25rpx;
-}
-.ml-40.data-v-b7001184 {
-  margin-left: 75rpx;
-}
-.mt-40.data-v-b7001184 {
-  margin-top: 75rpx;
-}
-.ml-42.data-v-b7001184 {
-  margin-left: 78.75rpx;
-}
-.mt-42.data-v-b7001184 {
-  margin-top: 78.75rpx;
-}
-.ml-44.data-v-b7001184 {
-  margin-left: 82.5rpx;
-}
-.mt-44.data-v-b7001184 {
-  margin-top: 82.5rpx;
-}
-.ml-46.data-v-b7001184 {
-  margin-left: 86.25rpx;
-}
-.mt-46.data-v-b7001184 {
-  margin-top: 86.25rpx;
-}
-.ml-48.data-v-b7001184 {
-  margin-left: 90rpx;
-}
-.mt-48.data-v-b7001184 {
-  margin-top: 90rpx;
-}
-.ml-50.data-v-b7001184 {
-  margin-left: 93.75rpx;
-}
-.mt-50.data-v-b7001184 {
-  margin-top: 93.75rpx;
-}
-.ml-52.data-v-b7001184 {
-  margin-left: 97.5rpx;
-}
-.mt-52.data-v-b7001184 {
-  margin-top: 97.5rpx;
-}
-.ml-54.data-v-b7001184 {
-  margin-left: 101.25rpx;
-}
-.mt-54.data-v-b7001184 {
-  margin-top: 101.25rpx;
-}
-.ml-56.data-v-b7001184 {
-  margin-left: 105rpx;
-}
-.mt-56.data-v-b7001184 {
-  margin-top: 105rpx;
-}
-.ml-58.data-v-b7001184 {
-  margin-left: 108.75rpx;
-}
-.mt-58.data-v-b7001184 {
-  margin-top: 108.75rpx;
-}
-.ml-60.data-v-b7001184 {
-  margin-left: 112.5rpx;
-}
-.mt-60.data-v-b7001184 {
-  margin-top: 112.5rpx;
-}
-.ml-62.data-v-b7001184 {
-  margin-left: 116.25rpx;
-}
-.mt-62.data-v-b7001184 {
-  margin-top: 116.25rpx;
-}
-.ml-64.data-v-b7001184 {
-  margin-left: 120rpx;
-}
-.mt-64.data-v-b7001184 {
-  margin-top: 120rpx;
-}
-.ml-66.data-v-b7001184 {
-  margin-left: 123.75rpx;
-}
-.mt-66.data-v-b7001184 {
-  margin-top: 123.75rpx;
-}
-.ml-68.data-v-b7001184 {
-  margin-left: 127.5rpx;
-}
-.mt-68.data-v-b7001184 {
-  margin-top: 127.5rpx;
-}
-.ml-70.data-v-b7001184 {
-  margin-left: 131.25rpx;
-}
-.mt-70.data-v-b7001184 {
-  margin-top: 131.25rpx;
-}
-.ml-72.data-v-b7001184 {
-  margin-left: 135rpx;
-}
-.mt-72.data-v-b7001184 {
-  margin-top: 135rpx;
-}
-.ml-74.data-v-b7001184 {
-  margin-left: 138.75rpx;
-}
-.mt-74.data-v-b7001184 {
-  margin-top: 138.75rpx;
-}
-.ml-76.data-v-b7001184 {
-  margin-left: 142.5rpx;
-}
-.mt-76.data-v-b7001184 {
-  margin-top: 142.5rpx;
-}
-.ml-78.data-v-b7001184 {
-  margin-left: 146.25rpx;
-}
-.mt-78.data-v-b7001184 {
-  margin-top: 146.25rpx;
-}
-.ml-80.data-v-b7001184 {
-  margin-left: 150rpx;
-}
-.mt-80.data-v-b7001184 {
-  margin-top: 150rpx;
-}
-.ml-82.data-v-b7001184 {
-  margin-left: 153.75rpx;
-}
-.mt-82.data-v-b7001184 {
-  margin-top: 153.75rpx;
-}
-.ml-84.data-v-b7001184 {
-  margin-left: 157.5rpx;
-}
-.mt-84.data-v-b7001184 {
-  margin-top: 157.5rpx;
-}
-.ml-86.data-v-b7001184 {
-  margin-left: 161.25rpx;
-}
-.mt-86.data-v-b7001184 {
-  margin-top: 161.25rpx;
-}
-.ml-88.data-v-b7001184 {
-  margin-left: 165rpx;
-}
-.mt-88.data-v-b7001184 {
-  margin-top: 165rpx;
-}
-.ml-90.data-v-b7001184 {
-  margin-left: 168.75rpx;
-}
-.mt-90.data-v-b7001184 {
-  margin-top: 168.75rpx;
-}
-.ml-92.data-v-b7001184 {
-  margin-left: 172.5rpx;
-}
-.mt-92.data-v-b7001184 {
-  margin-top: 172.5rpx;
-}
-.ml-94.data-v-b7001184 {
-  margin-left: 176.25rpx;
-}
-.mt-94.data-v-b7001184 {
-  margin-top: 176.25rpx;
-}
-.ml-96.data-v-b7001184 {
-  margin-left: 180rpx;
-}
-.mt-96.data-v-b7001184 {
-  margin-top: 180rpx;
-}
-.ml-98.data-v-b7001184 {
-  margin-left: 183.75rpx;
-}
-.mt-98.data-v-b7001184 {
-  margin-top: 183.75rpx;
-}
-.ml-100.data-v-b7001184 {
-  margin-left: 187.5rpx;
-}
-.mt-100.data-v-b7001184 {
-  margin-top: 187.5rpx;
-}
-.mt-7.data-v-b7001184 {
-  margin-top: 13.13rpx;
-}
-.mt-569.data-v-b7001184 {
-  margin-top: 1066.88rpx;
-}
-.page.data-v-b7001184 {
-  background-color: #f8e8c1;
-  width: 100%;
-  overflow-y: auto;
-  overflow-x: hidden;
-  height: 100%;
-}
-.text-wrapper.data-v-b7001184 {
-  padding: 25.24rpx 0 25.73rpx;
-  background-color: #f5f5dc;
-}
-.font.data-v-b7001184 {
-  font-size: 30rpx;
-  font-family: Open Sans;
-  line-height: 27.69rpx;
-  color: #323232;
-}
-.text.data-v-b7001184 {
-  margin-right: 30.77rpx;
-  line-height: 27.79rpx;
-}
-.section.data-v-b7001184 {
-  padding-left: 133.29rpx;
-  padding-right: 116.25rpx;
-  background-color: #fffef8;
-}
-.group.data-v-b7001184 {
-  padding: 21.64rpx 0 18.17rpx;
-}
-.text_2.data-v-b7001184 {
-  line-height: 27.6rpx;
-}
-.text_3.data-v-b7001184 {
-  margin-right: 10.26rpx;
-}
-.section_2.data-v-b7001184 {
-  background-color: #fb8b05;
-  width: 112.5rpx;
-  height: 5.63rpx;
-}
-.section_3.data-v-b7001184 {
-  margin: 16.88rpx 16.88rpx 0 15rpx;
-  padding: 24.38rpx 18.75rpx 33.75rpx;
-  background-color: #fffef8;
-  border-radius: 18.75rpx;
-}
-.list-item.data-v-b7001184:first-child {
-  margin-top: 0;
-}
-.image_2.data-v-b7001184 {
-  width: 37.5rpx;
-  height: 37.5rpx;
-}
-.image_3.data-v-b7001184 {
-  margin-top: 108.75rpx;
-}
-.image.data-v-b7001184 {
-  margin-left: 39.38rpx;
-  width: 121.88rpx;
-  height: 172.5rpx;
-}
-.group_2.data-v-b7001184 {
-  margin: 3.07rpx 17.76rpx 7.5rpx 22.5rpx;
-}
-.font_2.data-v-b7001184 {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-}
-.text_4.data-v-b7001184 {
-  color: #323233;
-  line-height: 31.88rpx;
-}
-.section_4.data-v-b7001184 {
-  margin-right: 4.74rpx;
-  padding: 12.94rpx 9.83rpx 13.09rpx;
-  background-color: #f5f5dc;
-  border-radius: 9.38rpx;
-}
-.font_3.data-v-b7001184 {
-  font-size: 22.5rpx;
-  font-family: Open Sans;
-  color: #6b6e72;
-}
-.text_5.data-v-b7001184 {
-  line-height: 22.5rpx;
-}
-.text_6.data-v-b7001184 {
-  margin-left: 3.51rpx;
-  line-height: 20.55rpx;
-}
-.image_4.data-v-b7001184 {
-  margin-right: 5.17rpx;
-  width: 22.5rpx;
-  height: 22.5rpx;
-}
-.section_5.data-v-b7001184 {
-  padding: 16.88rpx 18.75rpx 18.75rpx;
-  background-color: #fffef8;
-}
-.text_10.data-v-b7001184 {
-  line-height: 27.64rpx;
-}
-.text-wrapper_3.data-v-b7001184 {
-  margin-right: 7.5rpx;
-  padding: 22.44rpx 0 23.59rpx;
-  background-color: #ffd45a;
-  border-radius: 75rpx;
-  width: 219.38rpx;
-  height: 76.88rpx;
-}
-.text_11.data-v-b7001184 {
-  color: #ffffff;
-  font-size: 33.75rpx;
-  font-family: Open Sans;
-  line-height: 30.84rpx;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.axml b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.axml
deleted file mode 100644
index 5058aa1..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.axml
+++ /dev/null
@@ -1 +0,0 @@
-<view class="flex-col page data-v-b7001184"><view class="flex-col data-v-b7001184"><view class="flex-col justify-start items-end text-wrapper data-v-b7001184"><text class="font text data-v-b7001184">编辑</text></view><view class="flex-col section data-v-b7001184"><view class="flex-row justify-between self-stretch group data-v-b7001184"><text class="font text_2 data-v-b7001184">商品类</text><text class="font text_3 data-v-b7001184">服务类</text></view><view class="self-end section_2 data-v-b7001184"></view></view><view class="flex-col section_3 data-v-b7001184"><view a:for="{{a}}" a:for-item="item" a:key="a" class="flex-row list-item mt-16 data-v-b7001184"><image class="shrink-0 self-start image_2 image_3 data-v-b7001184" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=3f81d5886d1e216ce7cc53687e0c5499.png"/><image class="shrink-0 image data-v-b7001184" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=efb4111919edad55b0130dca640e611e.png"/><view class="flex-col flex-1 group_2 data-v-b7001184"><text class="font_2 text_4 data-v-b7001184">【非遗手工艺体验】纸笺加工技艺-流沙笺团扇制作体验</text><view class="flex-row justify-between items-center section_4 mt-7 data-v-b7001184"><view class="flex-col items-start data-v-b7001184"><text class="font_3 text_5 data-v-b7001184">仿真丝团扇;上午场(09:30-12:00)</text><text class="font_3 text_6 mt-6 data-v-b7001184">日期:2024-10-15</text></view><image class="image_4 data-v-b7001184" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=ca9cf42222294d2fd1264864434d6576.png"/></view></view></view></view></view><view class="flex-row justify-between items-center section_5 mt-569 data-v-b7001184"><view class="flex-row items-center data-v-b7001184"><image class="shrink-0 image_2 data-v-b7001184" src="https://ide.code.fun/api/image?token=670f0f3f1511d900114aa2f0&name=3f81d5886d1e216ce7cc53687e0c5499.png"/><text class="font text_10 ml-10 data-v-b7001184">全选</text></view><view class="flex-col justify-start items-center text-wrapper_3 data-v-b7001184"><text class="text_11 data-v-b7001184">下单</text></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.js b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.js
deleted file mode 100644
index e8a9458..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-const common_vendor = require("../../../common/vendor.js");
-const _sfc_main = {
-  __name: "servicemain",
-  setup(__props) {
-    const items = common_vendor.ref([null, null]);
-    return (_ctx, _cache) => {
-      return {
-        a: common_vendor.f(items.value, (item, index, i0) => {
-          return {
-            a: index
-          };
-        })
-      };
-    };
-  }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-b7001184"]]);
-my.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.json b/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.json
deleted file mode 100644
index f001b2f..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/Shopping-cart/servicemain/servicemain.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "defaultTitle": "",
-  "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/home/home/home.acss b/unpackage/dist/dev/mp-alipay/pages/home/home/home.acss
deleted file mode 100644
index a174320..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/home/home/home.acss
+++ /dev/null
@@ -1,630 +0,0 @@
-/* 水平间距 */
-/* 水平间距 */
-/************************************************************
-** 请将全局样式拷贝到项目的全局 CSS 文件或者当前页面的顶部 **
-** 否则页面将无法正常显示                                  **
-************************************************************/
-html.data-v-41854f8b {
-  font-size: 16px;
-}
-body.data-v-41854f8b {
-  margin: 0;
-  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
-    'Droid Sans', 'Helvetica Neue', 'Microsoft Yahei', sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-view.data-v-41854f8b,
-image.data-v-41854f8b,
-text.data-v-41854f8b {
-  box-sizing: border-box;
-  flex-shrink: 0;
-}
-#app.data-v-41854f8b {
-  width: 100vw;
-  height: 100vh;
-}
-.flex-row.data-v-41854f8b {
-  display: flex;
-  flex-direction: row;
-}
-.flex-col.data-v-41854f8b {
-  display: flex;
-  flex-direction: column;
-}
-.justify-start.data-v-41854f8b {
-  justify-content: flex-start;
-}
-.justify-end.data-v-41854f8b {
-  justify-content: flex-end;
-}
-.justify-center.data-v-41854f8b {
-  justify-content: center;
-}
-.justify-between.data-v-41854f8b {
-  justify-content: space-between;
-}
-.justify-around.data-v-41854f8b {
-  justify-content: space-around;
-}
-.justify-evenly.data-v-41854f8b {
-  justify-content: space-evenly;
-}
-.items-start.data-v-41854f8b {
-  align-items: flex-start;
-}
-.items-end.data-v-41854f8b {
-  align-items: flex-end;
-}
-.items-center.data-v-41854f8b {
-  align-items: center;
-}
-.items-baseline.data-v-41854f8b {
-  align-items: baseline;
-}
-.items-stretch.data-v-41854f8b {
-  align-items: stretch;
-}
-.self-start.data-v-41854f8b {
-  align-self: flex-start;
-}
-.self-end.data-v-41854f8b {
-  align-self: flex-end;
-}
-.self-center.data-v-41854f8b {
-  align-self: center;
-}
-.self-baseline.data-v-41854f8b {
-  align-self: baseline;
-}
-.self-stretch.data-v-41854f8b {
-  align-self: stretch;
-}
-.flex-1.data-v-41854f8b {
-  flex: 1 1 0%;
-}
-.flex-auto.data-v-41854f8b {
-  flex: 1 1 auto;
-}
-.grow.data-v-41854f8b {
-  flex-grow: 1;
-}
-.grow-0.data-v-41854f8b {
-  flex-grow: 0;
-}
-.shrink.data-v-41854f8b {
-  flex-shrink: 1;
-}
-.shrink-0.data-v-41854f8b {
-  flex-shrink: 0;
-}
-.relative.data-v-41854f8b {
-  position: relative;
-}
-.ml-2.data-v-41854f8b {
-  margin-left: 3.75rpx;
-}
-.mt-2.data-v-41854f8b {
-  margin-top: 3.75rpx;
-}
-.ml-4.data-v-41854f8b {
-  margin-left: 7.5rpx;
-}
-.mt-4.data-v-41854f8b {
-  margin-top: 7.5rpx;
-}
-.ml-6.data-v-41854f8b {
-  margin-left: 11.25rpx;
-}
-.mt-6.data-v-41854f8b {
-  margin-top: 11.25rpx;
-}
-.ml-8.data-v-41854f8b {
-  margin-left: 15rpx;
-}
-.mt-8.data-v-41854f8b {
-  margin-top: 15rpx;
-}
-.ml-10.data-v-41854f8b {
-  margin-left: 18.75rpx;
-}
-.mt-10.data-v-41854f8b {
-  margin-top: 18.75rpx;
-}
-.ml-12.data-v-41854f8b {
-  margin-left: 22.5rpx;
-}
-.mt-12.data-v-41854f8b {
-  margin-top: 22.5rpx;
-}
-.ml-14.data-v-41854f8b {
-  margin-left: 26.25rpx;
-}
-.mt-14.data-v-41854f8b {
-  margin-top: 26.25rpx;
-}
-.ml-16.data-v-41854f8b {
-  margin-left: 30rpx;
-}
-.mt-16.data-v-41854f8b {
-  margin-top: 30rpx;
-}
-.ml-18.data-v-41854f8b {
-  margin-left: 33.75rpx;
-}
-.mt-18.data-v-41854f8b {
-  margin-top: 33.75rpx;
-}
-.ml-20.data-v-41854f8b {
-  margin-left: 37.5rpx;
-}
-.mt-20.data-v-41854f8b {
-  margin-top: 37.5rpx;
-}
-.ml-22.data-v-41854f8b {
-  margin-left: 41.25rpx;
-}
-.mt-22.data-v-41854f8b {
-  margin-top: 41.25rpx;
-}
-.ml-24.data-v-41854f8b {
-  margin-left: 45rpx;
-}
-.mt-24.data-v-41854f8b {
-  margin-top: 45rpx;
-}
-.ml-26.data-v-41854f8b {
-  margin-left: 48.75rpx;
-}
-.mt-26.data-v-41854f8b {
-  margin-top: 48.75rpx;
-}
-.ml-28.data-v-41854f8b {
-  margin-left: 52.5rpx;
-}
-.mt-28.data-v-41854f8b {
-  margin-top: 52.5rpx;
-}
-.ml-30.data-v-41854f8b {
-  margin-left: 56.25rpx;
-}
-.mt-30.data-v-41854f8b {
-  margin-top: 56.25rpx;
-}
-.ml-32.data-v-41854f8b {
-  margin-left: 60rpx;
-}
-.mt-32.data-v-41854f8b {
-  margin-top: 60rpx;
-}
-.ml-34.data-v-41854f8b {
-  margin-left: 63.75rpx;
-}
-.mt-34.data-v-41854f8b {
-  margin-top: 63.75rpx;
-}
-.ml-36.data-v-41854f8b {
-  margin-left: 67.5rpx;
-}
-.mt-36.data-v-41854f8b {
-  margin-top: 67.5rpx;
-}
-.ml-38.data-v-41854f8b {
-  margin-left: 71.25rpx;
-}
-.mt-38.data-v-41854f8b {
-  margin-top: 71.25rpx;
-}
-.ml-40.data-v-41854f8b {
-  margin-left: 75rpx;
-}
-.mt-40.data-v-41854f8b {
-  margin-top: 75rpx;
-}
-.ml-42.data-v-41854f8b {
-  margin-left: 78.75rpx;
-}
-.mt-42.data-v-41854f8b {
-  margin-top: 78.75rpx;
-}
-.ml-44.data-v-41854f8b {
-  margin-left: 82.5rpx;
-}
-.mt-44.data-v-41854f8b {
-  margin-top: 82.5rpx;
-}
-.ml-46.data-v-41854f8b {
-  margin-left: 86.25rpx;
-}
-.mt-46.data-v-41854f8b {
-  margin-top: 86.25rpx;
-}
-.ml-48.data-v-41854f8b {
-  margin-left: 90rpx;
-}
-.mt-48.data-v-41854f8b {
-  margin-top: 90rpx;
-}
-.ml-50.data-v-41854f8b {
-  margin-left: 93.75rpx;
-}
-.mt-50.data-v-41854f8b {
-  margin-top: 93.75rpx;
-}
-.ml-52.data-v-41854f8b {
-  margin-left: 97.5rpx;
-}
-.mt-52.data-v-41854f8b {
-  margin-top: 97.5rpx;
-}
-.ml-54.data-v-41854f8b {
-  margin-left: 101.25rpx;
-}
-.mt-54.data-v-41854f8b {
-  margin-top: 101.25rpx;
-}
-.ml-56.data-v-41854f8b {
-  margin-left: 105rpx;
-}
-.mt-56.data-v-41854f8b {
-  margin-top: 105rpx;
-}
-.ml-58.data-v-41854f8b {
-  margin-left: 108.75rpx;
-}
-.mt-58.data-v-41854f8b {
-  margin-top: 108.75rpx;
-}
-.ml-60.data-v-41854f8b {
-  margin-left: 112.5rpx;
-}
-.mt-60.data-v-41854f8b {
-  margin-top: 112.5rpx;
-}
-.ml-62.data-v-41854f8b {
-  margin-left: 116.25rpx;
-}
-.mt-62.data-v-41854f8b {
-  margin-top: 116.25rpx;
-}
-.ml-64.data-v-41854f8b {
-  margin-left: 120rpx;
-}
-.mt-64.data-v-41854f8b {
-  margin-top: 120rpx;
-}
-.ml-66.data-v-41854f8b {
-  margin-left: 123.75rpx;
-}
-.mt-66.data-v-41854f8b {
-  margin-top: 123.75rpx;
-}
-.ml-68.data-v-41854f8b {
-  margin-left: 127.5rpx;
-}
-.mt-68.data-v-41854f8b {
-  margin-top: 127.5rpx;
-}
-.ml-70.data-v-41854f8b {
-  margin-left: 131.25rpx;
-}
-.mt-70.data-v-41854f8b {
-  margin-top: 131.25rpx;
-}
-.ml-72.data-v-41854f8b {
-  margin-left: 135rpx;
-}
-.mt-72.data-v-41854f8b {
-  margin-top: 135rpx;
-}
-.ml-74.data-v-41854f8b {
-  margin-left: 138.75rpx;
-}
-.mt-74.data-v-41854f8b {
-  margin-top: 138.75rpx;
-}
-.ml-76.data-v-41854f8b {
-  margin-left: 142.5rpx;
-}
-.mt-76.data-v-41854f8b {
-  margin-top: 142.5rpx;
-}
-.ml-78.data-v-41854f8b {
-  margin-left: 146.25rpx;
-}
-.mt-78.data-v-41854f8b {
-  margin-top: 146.25rpx;
-}
-.ml-80.data-v-41854f8b {
-  margin-left: 150rpx;
-}
-.mt-80.data-v-41854f8b {
-  margin-top: 150rpx;
-}
-.ml-82.data-v-41854f8b {
-  margin-left: 153.75rpx;
-}
-.mt-82.data-v-41854f8b {
-  margin-top: 153.75rpx;
-}
-.ml-84.data-v-41854f8b {
-  margin-left: 157.5rpx;
-}
-.mt-84.data-v-41854f8b {
-  margin-top: 157.5rpx;
-}
-.ml-86.data-v-41854f8b {
-  margin-left: 161.25rpx;
-}
-.mt-86.data-v-41854f8b {
-  margin-top: 161.25rpx;
-}
-.ml-88.data-v-41854f8b {
-  margin-left: 165rpx;
-}
-.mt-88.data-v-41854f8b {
-  margin-top: 165rpx;
-}
-.ml-90.data-v-41854f8b {
-  margin-left: 168.75rpx;
-}
-.mt-90.data-v-41854f8b {
-  margin-top: 168.75rpx;
-}
-.ml-92.data-v-41854f8b {
-  margin-left: 172.5rpx;
-}
-.mt-92.data-v-41854f8b {
-  margin-top: 172.5rpx;
-}
-.ml-94.data-v-41854f8b {
-  margin-left: 176.25rpx;
-}
-.mt-94.data-v-41854f8b {
-  margin-top: 176.25rpx;
-}
-.ml-96.data-v-41854f8b {
-  margin-left: 180rpx;
-}
-.mt-96.data-v-41854f8b {
-  margin-top: 180rpx;
-}
-.ml-98.data-v-41854f8b {
-  margin-left: 183.75rpx;
-}
-.mt-98.data-v-41854f8b {
-  margin-top: 183.75rpx;
-}
-.ml-100.data-v-41854f8b {
-  margin-left: 187.5rpx;
-}
-.mt-100.data-v-41854f8b {
-  margin-top: 187.5rpx;
-}
-.ml-13.data-v-41854f8b {
-  margin-left: 24.38rpx;
-}
-.ml-9.data-v-41854f8b {
-  margin-left: 16.88rpx;
-}
-.mt-7.data-v-41854f8b {
-  margin-top: 13.13rpx;
-}
-.mt-13.data-v-41854f8b {
-  margin-top: 24.38rpx;
-}
-.ml-21.data-v-41854f8b {
-  margin-left: 39.38rpx;
-}
-.page.data-v-41854f8b {
-  background-color: #fbf2e3;
-  height: 100%;
-  border-left: solid 1.88rpx #000000;
-  border-right: solid 1.88rpx #000000;
-  border-top: solid 1.88rpx #000000;
-  border-bottom: solid 1.88rpx #000000;
-  width: 100%;
-  overflow-y: auto;
-  overflow-x: hidden;
-}
-.section.data-v-41854f8b {
-  padding: 105rpx 0 307.5rpx;
-  background-image: url("https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=474410b7e0698835f71f490efeafcfeb.png");
-  background-size: 100% 100%;
-  background-repeat: no-repeat;
-}
-.text.data-v-41854f8b {
-  margin-right: 48.75rpx;
-  color: transparent;
-  font-size: 60rpx;
-  font-family: STZhongsong;
-  line-height: 57.36rpx;
-  background-image: linear-gradient(90deg, #ffe3a5 0%, #fff4dc 50%, #ffe3a5 100%);
-  -webkit-background-clip: text;
-}
-.image.data-v-41854f8b {
-  width: 286.88rpx;
-  height: 234.38rpx;
-}
-.pos.data-v-41854f8b {
-  position: absolute;
-  right: 37.5rpx;
-  bottom: 105rpx;
-}
-.section_2.data-v-41854f8b {
-  margin-top: -65.63rpx;
-  padding: 18.75rpx 7.5rpx 48.75rpx 13.13rpx;
-  background-color: #fff9ed;
-  border-radius: 37.5rpx 37.5rpx 0 0;
-}
-.font.data-v-41854f8b {
-  font-size: 45rpx;
-  font-family: STZhongsong;
-  line-height: 41.98rpx;
-  color: transparent;
-}
-.section_4.data-v-41854f8b {
-  padding: 15rpx 30rpx;
-  background-image: url("https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=d2d686bc17d9d76e7b320e5a4ea70952.png");
-  background-size: 100% 100%;
-  background-repeat: no-repeat;
-}
-.font_2.data-v-41854f8b {
-  font-size: 30rpx;
-  font-family: Inter;
-  line-height: 28.29rpx;
-  font-weight: 700;
-  color: #5c1416;
-}
-.text_5.data-v-41854f8b {
-  margin-left: 78.75rpx;
-  line-height: 28.56rpx;
-}
-.image_2.data-v-41854f8b {
-  width: 86.25rpx;
-  height: 86.25rpx;
-}
-.section_3.data-v-41854f8b {
-  padding: 15rpx 26.25rpx;
-  background-image: url("https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=aa376a23521cc37d71891264189a3902.png");
-  background-size: 100% 100%;
-  background-repeat: no-repeat;
-  width: 371.25rpx;
-}
-.pos_2.data-v-41854f8b {
-  position: absolute;
-  left: 0;
-  top: 0;
-}
-.text_4.data-v-41854f8b {
-  line-height: 28.31rpx;
-}
-.group.data-v-41854f8b {
-  padding: 0 30rpx;
-}
-.group_2.data-v-41854f8b {
-  padding: 0 7.5rpx;
-}
-.font_3.data-v-41854f8b {
-  font-size: 45rpx;
-  font-family: Open Sans;
-  line-height: 41.98rpx;
-  color: transparent;
-}
-.text_2.data-v-41854f8b {
-  background-image: linear-gradient(270deg, #7e0d11 0%, #a54747 50%, #7e0d11 100%);
-  -webkit-background-clip: text;
-  text-shadow: 3.75rpx 3.75rpx 3.75rpx #00000040;
-}
-.text_3.data-v-41854f8b {
-  margin-left: 26.25rpx;
-}
-.text_6.data-v-41854f8b {
-  line-height: 41.49rpx;
-}
-.group_3.data-v-41854f8b {
-  margin-top: 18.75rpx;
-}
-.font_4.data-v-41854f8b {
-  font-size: 30rpx;
-  font-family: Open Sans;
-  line-height: 28.29rpx;
-  font-weight: 700;
-  color: #9a714d;
-}
-.image_3.data-v-41854f8b {
-  width: 30rpx;
-  height: 30rpx;
-}
-.equal-division.data-v-41854f8b {
-  margin: 28.13rpx 30rpx 0 7.5rpx;
-}
-.section_5.data-v-41854f8b {
-  flex: 1 1 200.63rpx;
-}
-.equal-division-item.data-v-41854f8b {
-  padding: 11.25rpx 7.5rpx 33.75rpx 15rpx;
-  background-color: #fffef8;
-  border-radius: 9.38rpx;
-  height: 268.13rpx;
-  border-left: solid 1.88rpx #ac8d5d;
-  border-right: solid 1.88rpx #ac8d5d;
-  border-top: solid 1.88rpx #ac8d5d;
-  border-bottom: solid 1.88rpx #ac8d5d;
-}
-.image_4.data-v-41854f8b {
-  border-radius: 9.38rpx;
-  width: 159.99rpx;
-  height: 159.99rpx;
-}
-.font_5.data-v-41854f8b {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-  line-height: 26.16rpx;
-  color: #000000;
-}
-.text_7.data-v-41854f8b {
-  font-size: 28.13rpx;
-}
-.font_6.data-v-41854f8b {
-  font-size: 26.25rpx;
-  font-family: STFangsong;
-  line-height: 18rpx;
-  color: #ff0000;
-}
-.text_8.data-v-41854f8b {
-  -webkit-text-stroke: 1.88rpx #ff000040;
-}
-.view.data-v-41854f8b {
-  margin-top: 41.25rpx;
-}
-.text_9.data-v-41854f8b {
-  line-height: 41.53rpx;
-}
-.equal-division_2.data-v-41854f8b {
-  margin: 24.38rpx 30rpx 0 7.5rpx;
-}
-.group_4.data-v-41854f8b {
-  margin-top: 30rpx;
-}
-.text_10.data-v-41854f8b {
-  line-height: 42.75rpx;
-}
-.group_5.data-v-41854f8b {
-  margin-right: 11.25rpx;
-}
-.list.data-v-41854f8b {
-  margin: 0 30rpx;
-  padding: 5.63rpx 0 39.38rpx;
-  background-color: #f7e7c6;
-  border-radius: 18.75rpx;
-}
-.list-item.data-v-41854f8b {
-  padding: 31.88rpx 30rpx 16.88rpx;
-}
-.text_11.data-v-41854f8b {
-  line-height: 24.39rpx;
-}
-.font_7.data-v-41854f8b {
-  font-size: 22.5rpx;
-  font-family: Open Sans;
-  line-height: 20.89rpx;
-  color: #6c6c6c;
-}
-.text_12.data-v-41854f8b {
-  margin-left: 7.5rpx;
-}
-.font_8.data-v-41854f8b {
-  font-size: 22.5rpx;
-  font-family: Open Sans;
-  line-height: 18rpx;
-  color: #6c6c6c;
-}
-.text_13.data-v-41854f8b {
-  margin-left: 7.5rpx;
-  line-height: 16.54rpx;
-}
-.image_5.data-v-41854f8b {
-  width: 178.13rpx;
-  height: 127.5rpx;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/home/home/home.axml b/unpackage/dist/dev/mp-alipay/pages/home/home/home.axml
deleted file mode 100644
index 27dff80..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/home/home/home.axml
+++ /dev/null
@@ -1 +0,0 @@
-<view class="flex-col page data-v-41854f8b"><view class="flex-col justify-start items-end relative section data-v-41854f8b"><text class="text data-v-41854f8b">脸谱泥人</text><image class="image pos data-v-41854f8b" src="https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=32f7cfa041cbda3ed7428e65736bcf18.png"/></view><view class="flex-col relative section_2 data-v-41854f8b"><view class="flex-col data-v-41854f8b"><text class="self-start font text_2 text_3 data-v-41854f8b">热门精品</text><view class="mt-16 flex-col justify-start items-end self-stretch relative data-v-41854f8b"><view class="flex-row items-center section_4 data-v-41854f8b"><text class="font_2 text_5 data-v-41854f8b">非遗工坊</text><image class="shrink-0 image_2 ml-13 data-v-41854f8b" src="https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=f4de3d65b31c1d47278605b75adc3244.png"/></view><view class="flex-row items-center section_3 pos_2 data-v-41854f8b"><image class="image_2 data-v-41854f8b" src="https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=8dd1733f1fdb37d3bb4b1c1f6afb39d8.png"/><text class="font_2 text_4 ml-9 data-v-41854f8b">写真预约</text></view></view></view><view class="mt-24 flex-col group data-v-41854f8b"><view class="flex-row justify-between group_2 data-v-41854f8b"><text class="self-center font_3 text_2 text_6 data-v-41854f8b">推荐商品</text><view class="flex-row self-start group_3 data-v-41854f8b"><text class="font_4 data-v-41854f8b">更多</text><image class="shrink-0 image_3 data-v-41854f8b" src="https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=da2cb20b23a8885dcbb1fc7e94f13d8c.png"/></view></view><view class="flex-row equal-division data-v-41854f8b"><view class="flex-col section_5 equal-division-item data-v-41854f8b"><view class="flex-col items-start self-stretch data-v-41854f8b"><image class="image_4 data-v-41854f8b" src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/66d052e3d54496f19fdc6706/66d05ffa63765d0012a2cbee/9c2dd4462de150cf84cffea8f92edd48.png"/><text class="mt-2 font_5 text_7 data-v-41854f8b">琉璃发体验包</text></view><text class="self-start font_6 text_8 mt-7 data-v-41854f8b">¥750</text></view><view class="flex-col section_5 equal-division-item ml-9 data-v-41854f8b"><view class="flex-col items-start self-stretch data-v-41854f8b"><image class="image_4 data-v-41854f8b" src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/66d052e3d54496f19fdc6706/66d05ffa63765d0012a2cbee/9c2dd4462de150cf84cffea8f92edd48.png"/><text class="mt-2 font_5 text_7 data-v-41854f8b">琉璃发体验包</text></view><text class="self-start font_6 text_8 mt-7 data-v-41854f8b">¥750</text></view><view class="flex-col section_5 equal-division-item ml-9 data-v-41854f8b"><view class="flex-col items-start self-stretch data-v-41854f8b"><image class="image_4 data-v-41854f8b" src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/66d052e3d54496f19fdc6706/66d05ffa63765d0012a2cbee/9c2dd4462de150cf84cffea8f92edd48.png"/><text class="mt-2 font_5 text_7 data-v-41854f8b">琉璃发体验包</text></view><text class="self-start font_6 text_8 mt-7 data-v-41854f8b">¥750</text></view></view><view class="flex-row justify-between group_2 view data-v-41854f8b"><text class="self-center font_3 text_2 text_9 data-v-41854f8b">推荐服务</text><view class="flex-row self-start group_3 data-v-41854f8b"><text class="font_4 data-v-41854f8b">更多</text><image class="shrink-0 image_3 data-v-41854f8b" src="https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=da2cb20b23a8885dcbb1fc7e94f13d8c.png"/></view></view><view class="flex-row equal-division_2 data-v-41854f8b"><view class="flex-col section_5 equal-division-item data-v-41854f8b"><view class="flex-col items-start self-stretch data-v-41854f8b"><image class="image_4 data-v-41854f8b" src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/66d052e3d54496f19fdc6706/66d05ffa63765d0012a2cbee/9c2dd4462de150cf84cffea8f92edd48.png"/><text class="mt-2 font_5 text_7 data-v-41854f8b">琉璃发体验包</text></view><text class="self-start font_6 text_8 mt-7 data-v-41854f8b">¥750</text></view><view class="flex-col section_5 equal-division-item ml-9 data-v-41854f8b"><view class="flex-col items-start self-stretch data-v-41854f8b"><image class="image_4 data-v-41854f8b" src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/66d052e3d54496f19fdc6706/66d05ffa63765d0012a2cbee/9c2dd4462de150cf84cffea8f92edd48.png"/><text class="mt-2 font_5 text_7 data-v-41854f8b">琉璃发体验包</text></view><text class="self-start font_6 text_8 mt-7 data-v-41854f8b">¥750</text></view><view class="flex-col section_5 equal-division-item ml-9 data-v-41854f8b"><view class="flex-col items-start self-stretch data-v-41854f8b"><image class="image_4 data-v-41854f8b" src="https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com/66d052e3d54496f19fdc6706/66d05ffa63765d0012a2cbee/9c2dd4462de150cf84cffea8f92edd48.png"/><text class="mt-2 font_5 text_7 data-v-41854f8b">琉璃发体验包</text></view><text class="self-start font_6 text_8 mt-7 data-v-41854f8b">¥750</text></view></view><view class="flex-row justify-between items-end group_4 data-v-41854f8b"><text class="font text_2 text_10 data-v-41854f8b">活动资讯</text><view class="flex-row group_5 data-v-41854f8b"><text class="font_4 data-v-41854f8b">更多</text><image class="shrink-0 image_3 data-v-41854f8b" src="https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=da2cb20b23a8885dcbb1fc7e94f13d8c.png"/></view></view></view><view class="mt-24 flex-col list data-v-41854f8b"><view a:for="{{a}}" a:for-item="item" a:key="a" class="flex-row items-center list-item data-v-41854f8b"><view class="flex-col items-start flex-1 data-v-41854f8b"><text class="font_5 text_11 data-v-41854f8b">“五色五育”研学——端午香囊篇</text><text class="font_7 text_12 mt-13 data-v-41854f8b">为进一步深入贯彻落实习近平总书记...</text><text class="font_8 text_13 mt-13 data-v-41854f8b">2024-08-04</text></view><image class="shrink-0 image_5 ml-21 data-v-41854f8b" src="https://ide.code.fun/api/image?token=6708b7af1511d900114a2edd&name=42a86bab4dc94295706fbf1b3480c571.png"/></view></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/home/home/home.js b/unpackage/dist/dev/mp-alipay/pages/home/home/home.js
deleted file mode 100644
index e01f4f3..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/home/home/home.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-const common_vendor = require("../../../common/vendor.js");
-const _sfc_main = {
-  __name: "home",
-  setup(__props) {
-    const items = common_vendor.ref([null, null, null, null]);
-    return (_ctx, _cache) => {
-      return {
-        a: common_vendor.f(items.value, (item, index, i0) => {
-          return {
-            a: index
-          };
-        })
-      };
-    };
-  }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-41854f8b"]]);
-my.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-alipay/pages/home/home/home.json b/unpackage/dist/dev/mp-alipay/pages/home/home/home.json
deleted file mode 100644
index f001b2f..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/home/home/home.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "defaultTitle": "",
-  "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/mine/main/main.acss b/unpackage/dist/dev/mp-alipay/pages/mine/main/main.acss
index 81dcea0..3b98714 100644
--- a/unpackage/dist/dev/mp-alipay/pages/mine/main/main.acss
+++ b/unpackage/dist/dev/mp-alipay/pages/mine/main/main.acss
@@ -401,39 +401,39 @@ text.data-v-8172b2ba {
 .mt-100.data-v-8172b2ba {
   margin-top: 187.5rpx;
 }
-.mt-45.data-v-8172b2ba {
-  margin-top: 84.38rpx;
-}
-.ml-17.data-v-8172b2ba {
-  margin-left: 31.88rpx;
+.mt-37.data-v-8172b2ba {
+  margin-top: 69.38rpx;
 }
 .ml-5.data-v-8172b2ba {
   margin-left: 9.38rpx;
 }
-.mt-27.data-v-8172b2ba {
-  margin-top: 50.63rpx;
+.mt-5.data-v-8172b2ba {
+  margin-top: 9.38rpx;
 }
 .ml-7.data-v-8172b2ba {
   margin-left: 13.13rpx;
 }
 .page.data-v-8172b2ba {
-  padding: 78.75rpx 9.38rpx 675rpx;
-  background-color: #fff9ed;
+  background-color: #ffffff;
   width: 100%;
   overflow-y: auto;
   overflow-x: hidden;
-  height: 100%;
+  overflow: hidden;
 }
-.group.data-v-8172b2ba {
-  padding: 0 20.63rpx;
+.section.data-v-8172b2ba {
+  padding: 213.75rpx 0 105rpx;
+  background-image: url("https://ide.code.fun/api/image?token=6711ccc71511d900114adddf&name=608ce961205c6b6c4a5f231d50bcfd3e.png");
+  background-size: 100% 100%;
+  background-repeat: no-repeat;
 }
 .image.data-v-8172b2ba {
   border-radius: 50%;
   width: 150rpx;
   height: 151.88rpx;
 }
-.group_2.data-v-8172b2ba {
-  margin-left: 33.75rpx;
+.group.data-v-8172b2ba {
+  margin-left: 34.67rpx;
+  margin-top: 32.06rpx;
 }
 .text.data-v-8172b2ba {
   color: #000000;
@@ -443,9 +443,9 @@ text.data-v-8172b2ba {
 }
 .text-wrapper.data-v-8172b2ba {
   padding: 23.34rpx 0 23.85rpx;
-  background-color: #ffbe74;
+  background-color: #fbdab4;
   border-radius: 18.75rpx;
-  width: 221.25rpx;
+  width: 222.34rpx;
 }
 .font.data-v-8172b2ba {
   font-size: 26.25rpx;
@@ -458,68 +458,62 @@ text.data-v-8172b2ba {
   line-height: 25.93rpx;
 }
 .text-wrapper_2.data-v-8172b2ba {
-  margin-left: 24.38rpx;
+  margin-left: 24.49rpx;
+  margin-top: 78.75rpx;
   padding: 23.27rpx 0 23.85rpx;
-  background-color: #ffbe74;
+  background-color: #ffdab1;
   border-radius: 18.75rpx;
-  width: 221.25rpx;
+  width: 222.34rpx;
   height: 73.13rpx;
 }
 .text_3.data-v-8172b2ba {
   font-size: 28.13rpx;
   line-height: 26.03rpx;
 }
+.group_2.data-v-8172b2ba {
+  margin-top: -48.75rpx;
+  padding-left: 26.25rpx;
+  padding-right: 26.23rpx;
+}
 .equal-division.data-v-8172b2ba {
-  margin-right: 3.77rpx;
+  padding: 14.38rpx 18.92rpx 31.05rpx;
+  background-color: #fff1e2;
+  border-radius: 9.38rpx;
 }
-.section.data-v-8172b2ba {
-  flex: 1 1 120rpx;
+.group_3.data-v-8172b2ba {
+  flex: 1 1 131.93rpx;
 }
-.section_1.data-v-8172b2ba {
-  padding: 5.44rpx 0 20.42rpx;
-  background-color: #fffef8;
-  border-radius: 18.75rpx;
-  height: 146.25rpx;
+.group_1.data-v-8172b2ba {
+  padding: 9.99rpx 0 9.99rpx;
 }
 .image_2.data-v-8172b2ba {
-  width: 96rpx;
-  height: 96rpx;
+  width: 95.63rpx;
+  height: 95.63rpx;
 }
 .text_4.data-v-8172b2ba {
   line-height: 24.07rpx;
 }
-.section_6.data-v-8172b2ba {
-  padding: 5.44rpx 0 20.34rpx;
-  background-color: #fffef8;
-  border-radius: 18.75rpx;
-  height: 146.25rpx;
+.group_4.data-v-8172b2ba {
+  padding: 9.99rpx 0 11.79rpx;
 }
 .text_1.data-v-8172b2ba {
   line-height: 24.23rpx;
 }
-.equal-division-item_2.data-v-8172b2ba {
-  padding: 5.44rpx 0 20.32rpx;
-  background-color: #fffef8;
-  border-radius: 18.75rpx;
-  height: 146.25rpx;
+.group_5.data-v-8172b2ba {
+  padding: 9.99rpx 0 11.76rpx;
 }
-.section_3.data-v-8172b2ba {
-  padding: 5.44rpx 0 20.51rpx 10.22rpx;
-  background-color: #fffef8;
-  border-radius: 18.75rpx;
-  height: 146.25rpx;
+.group_6.data-v-8172b2ba {
+  padding: 9.99rpx 6.64rpx 11.76rpx 29.66rpx;
+}
+.group_7.data-v-8172b2ba {
+  padding: 10.01rpx 0 11.94rpx;
 }
 .text_9.data-v-8172b2ba {
   font-size: 24.38rpx;
   line-height: 22.52rpx;
 }
-.list.data-v-8172b2ba {
-  padding-left: 22.5rpx;
-  padding-right: 16.88rpx;
-}
-.section_4.data-v-8172b2ba {
-  margin-right: 5.63rpx;
-  padding: 22.5rpx 26.27rpx;
+.section_2.data-v-8172b2ba {
+  padding: 22.5rpx 26.61rpx;
   background-color: #fffef8;
   border-radius: 18.75rpx;
 }
@@ -534,22 +528,42 @@ text.data-v-8172b2ba {
   color: #000000;
 }
 .image_4.data-v-8172b2ba {
-  margin-right: 5.61rpx;
   width: 48.75rpx;
   height: 48.75rpx;
 }
+.image_5.data-v-8172b2ba {
+  margin-right: 6.38rpx;
+}
+.list-divider.data-v-8172b2ba {
+  background-color: #0000002e;
+  height: 1.89rpx;
+}
+.section_4.data-v-8172b2ba {
+  padding: 22.95rpx 26.61rpx 22.05rpx;
+  background-color: #fffef8;
+  border-radius: 18.75rpx;
+}
 .text_5.data-v-8172b2ba {
   line-height: 27.86rpx;
 }
-.section_2.data-v-8172b2ba {
-  margin-left: 5.63rpx;
-  padding: 22.5rpx 20.63rpx;
+.image_6.data-v-8172b2ba {
+  margin-right: 6.38rpx;
+  width: 48.75rpx;
+  height: 50.63rpx;
+}
+.list-item_2.data-v-8172b2ba {
+  padding: 22.5rpx;
   background-color: #fffef8;
   border-radius: 18.75rpx;
 }
+.image_8.data-v-8172b2ba {
+  filter: drop-shadow(0rpx 7.5rpx 3.75rpx #00000040);
+  width: 43.13rpx;
+  height: 43.13rpx;
+}
 .text_6.data-v-8172b2ba {
   line-height: 27.11rpx;
 }
-.image_5.data-v-8172b2ba {
-  margin-right: 11.27rpx;
+.image_7.data-v-8172b2ba {
+  margin-right: 10.48rpx;
 }
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/mine/main/main.axml b/unpackage/dist/dev/mp-alipay/pages/mine/main/main.axml
index 962eb4e..6be061f 100644
--- a/unpackage/dist/dev/mp-alipay/pages/mine/main/main.axml
+++ b/unpackage/dist/dev/mp-alipay/pages/mine/main/main.axml
@@ -1 +1 @@
-<view class="flex-col page data-v-8172b2ba"><view class="flex-row justify-center items-end group data-v-8172b2ba"><image class="image data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=c6a8c76ad09308a15eabe4f0e432b5d8.png"/><view class="flex-col group_2 data-v-8172b2ba"><text class="self-start text data-v-8172b2ba">默认用户</text><view class="flex-col justify-start items-center self-stretch text-wrapper mt-6 data-v-8172b2ba"><text class="font text_2 data-v-8172b2ba">剩余积分:0</text></view></view><view class="flex-col justify-start items-center text-wrapper_2 data-v-8172b2ba"><text class="font text_3 data-v-8172b2ba">优惠卷:0 张</text></view></view><view class="flex-col mt-45 data-v-8172b2ba"><view class="flex-row equal-division data-v-8172b2ba"><view class="flex-col items-center section section_1 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=86891c2a1d3cd7e9ad8ec9ac6f0a6224.png"/><text class="font text_4 data-v-8172b2ba">总订单</text></view><view class="flex-col items-center section section_6 ml-17 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=0690c462710dfee0dec347c8f9c3b1c5.png"/><text class="font text_1 data-v-8172b2ba">待付款</text></view><view class="flex-col items-center section equal-division-item_2 ml-17 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=700f5ccfeefc6846274157a3a74aaa40.png"/><text class="font data-v-8172b2ba">待发货</text></view><view class="flex-col items-center section equal-division-item_2 ml-17 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=f0db0e3a604b764cb513b4a63d89142a.png"/><text class="font data-v-8172b2ba">待收货</text></view><view class="flex-col items-start section section_3 ml-17 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=d21cfba248af89d85c54a231f8e8d2a7.png"/><text class="font text_9 data-v-8172b2ba">退款/售后</text></view></view><view class="flex-col list mt-27 data-v-8172b2ba"><view class="flex-row justify-between items-center section_4 data-v-8172b2ba"><view class="flex-row items-center data-v-8172b2ba"><image class="shrink-0 image_3 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=51ca8598d22e11502bd5b9691542ff69.png"/><text class="font_2 ml-4 data-v-8172b2ba">地址列表</text></view><image class="image_4 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=2703c94ee6907434f49a8ef92bbd8b79.png"/></view><view class="flex-row justify-between items-center section_4 mt-27 data-v-8172b2ba"><view class="flex-row items-center data-v-8172b2ba"><image class="shrink-0 image_3 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=3dfd39007b1a62403cca36442f44cbf6.png"/><text class="font_2 text_5 ml-5 data-v-8172b2ba">联系人列表</text></view><image class="image_4 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=2703c94ee6907434f49a8ef92bbd8b79.png"/></view><view class="flex-row justify-between items-center section_2 mt-27 data-v-8172b2ba"><view class="flex-row items-center data-v-8172b2ba"><image class="shrink-0 image_3 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=aaa71b80b36b1105abb2df0709f45cf4.png"/><text class="font_2 text_6 ml-7 data-v-8172b2ba">设置</text></view><image class="image_4 image_5 data-v-8172b2ba" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=2703c94ee6907434f49a8ef92bbd8b79.png"/></view></view></view></view>
\ No newline at end of file
+<view class="flex-col page data-v-8172b2ba"><view class="flex-row section data-v-8172b2ba"><image class="self-center image data-v-8172b2ba" src="{{a}}"/><view class="flex-col self-start group data-v-8172b2ba"><text class="self-start text data-v-8172b2ba">默认用户</text><view class="flex-col justify-start items-center self-stretch text-wrapper mt-6 data-v-8172b2ba"><text class="font text_2 data-v-8172b2ba">剩余积分:0</text></view></view><view class="flex-col justify-start items-center self-start text-wrapper_2 data-v-8172b2ba"><text class="font text_3 data-v-8172b2ba">优惠卷:0 张</text></view></view><view class="flex-col relative group_2 data-v-8172b2ba"><view class="flex-row equal-division data-v-8172b2ba"><view class="flex-col items-center group_3 group_1 data-v-8172b2ba" onTap="{{c}}"><image class="image_2 data-v-8172b2ba" src="{{b}}"/><text class="font text_4 data-v-8172b2ba">总订单</text></view><view class="flex-col items-center group_3 group_4 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="{{d}}"/><text class="font text_1 data-v-8172b2ba">待付款</text></view><view class="flex-col items-center group_3 group_5 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="{{e}}"/><text class="font data-v-8172b2ba">待发货</text></view><view class="flex-col items-start group_3 group_6 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="{{f}}"/><text class="font data-v-8172b2ba">待收货</text></view><view class="flex-col items-center group_3 group_7 data-v-8172b2ba"><image class="image_2 data-v-8172b2ba" src="{{g}}"/><text class="font text_9 data-v-8172b2ba">退款/售后</text></view></view><view class="flex-col mt-37 data-v-8172b2ba"><view class="flex-row justify-between items-center section_2 data-v-8172b2ba"><view class="flex-row items-center data-v-8172b2ba"><image class="shrink-0 image_3 data-v-8172b2ba" src="{{h}}"/><text class="font_2 ml-5 data-v-8172b2ba">地址列表</text></view><image class="image_4 image_5 data-v-8172b2ba" src="{{i}}"/></view><view class="list-divider mt-5 data-v-8172b2ba"></view><view class="flex-row justify-between items-center section_4 mt-5 data-v-8172b2ba" onTap="{{l}}"><view class="flex-row items-center data-v-8172b2ba"><image class="shrink-0 image_3 data-v-8172b2ba" src="{{j}}"/><text class="font_2 text_5 ml-5 data-v-8172b2ba">联系人列表</text></view><image class="image_6 data-v-8172b2ba" src="{{k}}"/></view><view class="list-divider mt-5 data-v-8172b2ba"></view><view class="flex-row justify-between items-center list-item_2 mt-5 data-v-8172b2ba" onTap="{{o}}"><view class="flex-row items-center data-v-8172b2ba"><image class="shrink-0 image_8 data-v-8172b2ba" src="{{m}}"/><text class="font_2 text_6 ml-7 data-v-8172b2ba">设置</text></view><image class="image_4 image_7 data-v-8172b2ba" src="{{n}}"/></view></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/mine/main/main.js b/unpackage/dist/dev/mp-alipay/pages/mine/main/main.js
index f4da4f9..9b33f26 100644
--- a/unpackage/dist/dev/mp-alipay/pages/mine/main/main.js
+++ b/unpackage/dist/dev/mp-alipay/pages/mine/main/main.js
@@ -1,8 +1,46 @@
 "use strict";
 const common_vendor = require("../../../common/vendor.js");
-const _sfc_main = {};
-function _sfc_render(_ctx, _cache) {
-  return {};
-}
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-8172b2ba"]]);
+const store_userStore = require("../../../store/userStore.js");
+const common_assets = require("../../../common/assets.js");
+const _sfc_main = {
+  __name: "main",
+  setup(__props) {
+    const goto = () => {
+      common_vendor.index.navigateTo({
+        url: "/pages/mine/mineorders/mineorders"
+      });
+    };
+    store_userStore.userStore();
+    const goToText = () => {
+      common_vendor.index.navigateTo({
+        url: "/pages/mine/Contact/Contact"
+      });
+    };
+    const goTo = () => {
+      common_vendor.index.navigateTo({
+        url: "/pages/mine/bookings/booking"
+      });
+    };
+    return (_ctx, _cache) => {
+      return {
+        a: common_vendor.unref(common_assets.avator),
+        b: common_vendor.unref(common_assets.dingdan),
+        c: common_vendor.o(($event) => goto()),
+        d: common_vendor.unref(common_assets.qianbao),
+        e: common_vendor.unref(common_assets.daifahuo),
+        f: common_vendor.unref(common_assets.daishouhuo),
+        g: common_vendor.unref(common_assets.tuikuan),
+        h: common_vendor.unref(common_assets.address),
+        i: common_vendor.unref(common_assets.you$1),
+        j: common_vendor.unref(common_assets.lianxiren_s),
+        k: common_vendor.unref(common_assets.you$1),
+        l: common_vendor.o(($event) => goToText()),
+        m: common_vendor.unref(common_assets.setting_s),
+        n: common_vendor.unref(common_assets.you$1),
+        o: common_vendor.o(($event) => goTo())
+      };
+    };
+  }
+};
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-8172b2ba"], ["__file", "D:/jiangchengfeiyi-xiaochengxu/pages/mine/main/main.vue"]]);
 my.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.acss b/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.acss
index 163b01d..09b207f 100644
--- a/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.acss
+++ b/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.acss
@@ -401,29 +401,47 @@ text.data-v-7e3c386d {
 .mt-100.data-v-7e3c386d {
   margin-top: 187.5rpx;
 }
+.scrollable-contentType.data-v-7e3c386d {
+  height: 65vh;
+}
+.scrollable-content.data-v-7e3c386d {
+  height: 56vh;
+  /* 100px 是头部和底部的高度之和 */
+}
 .ml-15.data-v-7e3c386d {
   margin-left: 28.13rpx;
 }
+.ml-3.data-v-7e3c386d {
+  margin-left: 5.63rpx;
+}
 .mt-3.data-v-7e3c386d {
   margin-top: 5.63rpx;
+  text-align: center;
+}
+.mt-13.data-v-7e3c386d {
+  margin-top: 17.38rpx;
 }
 .mt-5.data-v-7e3c386d {
   margin-top: 9.38rpx;
 }
-.mt-13.data-v-7e3c386d {
-  margin-top: 24.38rpx;
-}
 .page.data-v-7e3c386d {
   background-color: #f5f5dc;
   width: 100%;
   overflow-y: auto;
   overflow-x: hidden;
-  height: 100%;
+  height: 100vh;
+  overflow: hidden;
 }
 .section.data-v-7e3c386d {
   padding: 22.5rpx 39.28rpx 16.88rpx;
   background-color: #f7de98;
 }
+.pos_8.data-v-7e3c386d {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+}
 .text.data-v-7e3c386d {
   color: #c1651a;
   font-size: 37.5rpx;
@@ -431,109 +449,118 @@ text.data-v-7e3c386d {
   line-height: 36.19rpx;
 }
 .section_2.data-v-7e3c386d {
-  padding: 7.5rpx 30.43rpx;
+  padding: 5.63rpx 15rpx 8.44rpx;
   background-color: #ffffff;
   border-radius: 28.13rpx;
   height: 63.75rpx;
+  width: 500.69rpx;
 }
 .image.data-v-7e3c386d {
-  width: 48.75rpx;
-  height: 48.75rpx;
+  width: 50.63rpx;
+  height: 50.63rpx;
 }
 .text-wrapper.data-v-7e3c386d {
-  margin-right: 5.31rpx;
+  margin-right: 17.42rpx;
+}
+.font.data-v-7e3c386d {
+  font-size: 26.25rpx;
+  font-family: STFangsong;
+  line-height: 18rpx;
+  color: #ff0000;
 }
 .image-wrapper.data-v-7e3c386d {
-  margin-left: 22.5rpx;
-  margin-right: 24.38rpx;
   background-color: #ffffff;
   border-radius: 28.13rpx;
   overflow: hidden;
   border: solid 9.38rpx #ffffff;
 }
+.pos_1.data-v-7e3c386d {
+  position: absolute;
+  left: 22.5rpx;
+  right: 24.38rpx;
+  top: 118.13rpx;
+}
 .image_2.data-v-7e3c386d {
   width: 91.25vw;
   height: 37.5vw;
 }
-.group.data-v-7e3c386d {
-  margin-top: 22.5rpx;
-}
 .section_3.data-v-7e3c386d {
+  padding: 8.44rpx 5.63rpx 750rpx;
   background-color: #f7de98;
   width: 151.88rpx;
 }
-.group_1.data-v-7e3c386d {
-  width: 142.5rpx;
-}
-.pos_5.data-v-7e3c386d {
+.pos_9.data-v-7e3c386d {
   position: absolute;
-  left: 5.63rpx;
-  top: 5.63rpx;
+  left: 0;
+  top: 440.63rpx;
 }
-.section_6.data-v-7e3c386d {
+.group.data-v-7e3c386d {
+  margin: auto;
+  width: 137.81rpx;
+}
+.list-item.data-v-7e3c386d {
   padding: 11.25rpx 0 9.94rpx;
   background-color: #fffef8;
   border-radius: 9.38rpx;
 }
-.list-item_1.data-v-7e3c386d:first-child {
+.list-item.data-v-7e3c386d:first-child {
   margin-top: 0;
 }
 .image_3.data-v-7e3c386d {
   border-radius: 0rpx 9.38rpx 9.38rpx 0rpx;
-  width: 48.75rpx;
-  height: 48.75rpx;
+  width: 60rpx;
+  height: 60rpx;
 }
-.font_3.data-v-7e3c386d {
-  font-size: 30rpx;
+.font_4.data-v-7e3c386d {
+  font-size: 25rpx;
   font-family: STFangsong;
-  line-height: 28.65rpx;
+  line-height: 28.26rpx;
   color: #c1651a;
 }
-.text_5.data-v-7e3c386d {
-  line-height: 28.26rpx;
-}
 .section_4.data-v-7e3c386d {
-  margin-right: 7.5rpx;
+  padding-bottom: 879.38rpx;
   background-color: #f8e8c1;
   border-radius: 0rpx 18.75rpx 0rpx 0rpx;
-  height: 760.88rpx;
+  width: 600.13rpx;
+}
+.pos_4.data-v-7e3c386d {
+  position: absolute;
+  right: 0;
+  top: 440.63rpx;
 }
 .section_5.data-v-7e3c386d {
   padding: 18.06rpx 16.24rpx 14.94rpx;
   background-color: #fffef8;
   border-radius: 0rpx 18.75rpx 0rpx 0rpx;
+  width: 598.13rpx;
 }
 .font_2.data-v-7e3c386d {
   font-size: 30rpx;
   font-family: STFangsong;
-  line-height: 28.65rpx;
+  line-height: 28.26rpx;
   color: #000000;
 }
-.text_3.data-v-7e3c386d {
-  line-height: 28.26rpx;
-}
-.font.data-v-7e3c386d {
+.font_3.data-v-7e3c386d {
   font-size: 22.5rpx;
   font-family: STFangsong;
   line-height: 21.56rpx;
   color: #727272;
 }
-.text_4.data-v-7e3c386d {
+.text_3.data-v-7e3c386d {
   line-height: 21.15rpx;
 }
-.pos.data-v-7e3c386d {
+.pos_5.data-v-7e3c386d {
   position: absolute;
-  border: 3px solid red;
-  height: 500rpx;
   right: 15rpx;
-  top: 99.38rpx;
+  top: 543.75rpx;
 }
-.list-item.data-v-7e3c386d {
-  padding: 20.63rpx 27.88rpx 22.5rpx;
+.section_9.data-v-7e3c386d {
+  padding: 20.63rpx 22.88rpx 22.5rpx;
   background-color: #fffef8;
   border-radius: 9.38rpx;
+  right: 13.13rpx;
 }
-.list-item.data-v-7e3c386d:first-child {
+.list-item_2.data-v-7e3c386d:first-child {
   margin-top: 0;
 }
 .image_4.data-v-7e3c386d {
@@ -541,20 +568,14 @@ text.data-v-7e3c386d {
   width: 131.25rpx;
   height: 131.25rpx;
 }
-.group_5.data-v-7e3c386d {
+.group_3.data-v-7e3c386d {
   margin-left: 24.84rpx;
 }
-.font_4.data-v-7e3c386d {
-  font-size: 26.25rpx;
-  font-family: STFangsong;
-  line-height: 18rpx;
-  color: #ff0000;
-}
-.text_7.data-v-7e3c386d {
-  -webkit-text-stroke: 1.88rpx #ff000040;
+.text_5.data-v-7e3c386d {
+  line-height: 28.65rpx;
 }
 .image_5.data-v-7e3c386d {
-  margin: 75rpx 3.77rpx 0 96.71rpx;
+  margin: 75rpx 5.63rpx 0 107.96rpx;
   border-radius: 9.38rpx;
   width: 56.25rpx;
   height: 56.25rpx;
diff --git a/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.axml b/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.axml
index 0b5e9a0..9978a0d 100644
--- a/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.axml
+++ b/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.axml
@@ -1 +1 @@
-<view class="flex-col page data-v-7e3c386d"><view class="flex-col data-v-7e3c386d"><view class="flex-row items-center section data-v-7e3c386d"><text class="text data-v-7e3c386d">商品</text><view class="flex-row section_2 ml-15 data-v-7e3c386d"><image class="image data-v-7e3c386d" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=348b14e68c9ce02a3b9fe870f131c4c7.png"/><input class="text-wrapper ml-2 data-v-7e3c386d" placeholder="请输入想要搜索的商品"/></view></view><view class="flex-col justify-start items-center image-wrapper mt-3 data-v-7e3c386d"><image class="shrink-0 image_2 data-v-7e3c386d" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=bf3dfe8c3d572943e00870d83c40b20c.png"/></view></view><view class="flex-row relative group data-v-7e3c386d"><view class="shrink-0 section_3 data-v-7e3c386d"></view><view class="flex-col shrink-0 group_1 pos_5 data-v-7e3c386d"><view a:for="{{a}}" a:for-item="item" a:key="c" class="flex-col items-center section_6 list-item_1 mt-4 data-v-7e3c386d"><image class="image_3 data-v-7e3c386d" src="{{item.a}}"/><text class="font_3 text_5 mt-3 data-v-7e3c386d">{{item.b}}</text></view></view><view class="flex-col justify-start flex-1 relative section_4 data-v-7e3c386d"><view class="flex-col items-start section_5 data-v-7e3c386d"><text class="font_2 text_3 data-v-7e3c386d">材料包</text><text class="font text_4 mt-6 data-v-7e3c386d">提供材料自行DIY</text></view></view><view class="flex-col shrink-0 pos data-v-7e3c386d"><scroll-view class="data-v-7e3c386d" style="height:1000rpx" scroll-y="true"><view a:for="{{b}}" a:for-item="item" a:key="e" class="flex-row list-item mt-5 data-v-7e3c386d"><image class="self-center image_4 data-v-7e3c386d" src="{{item.a}}"/><view class="flex-col items-start self-center group_5 data-v-7e3c386d"><text class="font_2 data-v-7e3c386d">{{item.b}}</text><text class="font mt-13 data-v-7e3c386d">{{item.c}}</text><text class="font_4 text_7 mt-13 data-v-7e3c386d">¥{{item.d}}</text></view><image class="self-start image_5 data-v-7e3c386d" src="https://ide.code.fun/api/image?token=670c83a81511d900114a6d7e&name=806f54ff88b61d172a611e704c80a85c.png"/></view></scroll-view></view></view></view>
\ No newline at end of file
+<view class="flex-row relative page data-v-7e3c386d"><view class="flex-row items-center section pos_8 data-v-7e3c386d"><text class="text data-v-7e3c386d">商品</text><view class="flex-row items-center section_2 ml-15 data-v-7e3c386d"><image class="image data-v-7e3c386d" src="{{a}}"/><input class="text-wrapper ml-3 data-v-7e3c386d" placeholder="请输入内容"/></view></view><view class="flex-col justify-start items-center image-wrapper pos_1 data-v-7e3c386d"><image class="shrink-0 image_2 data-v-7e3c386d" src="{{''}}"/></view><view class="flex-col justify-start section_3 pos_9 data-v-7e3c386d"><scroll-view scroll-y class="scrollable-contentType data-v-7e3c386d"><view class="flex-col group data-v-7e3c386d"><view a:for="{{b}}" a:for-item="item" a:key="c" class="flex-col items-center list-item mt-5 data-v-7e3c386d" style="{{item.d}}" onTap="{{item.e}}"><image class="image_3 data-v-7e3c386d" src="{{item.a}}"/><text class="font_4 mt-3 data-v-7e3c386d">{{item.b}}</text></view></view></scroll-view></view><view class="flex-col justify-start section_4 pos_4 data-v-7e3c386d"><view class="flex-col items-start section_5 data-v-7e3c386d"><text class="font_2 data-v-7e3c386d">材料包</text><text class="font_3 text_3 mt-6 data-v-7e3c386d">提供材料自行DIY</text></view></view><view class="flex-col pos_5 data-v-7e3c386d"><scroll-view scroll-y class="scrollable-content data-v-7e3c386d"><view a:for="{{c}}" a:for-item="item" a:key="e" class="flex-row section_9 list-item_2 mt-5 data-v-7e3c386d" onTap="{{item.f}}"><image class="self-center image_4 data-v-7e3c386d" src="{{item.a}}"/><view style="width:220rpx" class="flex-col items-start self-center group_3 data-v-7e3c386d"><text class="font_2 text_5 data-v-7e3c386d">{{item.b}}</text><text class="font_3 mt-13 data-v-7e3c386d">{{item.c}}</text><text class="font mt-13 data-v-7e3c386d">¥{{item.d}}</text></view><image class="self-start image_5 data-v-7e3c386d" src="{{d}}"/></view></scroll-view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.js b/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.js
index 6d018b8..cca5b70 100644
--- a/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.js
+++ b/unpackage/dist/dev/mp-alipay/pages/store-home/main/main.js
@@ -1,102 +1,108 @@
 "use strict";
 const common_vendor = require("../../../common/vendor.js");
+const api_request = require("../../../api/request.js");
 const common_assets = require("../../../common/assets.js");
 const _sfc_main = {
   __name: "main",
   setup(__props) {
-    const sort = common_vendor.ref([
-      {
-        name: "材料包",
-        imgurl: common_assets.img1
-      },
-      {
-        name: "手持物",
-        imgurl: common_assets.img2
-      },
-      {
-        name: "头饰",
-        imgurl: common_assets.img3
-      },
-      {
-        name: "定制",
-        imgurl: common_assets.img4
-      },
-      {
-        name: "积分商城",
-        imgurl: common_assets.img5
+    const currentColor = common_vendor.ref(0);
+    const sort = common_vendor.ref([{}]);
+    const headerList = common_vendor.ref([{}]);
+    const productList = common_vendor.ref([{}]);
+    const cookie = wx.getStorageSync("cookie");
+    common_vendor.onMounted(async () => {
+      console.log("cookie--->", cookie);
+      await Getsort();
+      await changeTypes(sort.value[0], 0);
+    });
+    const Getsort = async () => {
+      const res = await common_vendor.index.request({
+        url: api_request.baseUrl + "/category/list",
+        method: "POST",
+        header: {
+          cookie
+        }
+      });
+      if (res.data.code === 1) {
+        for (let key in res.data.data) {
+          sort.value[key] = {
+            //类别列表
+            name: res.data.data[key].typeName,
+            imgurl: res.data.data[key].typeUrl,
+            id: res.data.data[key].id
+          };
+          headerList.value[key] = {
+            name: res.data.data[key].typeName,
+            typeIntro: res.data.data[key].typeIntro
+          };
+        }
+      } else {
+        common_vendor.index.showToast({
+          //提示请求错误
+          title: "请求商品分类错误",
+          icon: "none",
+          duration: 2e3
+        });
       }
-    ]);
-    const product_list = common_vendor.ref([
-      {
-        product_name: "琉璃发簪体验包",
-        detail: "非遗材料包,匠心独运",
-        value: "750",
-        imgurl: common_assets.product_img
-      },
-      {
-        product_name: "琉璃发簪体验包",
-        detail: "非遗材料包,匠心独运",
-        value: "750",
-        imgurl: common_assets.product_img
-      },
-      {
-        product_name: "琉璃发簪体验包",
-        detail: "非遗材料包,匠心独运",
-        value: "750",
-        imgurl: common_assets.product_img
-      },
-      {
-        product_name: "琉璃发簪体验包",
-        detail: "非遗材料包,匠心独运",
-        value: "750",
-        imgurl: common_assets.product_img
-      },
-      {
-        product_name: "琉璃发簪体验包",
-        detail: "非遗材料包,匠心独运",
-        value: "750",
-        imgurl: common_assets.product_img
-      },
-      {
-        product_name: "琉璃发簪体验包",
-        detail: "非遗材料包,匠心独运",
-        value: "750",
-        imgurl: common_assets.product_img
-      },
-      {
-        product_name: "琉璃发簪体验包",
-        detail: "非遗材料包,匠心独运",
-        value: "750",
-        imgurl: common_assets.product_img
-      },
-      {
-        product_name: "琉璃发簪体验包",
-        detail: "非遗材料包,匠心独运",
-        value: "750",
-        imgurl: common_assets.product_img
+      console.log("获取商品分类==>", res.data);
+    };
+    const changeTypes = async (item, index) => {
+      currentColor.value = index;
+      const res = await common_vendor.index.request({
+        url: api_request.baseUrl + "/category/list/type",
+        method: "POST",
+        data: {
+          id: item.id
+        },
+        header: {
+          cookie
+        }
+      });
+      if (res.data.code === 1) {
+        productList.value = res.data.data[item.id];
+      } else {
+        common_vendor.index.showToast({
+          //商品请求错误
+          title: "更改类别错误",
+          icon: "none",
+          duration: 2e3
+        });
       }
-    ]);
+    };
+    const getBoxStyle = (index) => ({
+      backgroundColor: currentColor.value === index ? "brown" : "#fffef8"
+    });
+    const goToProduct = (item) => {
+      common_vendor.index.navigateTo({
+        url: "../../../pages/store-home/ProductDetails/ProductDetails?info=" + JSON.stringify(item)
+      });
+    };
     return (_ctx, _cache) => {
       return {
-        a: common_vendor.f(sort.value, (item, index, i0) => {
+        a: common_vendor.unref(common_assets.sousuokuang),
+        b: common_vendor.f(sort.value, (item, index, i0) => {
           return {
             a: item.imgurl,
             b: common_vendor.t(item.name),
-            c: index
+            c: index,
+            d: common_vendor.s(getBoxStyle(index)),
+            e: common_vendor.o(($event) => changeTypes(item, index))
           };
         }),
-        b: common_vendor.f(product_list.value, (item, index, i0) => {
+        c: common_vendor.f(productList.value, (item, index, i0) => {
           return {
-            a: item.imgurl,
-            b: common_vendor.t(item.product_name),
-            c: common_vendor.t(item.detail),
-            d: common_vendor.t(item.value),
-            e: index
+            a: item.goodImg,
+            b: common_vendor.t(item.name),
+            c: common_vendor.t(item.intro),
+            d: common_vendor.t(item.price),
+            e: index,
+            f: common_vendor.o(($event) => goToProduct(item))
           };
-        })
+        }),
+        d: common_vendor.unref(common_assets.add_img)
       };
     };
   }
 };
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7e3c386d"]]);
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7e3c386d"], ["__file", "D:/jiangchengfeiyi-xiaochengxu/pages/store-home/main/main.vue"]]);
 my.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.acss b/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.acss
deleted file mode 100644
index e69de29..0000000
diff --git a/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.axml b/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.axml
deleted file mode 100644
index c2bf272..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.axml
+++ /dev/null
@@ -1 +0,0 @@
-<view class=""></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.js b/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.js
deleted file mode 100644
index 37056d4..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.js
+++ /dev/null
@@ -1,8 +0,0 @@
-"use strict";
-const common_vendor = require("../../../common/vendor.js");
-const _sfc_main = {};
-function _sfc_render(_ctx, _cache) {
-  return {};
-}
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
-my.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.json b/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.json
deleted file mode 100644
index f001b2f..0000000
--- a/unpackage/dist/dev/mp-alipay/pages/store-home/products/product-detail.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "defaultTitle": "",
-  "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
index 3b3f0c6..015e5eb 100644
--- a/unpackage/dist/dev/mp-weixin/app.js
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -27,11 +27,9 @@ if (!Math) {
   "./pages/Shopping-cart/component/addProduct.js";
   "./pages/mine/OrderDetails/OrderDetails.js";
   "./pages/service/productDetail/productDetail.js";
-  "./pages/mine/bookings/booking.js";
-  "./pages/mine/bookings/bookings.js";
-  "./pages/mine/Contact/Contact.js";
   "./pages/booking/CostumeDisplay/CostumeDisplay.js";
   "./pages/booking/CostumeDetails/CostumeDetails.js";
+  "./pages/mine/Contact/Contact.js";
 }
 const _sfc_main = {};
 function _sfc_render(_ctx, _cache) {
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
index 50d265a..5ef8c6a 100644
--- a/unpackage/dist/dev/mp-weixin/app.json
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -24,11 +24,10 @@
     "pages/Shopping-cart/component/addProduct",
     "pages/mine/OrderDetails/OrderDetails",
     "pages/service/productDetail/productDetail",
-    "pages/mine/bookings/booking",
-    "pages/mine/bookings/bookings",
-    "pages/mine/Contact/Contact",
+    "pages/workshop/index/index",
     "pages/booking/CostumeDisplay/CostumeDisplay",
-    "pages/booking/CostumeDetails/CostumeDetails"
+    "pages/booking/CostumeDetails/CostumeDetails",
+    "pages/mine/Contact/Contact"
   ],
   "window": {
     "navigationBarTextStyle": "black",
diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js
index baa4fb1..1c6c9f1 100644
--- a/unpackage/dist/dev/mp-weixin/common/vendor.js
+++ b/unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -8372,4 +8372,5 @@ exports.sr = sr;
 exports.t = t;
 exports.toRaw = toRaw;
 exports.unref = unref;
+exports.watch = watch;
 exports.wx$1 = wx$1;
diff --git a/unpackage/dist/dev/mp-weixin/pages/booking/respectable/respectable.wxml b/unpackage/dist/dev/mp-weixin/pages/booking/respectable/respectable.wxml
index 5b4e23f..9e1b7d4 100644
--- a/unpackage/dist/dev/mp-weixin/pages/booking/respectable/respectable.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/booking/respectable/respectable.wxml
@@ -1 +1 @@
-<uni-popup wx:if="{{a}}" class="r data-v-cad4fb76" u-s="{{['d']}}" u-r="popup1" u-i="cad4fb76-0" bind:__l="__l" u-p="{{d}}"><view class="data-v-cad4fb76" style="text-align:center;margin:10px;font-size:18px">预约须知</view><view class="data-v-cad4fb76" style="margin:0 20px">1.成功预约的顾客需按照预定时间前往店内挑选相应级别的服装。 为确保衣物在体验过程中的完好无损,顾客需根据所选服装的级别补缴尾款以及相应的押金。 拍摄结束后,店铺将依据衣物的实际状况评估是否扣除押金。</view><view class="data-v-cad4fb76" style="margin:0 20px"> 2.其中部分物品商家可提供,属于增值服务(如一次性隐形眼镜、 一次性粉扑等属于服务费以外的赠送服务,买家可选择自带用品,不影响服务价格), 需要买家自己准备的,客服需要提前告诉买家(如胸贴等贴身物品) </view><button class="data-v-cad4fb76" bindtap="{{b}}" style="width:50%;background-color:#f2b600;border-radius:30px;margin-top:20px;margin-bottom:20px">我知道了</button></uni-popup><uni-popup wx:if="{{e}}" class="r data-v-cad4fb76" u-s="{{['d']}}" u-r="popup2" u-i="cad4fb76-1" bind:__l="__l" u-p="{{h}}"><view class="data-v-cad4fb76" style="text-align:center;margin:10px;font-size:18px">费用说明</view><view class="data-v-cad4fb76" style="margin:10px"> 一、费用支付流程</view><view class="data-v-cad4fb76" style="margin:0 20px"><view class="data-v-cad4fb76">1.确定等级:您将根据个人需求选择合适的服装价位区间,并完成预约操作。</view><view class="data-v-cad4fb76">2.预约成功:预约成功后,您需前往店铺挑选对应等级的服装。</view><view class="data-v-cad4fb76">3.补缴尾款及押金:在挑选服装时,您需要补缴尾款(扣除已支付定金后的剩余服务或商品费用)以及押金(用于保障服装归还时的完好)。</view></view><view class="data-v-cad4fb76" style="margin:10px"> 二、尾款具体事项</view><view class="data-v-cad4fb76" style="margin:0 20px"><view class="data-v-cad4fb76">1.租赁服装:若您选择租赁我们店铺没有的服装,租赁费用将在您支付尾款时一并结算。无论拍摄是否进行,租赁费用均不予退还。</view><view class="data-v-cad4fb76">2.购买服装:如您希望购买我们店铺的服装,且我们同意购买,将按照服装的稀有程度分等级定价。您需按照所选等级支付尾款。</view><view class="data-v-cad4fb76">3.定制服务:若您自带衣服,我们提供妆发及摄影服务。若需我们额外购买服装,将按照上述等级定价,您需支付相应的尾款。</view></view><view class="data-v-cad4fb76" style="margin:10px"> 三、定金与押金说明</view><view class="data-v-cad4fb76" style="margin:0 20px"><view class="data-v-cad4fb76">1.定金:预约时支付的定金用于确认您的预约意向,定金不予退还。</view><view class="data-v-cad4fb76">2.押金:拍摄完成后,我们将根据服装的归还情况决定是否扣除押金。若服装无损坏,押金将全额退还。</view></view><view class="data-v-cad4fb76" style="margin:10px"> 四、特殊情况处理</view><view class="data-v-cad4fb76" style="margin:0 20px"><view class="data-v-cad4fb76"> 若因特殊情况您需要取消预约,请及时与我们联系。未拍摄情况下,定金不予退还,已支付的租赁费用亦不退还。</view></view><button class="data-v-cad4fb76" bindtap="{{f}}" style="width:50%;background-color:#f2b600;border-radius:30px;margin-top:20px;margin-bottom:20px">我知道了</button></uni-popup><view class="flex-col page data-v-cad4fb76"><view class="flex-col justify-start items-start relative group data-v-cad4fb76" bindtap="{{i}}"><view class="section data-v-cad4fb76"></view><text class="font text pos data-v-cad4fb76">填写预约信息</text><view class="flex-col section_2 pos_2 data-v-cad4fb76"><view class="flex-row justify-between items-center group_2 data-v-cad4fb76"><view class="flex-row items-center data-v-cad4fb76"><image class="shrink-0 image data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=8bde7b2f7a6da1a009b89295a48cc8ec.png"/><text class="font_2 text_2 ml-7 data-v-cad4fb76">联系人:张三</text><text class="font_2 text_3 ml-7 data-v-cad4fb76">15888610253</text></view><image class="image_2 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=10d9d3f5abdae8518f3c6c3fa1bbb544.png"/></view><view class="flex-row justify-between items-center group_3 data-v-cad4fb76"><view class="flex-row items-center data-v-cad4fb76"><image class="image data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=c6dac3074d9c4e4d6286c07f0ea03db5.png"/><view class="flex-col items-start ml-9 data-v-cad4fb76"><text class="font_3 data-v-cad4fb76">到店日期:2024-10-15</text><text class="mt-2 font_3 data-v-cad4fb76">具体场次:上午场(09:30-12:00)</text></view></view><image class="image_2 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=10d9d3f5abdae8518f3c6c3fa1bbb544.png"/></view></view></view><view class="flex-col group_4 data-v-cad4fb76"><text class="self-start font text_4 data-v-cad4fb76">选择预约类别</text><view class="mt-14 flex-col justify-start self-stretch section_3 data-v-cad4fb76"><view class="flex-row equal-division data-v-cad4fb76"><view class="clickable-item data-v-cad4fb76" bindtap="{{j}}"><image class="image_3 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FQdGvHpRx-paishe.png"/><text class="mt-2 font_4 text_5 data-v-cad4fb76">整套约拍</text></view><view class="ml-23 clickable-item data-v-cad4fb76" bindtap="{{k}}"><image class="image_3 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FWJdpNSbl-000.png"/><text class="mt-2 font_4 data-v-cad4fb76">自带服装</text></view></view></view></view><block wx:if="{{l}}"><view class="flex-col section_7 data-v-cad4fb76"><view class="flex-col group_5 data-v-cad4fb76"><text class="self-start font text_6 data-v-cad4fb76">选择服装价位</text><view wx:for="{{m}}" wx:for-item="item" wx:key="f" class="flex-row items-center self-stretch section_8 view data-v-cad4fb76" bindtap="{{item.g}}"><image src="{{item.a}}" class="shrink-0 image_4 data-v-cad4fb76"></image><view class="flex-col flex-1 ml-13 data-v-cad4fb76"><view class="self-start font_2 text_7 data-v-cad4fb76">{{item.b}}</view><view class="flex-row items-baseline self-stretch mt-11 data-v-cad4fb76"><text class="font_2 data-v-cad4fb76">价位:</text><view class="font_6 text_8 ml-1 data-v-cad4fb76">¥{{item.c}}-{{item.d}}</view></view><view class="self-stretch font_7 text_9 mt-11 data-v-cad4fb76">{{item.e}}</view></view><view class="flex-row shrink-0 ml-21 data-v-cad4fb76"><view class="flex-col justify-start items-center button data-v-cad4fb76"><text class="font_5 data-v-cad4fb76">选择</text></view><image class="ml-8 image_5 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=7d16fc8dfa328fc97ff273ebeab9bc18.png"/></view></view></view><view class="flex-col data-v-cad4fb76"><view class="flex-col group_6 data-v-cad4fb76"><view class="flex-col data-v-cad4fb76"><text class="self-start font text_15 data-v-cad4fb76">选择拍摄场景</text><view class="flex-row self-stretch mt-15 data-v-cad4fb76"><radio-group class="flex-row justify-center items-center section_9 data-v-cad4fb76" bindchange="{{n}}"><image class="image_7 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FDSCeqARd-shinei.png"/><text class="ml-16 font_8 text_16 data-v-cad4fb76">室内</text><radio class="data-v-cad4fb76" name="location" value="室内"></radio><image class="image_7 data-v-cad4fb76" style="margin-left:20px" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FgfjDWgWY-shiwai.png"/><text class="ml-16 font_8 text_17 data-v-cad4fb76">室外</text><radio class="data-v-cad4fb76" name="location" value="室外"></radio></radio-group></view></view><view class="mt-26 flex-row justify-center items-center data-v-cad4fb76" bindtap="{{o}}"><image class="badge data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FkWvkHOaM-0e7d6a68aaa19d61293070fa98a3ae13.png"/><text class="ml-4 font_7 text_18 data-v-cad4fb76">预约须知</text></view></view></view></view></block><block wx:if="{{p}}"><view class="flex-col section_7 data-v-cad4fb76"><view class="flex-col group_5 data-v-cad4fb76"><text class="self-start font text_6 data-v-cad4fb76">选择服务</text><view wx:for="{{q}}" wx:for-item="item" wx:key="e" class="flex-row items-center self-stretch section_8 view data-v-cad4fb76"><image src="{{item.a}}" class="shrink-0 image_4 data-v-cad4fb76"></image><view class="flex-col flex-1 ml-13 data-v-cad4fb76"><view class="self-start font_2 text_7 data-v-cad4fb76">{{item.b}}</view><view class="flex-row items-baseline self-stretch mt-11 data-v-cad4fb76"><text class="font_2 data-v-cad4fb76">价位:</text><view class="font_6 text_8 ml-1 data-v-cad4fb76">¥{{item.c}}</view></view><view class="self-stretch font_7 text_9 mt-11 data-v-cad4fb76">{{item.d}}</view></view><view class="flex-row shrink-0 ml-21 data-v-cad4fb76"><checkbox class="data-v-cad4fb76"></checkbox></view></view></view><view class="flex-col data-v-cad4fb76"><view class="flex-col group_6 data-v-cad4fb76"><view class="flex-col data-v-cad4fb76"><text class="self-start font text_15 data-v-cad4fb76">选择拍摄场景</text><view class="flex-row self-stretch mt-15 data-v-cad4fb76"><radio-group class="flex-row justify-center items-center section_9 data-v-cad4fb76" bindchange="{{r}}"><image class="image_7 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FDSCeqARd-shinei.png"/><text class="ml-16 font_8 text_16 data-v-cad4fb76">室内</text><radio class="data-v-cad4fb76" name="location" value="室内"></radio><image class="image_7 data-v-cad4fb76" style="margin-left:20px" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FgfjDWgWY-shiwai.png"/><text class="ml-16 font_8 text_17 data-v-cad4fb76">室外</text><radio class="data-v-cad4fb76" name="location" value="室外"></radio></radio-group></view></view><view class="flex-row self-stretch section_12 data-v-cad4fb76"><image class="shrink-0 self-center image_66 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FbtvtZqGC-kefu.png"/><view class="flex-col shrink-0 self-start group_10 data-v-cad4fb76"><text class="self-start font_2 text_12 data-v-cad4fb76">联系客服</text><text class="mt-10 self-stretch font_66 data-v-cad4fb76">请提供详细的问题描述,以便我们更快地为您解决问题。</text></view><image class="shrink-0 self-center image image_77 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=67303857c471750012de63be&name=136eb7cb0ccc86c9685bc319ce005613.png"/></view><view class="mt-26 flex-row justify-center items-center data-v-cad4fb76" bindtap="{{s}}"><image class="badge data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FkWvkHOaM-0e7d6a68aaa19d61293070fa98a3ae13.png"/><text class="ml-4 font_7 text_18 data-v-cad4fb76">预约须知</text></view></view></view></view></block><view class="flex-row justify-between items-center section_11 data-v-cad4fb76"><view class="flex-row items-center group_7 data-v-cad4fb76"><view class="flex-col justify-start items-start shrink-0 relative data-v-cad4fb76"><text class="font_8 data-v-cad4fb76">定金:</text><image class="image_2 pos_4 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=3393d3563afcfe7dedbadba1ea5328a0.png"/></view><text class="font_6 text_19 data-v-cad4fb76">88.</text><text class="text_21 data-v-cad4fb76">00</text></view><view class="flex-row items-center data-v-cad4fb76"><view class="flex-row button_3 data-v-cad4fb76" bindtap="{{t}}"><text class="text_22 data-v-cad4fb76">费用说明</text><image class="shrink-0 image_8 ml-3 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=0455b173571a47fdc438588e788f26c5.png"/></view><view class="ml-10 flex-col justify-start items-center button_2 data-v-cad4fb76"><text class="font_4 text_20 data-v-cad4fb76">确定预约</text></view></view></view></view>
\ No newline at end of file
+<uni-popup wx:if="{{a}}" class="r data-v-cad4fb76" u-s="{{['d']}}" u-r="popup1" u-i="cad4fb76-0" bind:__l="__l" u-p="{{d}}"><view class="data-v-cad4fb76" style="text-align:center;margin:10px;font-size:18px">预约须知</view><view class="data-v-cad4fb76" style="margin:0 20px">1.成功预约的顾客需按照预定时间前往店内挑选相应级别的服装。 为确保衣物在体验过程中的完好无损,顾客需根据所选服装的级别补缴尾款以及相应的押金。 拍摄结束后,店铺将依据衣物的实际状况评估是否扣除押金。</view><view class="data-v-cad4fb76" style="margin:0 20px"> 2.其中部分物品商家可提供,属于增值服务(如一次性隐形眼镜、 一次性粉扑等属于服务费以外的赠送服务,买家可选择自带用品,不影响服务价格), 需要买家自己准备的,客服需要提前告诉买家(如胸贴等贴身物品) </view><button class="data-v-cad4fb76" bindtap="{{b}}" style="width:50%;background-color:#f2b600;border-radius:30px;margin-top:20px;margin-bottom:20px">我知道了</button></uni-popup><uni-popup wx:if="{{e}}" class="r data-v-cad4fb76" u-s="{{['d']}}" u-r="popup2" u-i="cad4fb76-1" bind:__l="__l" u-p="{{h}}"><scroll-view class="data-v-cad4fb76" style="height:400px;width:100%" scroll-y="true"><view class="data-v-cad4fb76" style="text-align:center;margin:10px;font-size:18px">费用说明</view><view class="data-v-cad4fb76" style="margin:10px"> 一、费用支付流程</view><view class="data-v-cad4fb76" style="margin:0 20px"><view class="data-v-cad4fb76">1.确定等级:您将根据个人需求选择合适的服装价位区间,并完成预约操作。</view><view class="data-v-cad4fb76">2.预约成功:预约成功后,您需前往店铺挑选对应等级的服装。</view><view class="data-v-cad4fb76">3.补缴尾款及押金:在挑选服装时,您需要补缴尾款(扣除已支付定金后的剩余服务或商品费用)以及押金(用于保障服装归还时的完好)。</view></view><view class="data-v-cad4fb76" style="margin:10px"> 二、尾款具体事项</view><view class="data-v-cad4fb76" style="margin:0 20px"><view class="data-v-cad4fb76">1.租赁服装:若您选择租赁我们店铺没有的服装,租赁费用将在您支付尾款时一并结算。无论拍摄是否进行,租赁费用均不予退还。</view><view class="data-v-cad4fb76">2.购买服装:如您希望购买我们店铺的服装,且我们同意购买,将按照服装的稀有程度分等级定价。您需按照所选等级支付尾款。</view><view class="data-v-cad4fb76">3.定制服务:若您自带衣服,我们提供妆发及摄影服务。若需我们额外购买服装,将按照上述等级定价,您需支付相应的尾款。</view></view><view class="data-v-cad4fb76" style="margin:10px"> 三、定金与押金说明</view><view class="data-v-cad4fb76" style="margin:0 20px"><view class="data-v-cad4fb76">1.定金:预约时支付的定金用于确认您的预约意向,定金不予退还。</view><view class="data-v-cad4fb76">2.押金:拍摄完成后,我们将根据服装的归还情况决定是否扣除押金。若服装无损坏,押金将全额退还。</view></view><view class="data-v-cad4fb76" style="margin:10px"> 四、特殊情况处理</view><view class="data-v-cad4fb76" style="margin:0 20px"><view class="data-v-cad4fb76"> 若因特殊情况您需要取消预约,请及时与我们联系。未拍摄情况下,定金不予退还,已支付的租赁费用亦不退还。</view></view></scroll-view><button class="data-v-cad4fb76" bindtap="{{f}}" style="width:50%;background-color:#f2b600;border-radius:30px;margin-top:20px;margin-bottom:20px">我知道了</button></uni-popup><view class="flex-col page data-v-cad4fb76"><view class="flex-col justify-start items-start relative group data-v-cad4fb76" bindtap="{{i}}"><view class="section data-v-cad4fb76"></view><text class="font text pos data-v-cad4fb76">填写预约信息</text><view class="flex-col section_2 pos_2 data-v-cad4fb76"><view class="flex-row justify-between items-center group_2 data-v-cad4fb76"><view class="flex-row items-center data-v-cad4fb76"><image class="shrink-0 image data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=8bde7b2f7a6da1a009b89295a48cc8ec.png"/><text class="font_2 text_2 ml-7 data-v-cad4fb76">联系人:张三</text><text class="font_2 text_3 ml-7 data-v-cad4fb76">15888610253</text></view><image class="image_2 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=10d9d3f5abdae8518f3c6c3fa1bbb544.png"/></view><view class="flex-row justify-between items-center group_3 data-v-cad4fb76"><view class="flex-row items-center data-v-cad4fb76"><image class="image data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=c6dac3074d9c4e4d6286c07f0ea03db5.png"/><view class="flex-col items-start ml-9 data-v-cad4fb76"><text class="font_3 data-v-cad4fb76">到店日期:2024-10-15</text><text class="mt-2 font_3 data-v-cad4fb76">具体场次:上午场(09:30-12:00)</text></view></view><image class="image_2 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=10d9d3f5abdae8518f3c6c3fa1bbb544.png"/></view></view></view><view class="flex-col group_4 data-v-cad4fb76"><text class="self-start font text_4 data-v-cad4fb76">选择预约类别</text><view class="mt-14 flex-col justify-start self-stretch section_3 data-v-cad4fb76"><view class="flex-row equal-division data-v-cad4fb76"><view class="clickable-item data-v-cad4fb76" bindtap="{{j}}"><image class="image_3 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FQdGvHpRx-paishe.png"/><text class="mt-2 font_4 text_5 data-v-cad4fb76">整套约拍</text></view><view class="ml-23 clickable-item data-v-cad4fb76" bindtap="{{k}}"><image class="image_3 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FWJdpNSbl-000.png"/><text class="mt-2 font_4 data-v-cad4fb76">自带服装</text></view></view></view></view><block wx:if="{{l}}"><view class="flex-col section_7 data-v-cad4fb76"><view class="flex-col group_5 data-v-cad4fb76"><text class="self-start font text_6 data-v-cad4fb76">选择服装价位</text><view wx:for="{{m}}" wx:for-item="item" wx:key="f" class="flex-row items-center self-stretch section_8 view data-v-cad4fb76" bindtap="{{item.g}}"><image src="{{item.a}}" class="shrink-0 image_4 data-v-cad4fb76"></image><view class="flex-col flex-1 ml-13 data-v-cad4fb76"><view class="self-start font_2 text_7 data-v-cad4fb76">{{item.b}}</view><view class="flex-row items-baseline self-stretch mt-11 data-v-cad4fb76"><text class="font_2 data-v-cad4fb76">价位:</text><view class="font_6 text_8 ml-1 data-v-cad4fb76">¥{{item.c}}-{{item.d}}</view></view><view class="self-stretch font_7 text_9 mt-11 data-v-cad4fb76">{{item.e}}</view></view><view class="flex-row shrink-0 ml-21 data-v-cad4fb76"><view class="flex-col justify-start items-center button data-v-cad4fb76"><text class="font_5 data-v-cad4fb76">选择</text></view><image class="ml-8 image_5 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=7d16fc8dfa328fc97ff273ebeab9bc18.png"/></view></view></view><view class="flex-col data-v-cad4fb76"><view class="flex-col group_6 data-v-cad4fb76"><view class="flex-col data-v-cad4fb76"><text class="self-start font text_15 data-v-cad4fb76">选择拍摄场景</text><view class="flex-row self-stretch mt-15 data-v-cad4fb76"><radio-group class="flex-row justify-center items-center section_9 data-v-cad4fb76" bindchange="{{n}}"><image class="image_7 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FDSCeqARd-shinei.png"/><text class="ml-16 font_8 text_16 data-v-cad4fb76">室内</text><radio class="data-v-cad4fb76" name="location" value="室内"></radio><image class="image_7 data-v-cad4fb76" style="margin-left:20px" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FgfjDWgWY-shiwai.png"/><text class="ml-16 font_8 text_17 data-v-cad4fb76">室外</text><radio class="data-v-cad4fb76" name="location" value="室外"></radio></radio-group></view></view><view class="mt-26 flex-row justify-center items-center data-v-cad4fb76" bindtap="{{o}}"><image class="badge data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FkWvkHOaM-0e7d6a68aaa19d61293070fa98a3ae13.png"/><text class="ml-4 font_7 text_18 data-v-cad4fb76">预约须知</text></view></view></view></view></block><block wx:if="{{p}}"><view class="flex-col section_7 data-v-cad4fb76"><view class="flex-col group_5 data-v-cad4fb76"><text class="self-start font text_6 data-v-cad4fb76">选择服务</text><view wx:for="{{q}}" wx:for-item="item" wx:key="e" class="flex-row items-center self-stretch section_8 view data-v-cad4fb76"><image src="{{item.a}}" class="shrink-0 image_4 data-v-cad4fb76"></image><view class="flex-col flex-1 ml-13 data-v-cad4fb76"><view class="self-start font_2 text_7 data-v-cad4fb76">{{item.b}}</view><view class="flex-row items-baseline self-stretch mt-11 data-v-cad4fb76"><text class="font_2 data-v-cad4fb76">价位:</text><view class="font_6 text_8 ml-1 data-v-cad4fb76">¥{{item.c}}</view></view><view class="self-stretch font_7 text_9 mt-11 data-v-cad4fb76">{{item.d}}</view></view><view class="flex-row shrink-0 ml-21 data-v-cad4fb76"><checkbox class="data-v-cad4fb76"></checkbox></view></view></view><view class="flex-col data-v-cad4fb76"><view class="flex-col group_6 data-v-cad4fb76"><view class="flex-col data-v-cad4fb76"><text class="self-start font text_15 data-v-cad4fb76">选择拍摄场景</text><view class="flex-row self-stretch mt-15 data-v-cad4fb76"><radio-group class="flex-row justify-center items-center section_9 data-v-cad4fb76" bindchange="{{r}}"><image class="image_7 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FDSCeqARd-shinei.png"/><text class="ml-16 font_8 text_16 data-v-cad4fb76">室内</text><radio class="data-v-cad4fb76" name="location" value="室内"></radio><image class="image_7 data-v-cad4fb76" style="margin-left:20px" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FgfjDWgWY-shiwai.png"/><text class="ml-16 font_8 text_17 data-v-cad4fb76">室外</text><radio class="data-v-cad4fb76" name="location" value="室外"></radio></radio-group></view></view><view class="flex-row self-stretch section_12 data-v-cad4fb76"><image class="shrink-0 self-center image_66 data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FbtvtZqGC-kefu.png"/><view class="flex-col shrink-0 self-start group_10 data-v-cad4fb76"><text class="self-start font_2 text_12 data-v-cad4fb76">联系客服</text><text class="mt-10 self-stretch font_66 data-v-cad4fb76">请提供详细的问题描述,以便我们更快地为您解决问题。</text></view><image class="shrink-0 self-center image image_77 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=67303857c471750012de63be&name=136eb7cb0ccc86c9685bc319ce005613.png"/></view><view class="mt-26 flex-row justify-center items-center data-v-cad4fb76" bindtap="{{s}}"><image class="badge data-v-cad4fb76" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FkWvkHOaM-0e7d6a68aaa19d61293070fa98a3ae13.png"/><text class="ml-4 font_7 text_18 data-v-cad4fb76">预约须知</text></view></view></view></view></block><view class="flex-row justify-between items-center section_11 data-v-cad4fb76"><view class="flex-row items-center group_7 data-v-cad4fb76"><view class="flex-col justify-start items-start shrink-0 relative data-v-cad4fb76"><text class="font_8 data-v-cad4fb76">定金:</text><image class="image_2 pos_4 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=3393d3563afcfe7dedbadba1ea5328a0.png"/></view><text class="font_6 text_19 data-v-cad4fb76">88.</text><text class="text_21 data-v-cad4fb76">00</text></view><view class="flex-row items-center data-v-cad4fb76"><view class="flex-row button_3 data-v-cad4fb76" bindtap="{{t}}"><text class="text_22 data-v-cad4fb76">费用说明</text><image class="shrink-0 image_8 ml-3 data-v-cad4fb76" src="https://ide.code.fun/api/image?token=672dbef4c471750012de4bf6&name=0455b173571a47fdc438588e788f26c5.png"/></view><view class="ml-10 flex-col justify-start items-center button_2 data-v-cad4fb76"><text class="font_4 text_20 data-v-cad4fb76">确定预约</text></view></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.js b/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.js
index d72551e..166d6b7 100644
--- a/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.js
+++ b/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.js
@@ -15,7 +15,34 @@ const _sfc_main = {
     common_vendor.onMounted(() => {
       getContacts();
     });
-    const contacts = common_vendor.ref([{}]);
+    const newContact = common_vendor.ref({
+      name: "",
+      phone: "",
+      isDefault: 0,
+      id: 0
+    });
+    const newContacts = common_vendor.ref({
+      name: "",
+      phone: "",
+      isDefault: 0,
+      id: 0
+    });
+    const editContact = async (index) => {
+      popup1.value.open("center");
+      const contact = filteredContacts.value[index];
+      newContact.value = {
+        name: contact.name,
+        id: contact.id,
+        phone: contact.phone,
+        isDefault: contact.isDefault
+      };
+    };
+    const handleIsDefaultChanges = (e) => {
+      let currentValue = newContact.value.isDefault;
+      let updatedValue = currentValue === 0 ? 1 : 0;
+      newContact.value.isDefault = updatedValue;
+      console.log(updatedValue);
+    };
     const getContacts = async () => {
       const res = await common_vendor.index.request({
         url: api_request.baseUrl + "/contacts/list",
@@ -24,9 +51,28 @@ const _sfc_main = {
           cookie: common_vendor.wx$1.getStorageSync("cookie")
         }
       });
-      console.log(res);
       if (res.data.code === 1) {
-        filteredContacts.value = res.data.data;
+        const correctContacts = [];
+        let defaultContact = null;
+        res.data.data.forEach((contact) => {
+          if (contact.isDefault === 1) {
+            if (!defaultContact) {
+              defaultContact = contact;
+            } else {
+              contact.isDefault = 0;
+            }
+          }
+          correctContacts.push(contact);
+        });
+        filteredContacts.value = correctContacts;
+        if (defaultContact) {
+          const index = filteredContacts.value.findIndex(
+            (c) => c.id === defaultContact.id
+          );
+          if (index !== -1) {
+            filteredContacts.value[index].isDefault = 1;
+          }
+        }
       } else {
         common_vendor.index.showToast({
           icon: "error",
@@ -34,16 +80,8 @@ const _sfc_main = {
         });
       }
     };
-    const newContact = common_vendor.ref({
-      ame: "",
-      phone: "",
-      isDefault: 0
-    });
     const searchText = common_vendor.ref("");
     const filteredContacts = common_vendor.ref([]);
-    common_vendor.onMounted(() => {
-      filteredContacts.value = contacts.value;
-    });
     common_vendor.watch(searchText, () => {
       if (searchText.value === "") {
         filteredContacts.value = contacts.value;
@@ -57,6 +95,13 @@ const _sfc_main = {
     });
     const addContact = async () => {
       popup.value.close();
+      if (newContacts.value.isDefault) {
+        for (let i = 0; i < filteredContacts.value.length; i++) {
+          if (filteredContacts.value[i].isDefault === 1) {
+            filteredContacts.value[i].isDefault = 0;
+          }
+        }
+      }
       const res = await common_vendor.index.request({
         url: api_request.baseUrl + "/contacts/add",
         method: "POST",
@@ -64,14 +109,19 @@ const _sfc_main = {
           cookie: common_vendor.wx$1.getStorageSync("cookie")
         },
         data: {
-          name: newContact.value.name,
-          phone: newContact.value.phone,
-          isDefault: 0
+          name: newContacts.value.name,
+          phone: newContacts.value.phone,
+          isDefault: newContacts.value.isDefault
         }
       });
-      console.log(res, 添加);
       if (res.data.code === 1) {
         console.log("添加成功");
+        newContacts.value = {
+          name: "",
+          phone: "",
+          isDefault: 0,
+          id: 0
+        };
       } else {
         common_vendor.index.showToast({
           icon: "error",
@@ -80,7 +130,7 @@ const _sfc_main = {
       }
       getContacts();
     };
-    const deleteContact = async (item, index) => {
+    const deleteContact = async (index) => {
       const res = await common_vendor.index.request({
         url: api_request.baseUrl + "/contacts/delete",
         method: "POST",
@@ -88,10 +138,9 @@ const _sfc_main = {
           cookie: common_vendor.wx$1.getStorageSync("cookie")
         },
         data: {
-          id: item.value[index].id
+          id: filteredContacts.value[index].id
         }
       });
-      console.log(item.value[index].id);
       console.log(res, "1111111111111");
       if (res.data.code === 1) {
         console.log("删除成功");
@@ -103,29 +152,47 @@ const _sfc_main = {
       }
       getContacts();
     };
-    const indexToModify = common_vendor.ref(null);
-    const editContact = (index) => {
-      popup1.value.open("center");
-      indexToModify.value = index;
-      const contactToModify = contacts.value[index];
-      newContact.value = {
-        name: contactToModify.name,
-        phone: contactToModify.phone
-      };
-    };
-    const saveModifiedContact = () => {
-      if (indexToModify.value !== null) {
-        const Index = indexToModify.value;
-        const contact = contacts.value[Index];
-        contact.name = newContact.value.name;
-        contact.phone = newContact.value.phone;
-        newContact.value = {
-          name: "",
-          phone: ""
-        };
-        popup1.value.close();
-        filteredContacts.value = contacts.value;
+    common_vendor.ref({});
+    common_vendor.ref(null);
+    const saveModifiedContact = async () => {
+      popup1.value.close();
+      if (!newContact.value.name || !newContact.value.phone) {
+        common_vendor.index.showToast({
+          icon: "error",
+          title: "不能为空"
+        });
+        return;
       }
+      if (newContact.value.isDefault) {
+        for (let i = 0; i < filteredContacts.value.length; i++) {
+          if (filteredContacts.value[i].isDefault === 1) {
+            filteredContacts.value[i].isDefault = 0;
+          }
+        }
+      }
+      const res = await common_vendor.index.request({
+        url: api_request.baseUrl + "/contacts/update",
+        method: "POST",
+        header: {
+          cookie: common_vendor.wx$1.getStorageSync("cookie")
+        },
+        data: {
+          name: newContact.value.name,
+          phone: newContact.value.phone,
+          id: newContact.value.id,
+          isDefault: newContact.value.isDefault
+        }
+      });
+      if (res.data.code === 1) {
+        console.log("更新成功");
+        console.log(newContact.value.isDefault, "000000000000000000000000 ");
+      } else {
+        common_vendor.index.showToast({
+          icon: "error",
+          title: "更新失败"
+        });
+      }
+      getContacts();
     };
     const popup = common_vendor.ref(null);
     const popup1 = common_vendor.ref(null);
@@ -140,43 +207,51 @@ const _sfc_main = {
     };
     return (_ctx, _cache) => {
       return {
-        a: newContact.value.name,
-        b: common_vendor.o(($event) => newContact.value.name = $event.detail.value),
-        c: newContact.value.phone,
-        d: common_vendor.o(($event) => newContact.value.phone = $event.detail.value),
-        e: common_vendor.o(addContact),
-        f: common_vendor.o(close),
-        g: common_vendor.sr(popup, "0aa6b83b-0", {
+        a: newContacts.value.name,
+        b: common_vendor.o(($event) => newContacts.value.name = $event.detail.value),
+        c: newContacts.value.phone,
+        d: common_vendor.o(($event) => newContacts.value.phone = $event.detail.value),
+        e: common_vendor.o(($event) => handleIsDefaultChanges()),
+        f: newContacts.value.id,
+        g: common_vendor.o(addContact),
+        h: common_vendor.o(close),
+        i: common_vendor.sr(popup, "0aa6b83b-0", {
           "k": "popup"
         }),
-        h: common_vendor.p({
+        j: common_vendor.p({
           ["mask-click"]: false,
-          ["background-color"]: "white"
+          ["background-color"]: "white",
+          borderRadius: "10px"
         }),
-        i: newContact.value.name,
-        j: common_vendor.o(($event) => newContact.value.name = $event.detail.value),
-        k: newContact.value.phone,
-        l: common_vendor.o(($event) => newContact.value.phone = $event.detail.value),
-        m: common_vendor.o(saveModifiedContact),
-        n: common_vendor.o(close1),
-        o: common_vendor.sr(popup1, "0aa6b83b-1", {
+        k: newContact.value.name,
+        l: common_vendor.o(($event) => newContact.value.name = $event.detail.value),
+        m: newContact.value.phone,
+        n: common_vendor.o(($event) => newContact.value.phone = $event.detail.value),
+        o: common_vendor.o(($event) => handleIsDefaultChanges()),
+        p: newContacts.value.id,
+        q: newContact.value.isDefault === 1,
+        r: common_vendor.o(saveModifiedContact),
+        s: common_vendor.o(close1),
+        t: common_vendor.sr(popup1, "0aa6b83b-1", {
           "k": "popup1"
         }),
-        p: common_vendor.p({
+        v: common_vendor.p({
           ["mask-click"]: false,
-          ["background-color"]: "white"
+          ["background-color"]: "white",
+          borderRadius: "10px"
         }),
-        q: common_vendor.f(filteredContacts.value, (item, index, i0) => {
-          return {
+        w: common_vendor.f(filteredContacts.value, (item, index, i0) => {
+          return common_vendor.e({
             a: common_vendor.t(item.name),
             b: common_vendor.t(item.phone),
-            c: common_vendor.t(item.id),
-            d: common_vendor.o(($event) => editContact(item), index),
-            e: common_vendor.o(($event) => deleteContact(item, index), index),
+            c: item.isDefault === 1
+          }, item.isDefault === 1 ? {} : {}, {
+            d: common_vendor.o(($event) => editContact(index), index),
+            e: common_vendor.o(($event) => deleteContact(index), index),
             f: index
-          };
+          });
         }),
-        r: common_vendor.o(open)
+        x: common_vendor.o(open)
       };
     };
   }
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.wxml b/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.wxml
index 244e52d..bd91d97 100644
--- a/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.wxml
@@ -1 +1 @@
-<uni-popup wx:if="{{h}}" class="r data-v-0aa6b83b" u-s="{{['d']}}" u-r="popup" u-i="0aa6b83b-0" bind:__l="__l" u-p="{{h}}"><input class="data-v-0aa6b83b" placeholder="联系人姓名" value="{{a}}" bindinput="{{b}}"/><input class="data-v-0aa6b83b" placeholder="联系方式" value="{{c}}" bindinput="{{d}}"/><button class="data-v-0aa6b83b" bindtap="{{e}}">保存</button><button class="data-v-0aa6b83b" bindtap="{{f}}">取消</button></uni-popup><uni-popup wx:if="{{p}}" class="r data-v-0aa6b83b" u-s="{{['d']}}" u-r="popup1" u-i="0aa6b83b-1" bind:__l="__l" u-p="{{p}}"><input class="data-v-0aa6b83b" placeholder="联系人姓名" value="{{i}}" bindinput="{{j}}"/><input class="data-v-0aa6b83b" placeholder="联系方式" value="{{k}}" bindinput="{{l}}"/><button class="data-v-0aa6b83b" bindtap="{{m}}">保存</button><button class="data-v-0aa6b83b" bindtap="{{n}}">取消</button></uni-popup><view class="flex-col page data-v-0aa6b83b"><view class="flex-col data-v-0aa6b83b"><view class="flex-row justify-center items-center relative group data-v-0aa6b83b"><text class="text data-v-0aa6b83b">联系人信息</text><image class="image pos data-v-0aa6b83b" src="https://ide.code.fun/api/image?token=673329a3c471750012deb1ec&name=888e11f2c452b3d64f79a5136a779376.png"/></view><view class="mt-16 flex-col data-v-0aa6b83b"><view wx:for="{{q}}" wx:for-item="item" wx:key="f" class="flex-row justify-between items-center list-item mt-5 data-v-0aa6b83b"><view class="flex-row items-center data-v-0aa6b83b"><text class="font ml-9 data-v-0aa6b83b">{{item.a}}</text><text class="font_2 ml-9 data-v-0aa6b83b">{{item.b}} -{{item.c}}</text></view><view class="flex-row group_2 data-v-0aa6b83b"><image class="image_2 data-v-0aa6b83b" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FEclWfXMx-bj.png" bindtap="{{item.d}}"/><image class="ml-12 image_2 data-v-0aa6b83b" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FzgFMedLP-sc.png" bindtap="{{item.e}}"/></view></view></view></view><view class="flex-col justify-start items-center section mt-431 data-v-0aa6b83b" bindtap="{{r}}"><view class="flex-col justify-start items-center text-wrapper data-v-0aa6b83b"><text class="text_2 data-v-0aa6b83b">添加新联系人</text></view></view></view>
\ No newline at end of file
+<uni-popup wx:if="{{j}}" u-s="{{['d']}}" u-r="popup" class="pop r data-v-0aa6b83b" u-i="0aa6b83b-0" bind:__l="__l" u-p="{{j}}"><view style="height:250px;width:300px;padding:15px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;align-items:center" class="popup-content data-v-0aa6b83b"><input class="data-v-0aa6b83b" placeholder="联系人姓名" style="width:100%;padding:5px;border:1px solid #ccc;border-radius:5px" value="{{a}}" bindinput="{{b}}"/><input class="data-v-0aa6b83b" placeholder="联系方式" style="width:100%;padding:5px;border:1px solid #ccc;border-radius:5px" value="{{c}}" bindinput="{{d}}"/><checkbox class="data-v-0aa6b83b" bindtap="{{e}}" key="{{f}}" style="width:auto;margin-top:10px">设置为默认联系人</checkbox><view class="data-v-0aa6b83b" style="width:100%;display:flex;justify-content:space-between"><button class="data-v-0aa6b83b" bindtap="{{g}}" style="flex:1;padding:8px 0;background-color:#007aff;color:white;border:none;border-radius:5px;margin-right:5px">添加</button><button class="data-v-0aa6b83b" bindtap="{{h}}" style="flex:1;padding:8px 0;background-color:#ccc;color:#333;border:none;border-radius:5px;margin-left:5px">取消</button></view></view></uni-popup><uni-popup wx:if="{{v}}" u-s="{{['d']}}" u-r="popup1" class="pop r data-v-0aa6b83b" u-i="0aa6b83b-1" bind:__l="__l" u-p="{{v}}"><view style="height:250px;width:300px;padding:15px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;align-items:center" class="popup-content data-v-0aa6b83b"><input class="data-v-0aa6b83b" placeholder="联系人姓名" style="width:100%;padding:5px;border:1px solid #ccc;border-radius:5px" value="{{k}}" bindinput="{{l}}"/><input class="data-v-0aa6b83b" placeholder="联系方式" style="width:100%;padding:5px;border:1px solid #ccc;border-radius:5px" value="{{m}}" bindinput="{{n}}"/><checkbox class="data-v-0aa6b83b" bindtap="{{o}}" key="{{p}}" checked="{{q}}" style="width:auto;margin-top:10px">设置为默认联系人</checkbox><view class="data-v-0aa6b83b" style="width:100%;display:flex;justify-content:space-between"><button class="data-v-0aa6b83b" bindtap="{{r}}" style="flex:1;padding:8px 0;background-color:#007aff;color:white;border:none;border-radius:5px;margin-right:5px">保存</button><button class="data-v-0aa6b83b" bindtap="{{s}}" style="flex:1;padding:8px 0;background-color:#ccc;color:#333;border:none;border-radius:5px;margin-left:5px">取消</button></view></view></uni-popup><view class="flex-col page data-v-0aa6b83b"><view class="flex-col data-v-0aa6b83b"><view class="flex-row justify-center items-center relative group data-v-0aa6b83b"><text class="text data-v-0aa6b83b">联系人信息</text><image class="image pos data-v-0aa6b83b" src="https://ide.code.fun/api/image?token=673329a3c471750012deb1ec&name=888e11f2c452b3d64f79a5136a779376.png"/></view><view class="mt-16 flex-col data-v-0aa6b83b"><view wx:for="{{w}}" wx:for-item="item" wx:key="f" class="flex-row justify-between items-center list-item mt-5 data-v-0aa6b83b"><view class="flex-row items-center data-v-0aa6b83b"><text class="font ml-9 data-v-0aa6b83b">{{item.a}}</text><text class="font_2 ml-9 data-v-0aa6b83b">{{item.b}}</text></view><text wx:if="{{item.c}}" class="font_3 ml-12 data-v-0aa6b83b">默认联系人</text><view class="flex-row group_2 data-v-0aa6b83b"><image class="image_2 data-v-0aa6b83b" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FEclWfXMx-bj.png" bindtap="{{item.d}}"/><image class="ml-12 image_2 data-v-0aa6b83b" src="https://carbon2.obs.cn-north-4.myhuaweicloud.com:443/feiyi%2Ftest%2F0%2FzgFMedLP-sc.png" bindtap="{{item.e}}"/></view></view></view></view><view class="flex-col justify-start items-center section mt-431 data-v-0aa6b83b" bindtap="{{x}}"><view class="flex-col justify-start items-center text-wrapper data-v-0aa6b83b"><text class="text_2 data-v-0aa6b83b">添加新联系人</text></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.wxss b/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.wxss
index 7f05351..3d48191 100644
--- a/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/mine/Contact/Contact.wxss
@@ -401,6 +401,10 @@ text.data-v-0aa6b83b {
 .mt-100.data-v-0aa6b83b {
   margin-top: 187.5rpx;
 }
+.font_3.data-v-0aa6b83b {
+  color: #007aff;
+  font-size: 14px;
+}
 .mt-5.data-v-0aa6b83b {
   margin-top: 9.38rpx;
 }
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.js b/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.js
deleted file mode 100644
index a24b60e..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"use strict";
-const common_vendor = require("../../../common/vendor.js");
-const _sfc_main = {
-  __name: "booking",
-  setup(__props) {
-    const item = common_vendor.ref([null, null, null]);
-    const goto = () => {
-      common_vendor.index.navigateTo({
-        url: "/pages/mine/bookings/bookings"
-      });
-    };
-    return (_ctx, _cache) => {
-      return {
-        a: common_vendor.o(($event) => goto()),
-        b: common_vendor.f(item.value, (i, k0, i0) => {
-          return {};
-        })
-      };
-    };
-  }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-8f30db34"], ["__file", "D:/jiangchengfeiyi-xiaochengxu/pages/mine/bookings/booking.vue"]]);
-wx.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.json b/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.json
deleted file mode 100644
index a0812ee..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "navigationBarTitleText": "",
-  "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.wxml b/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.wxml
deleted file mode 100644
index 43f717e..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.wxml
+++ /dev/null
@@ -1 +0,0 @@
-<view class="flex-col page data-v-8f30db34"><view class="flex-col section data-v-8f30db34"><view class="flex-row justify-between self-stretch group data-v-8f30db34"><text class="font text data-v-8f30db34">待消费</text><text class="font text_2 data-v-8f30db34" bindtap="{{a}}">已消费</text></view><view class="self-start section_2 data-v-8f30db34"></view></view><view wx:for="{{b}}" wx:for-item="i" class="flex-col section_3 mt-13 data-v-8f30db34"><text class="self-end font_2 text_3 data-v-8f30db34">待消费</text><view class="flex-row items-baseline self-stretch group_2 data-v-8f30db34"><text class="font_3 text_4 data-v-8f30db34">订单编号:</text><text class="font_3 text_5 ml-5 data-v-8f30db34">E20241005095840091406189</text></view><view class="flex-row self-stretch group_3 data-v-8f30db34"><image class="shrink-0 image data-v-8f30db34" src="https://ide.code.fun/api/image?token=6736eddfc471750012df05d6&name=bc0e955304da0a2ccafe3a66ac1f3aca.png"/><view class="flex-col flex-1 group_4 data-v-8f30db34"><view class="flex-row justify-center self-stretch relative data-v-8f30db34"><text class="font_2 text_6 pos data-v-8f30db34">整套约拍</text><text class="font_2 text_7 data-v-8f30db34">【时尚精选】</text></view><text class="self-start font_5 text_10 data-v-8f30db34">到店日期:2024-10-15</text><text class="self-start font_5 text_1 data-v-8f30db34">具体场次:上午场(09:30-12:00)</text><text class="self-stretch text_11 data-v-8f30db34">已选服务:妆发服务;摄影服务;室内;</text></view><view class="flex-row items-center shrink-0 self-start group_5 data-v-8f30db34"><text class="text_8 data-v-8f30db34">138.</text><image class="shrink-0 image_2 image_3 data-v-8f30db34" src="https://ide.code.fun/api/image?token=6736eddfc471750012df05d6&name=6c5700b3ac5fd83a23d838cb456bdd10.png"/><text class="font_4 text_9 data-v-8f30db34">00</text></view></view><view class="flex-row justify-end items-center self-stretch group_6 data-v-8f30db34"><text class="font_2 text_12 data-v-8f30db34">去支付:</text><image class="image_2 data-v-8f30db34" src="https://ide.code.fun/api/image?token=6736eddfc471750012df05d6&name=ea05ec17023763edb8cfe919508e0459.png"/><view class="group_7 data-v-8f30db34"><text class="text_13 data-v-8f30db34">88</text><text class="font_4 text_14 data-v-8f30db34">.00</text></view></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.wxss b/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.wxss
deleted file mode 100644
index 5f3483c..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/booking.wxss
+++ /dev/null
@@ -1,567 +0,0 @@
-/* 水平间距 */
-/* 水平间距 */
-/************************************************************
-** 请将全局样式拷贝到项目的全局 CSS 文件或者当前页面的顶部 **
-** 否则页面将无法正常显示                                  **
-************************************************************/
-html.data-v-8f30db34 {
-  font-size: 16px;
-}
-body.data-v-8f30db34 {
-  margin: 0;
-  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
-    'Droid Sans', 'Helvetica Neue', 'Microsoft Yahei', sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-view.data-v-8f30db34,
-image.data-v-8f30db34,
-text.data-v-8f30db34 {
-  box-sizing: border-box;
-  flex-shrink: 0;
-}
-#app.data-v-8f30db34 {
-  width: 100vw;
-  height: 100vh;
-}
-.flex-row.data-v-8f30db34 {
-  display: flex;
-  flex-direction: row;
-}
-.flex-col.data-v-8f30db34 {
-  display: flex;
-  flex-direction: column;
-}
-.justify-start.data-v-8f30db34 {
-  justify-content: flex-start;
-}
-.justify-end.data-v-8f30db34 {
-  justify-content: flex-end;
-}
-.justify-center.data-v-8f30db34 {
-  justify-content: center;
-}
-.justify-between.data-v-8f30db34 {
-  justify-content: space-between;
-}
-.justify-around.data-v-8f30db34 {
-  justify-content: space-around;
-}
-.justify-evenly.data-v-8f30db34 {
-  justify-content: space-evenly;
-}
-.items-start.data-v-8f30db34 {
-  align-items: flex-start;
-}
-.items-end.data-v-8f30db34 {
-  align-items: flex-end;
-}
-.items-center.data-v-8f30db34 {
-  align-items: center;
-}
-.items-baseline.data-v-8f30db34 {
-  align-items: baseline;
-}
-.items-stretch.data-v-8f30db34 {
-  align-items: stretch;
-}
-.self-start.data-v-8f30db34 {
-  align-self: flex-start;
-}
-.self-end.data-v-8f30db34 {
-  align-self: flex-end;
-}
-.self-center.data-v-8f30db34 {
-  align-self: center;
-}
-.self-baseline.data-v-8f30db34 {
-  align-self: baseline;
-}
-.self-stretch.data-v-8f30db34 {
-  align-self: stretch;
-}
-.flex-1.data-v-8f30db34 {
-  flex: 1 1 0%;
-}
-.flex-auto.data-v-8f30db34 {
-  flex: 1 1 auto;
-}
-.grow.data-v-8f30db34 {
-  flex-grow: 1;
-}
-.grow-0.data-v-8f30db34 {
-  flex-grow: 0;
-}
-.shrink.data-v-8f30db34 {
-  flex-shrink: 1;
-}
-.shrink-0.data-v-8f30db34 {
-  flex-shrink: 0;
-}
-.relative.data-v-8f30db34 {
-  position: relative;
-}
-.ml-2.data-v-8f30db34 {
-  margin-left: 3.75rpx;
-}
-.mt-2.data-v-8f30db34 {
-  margin-top: 3.75rpx;
-}
-.ml-4.data-v-8f30db34 {
-  margin-left: 7.5rpx;
-}
-.mt-4.data-v-8f30db34 {
-  margin-top: 7.5rpx;
-}
-.ml-6.data-v-8f30db34 {
-  margin-left: 11.25rpx;
-}
-.mt-6.data-v-8f30db34 {
-  margin-top: 11.25rpx;
-}
-.ml-8.data-v-8f30db34 {
-  margin-left: 15rpx;
-}
-.mt-8.data-v-8f30db34 {
-  margin-top: 15rpx;
-}
-.ml-10.data-v-8f30db34 {
-  margin-left: 18.75rpx;
-}
-.mt-10.data-v-8f30db34 {
-  margin-top: 18.75rpx;
-}
-.ml-12.data-v-8f30db34 {
-  margin-left: 22.5rpx;
-}
-.mt-12.data-v-8f30db34 {
-  margin-top: 22.5rpx;
-}
-.ml-14.data-v-8f30db34 {
-  margin-left: 26.25rpx;
-}
-.mt-14.data-v-8f30db34 {
-  margin-top: 26.25rpx;
-}
-.ml-16.data-v-8f30db34 {
-  margin-left: 30rpx;
-}
-.mt-16.data-v-8f30db34 {
-  margin-top: 30rpx;
-}
-.ml-18.data-v-8f30db34 {
-  margin-left: 33.75rpx;
-}
-.mt-18.data-v-8f30db34 {
-  margin-top: 33.75rpx;
-}
-.ml-20.data-v-8f30db34 {
-  margin-left: 37.5rpx;
-}
-.mt-20.data-v-8f30db34 {
-  margin-top: 37.5rpx;
-}
-.ml-22.data-v-8f30db34 {
-  margin-left: 41.25rpx;
-}
-.mt-22.data-v-8f30db34 {
-  margin-top: 41.25rpx;
-}
-.ml-24.data-v-8f30db34 {
-  margin-left: 45rpx;
-}
-.mt-24.data-v-8f30db34 {
-  margin-top: 45rpx;
-}
-.ml-26.data-v-8f30db34 {
-  margin-left: 48.75rpx;
-}
-.mt-26.data-v-8f30db34 {
-  margin-top: 48.75rpx;
-}
-.ml-28.data-v-8f30db34 {
-  margin-left: 52.5rpx;
-}
-.mt-28.data-v-8f30db34 {
-  margin-top: 52.5rpx;
-}
-.ml-30.data-v-8f30db34 {
-  margin-left: 56.25rpx;
-}
-.mt-30.data-v-8f30db34 {
-  margin-top: 56.25rpx;
-}
-.ml-32.data-v-8f30db34 {
-  margin-left: 60rpx;
-}
-.mt-32.data-v-8f30db34 {
-  margin-top: 60rpx;
-}
-.ml-34.data-v-8f30db34 {
-  margin-left: 63.75rpx;
-}
-.mt-34.data-v-8f30db34 {
-  margin-top: 63.75rpx;
-}
-.ml-36.data-v-8f30db34 {
-  margin-left: 67.5rpx;
-}
-.mt-36.data-v-8f30db34 {
-  margin-top: 67.5rpx;
-}
-.ml-38.data-v-8f30db34 {
-  margin-left: 71.25rpx;
-}
-.mt-38.data-v-8f30db34 {
-  margin-top: 71.25rpx;
-}
-.ml-40.data-v-8f30db34 {
-  margin-left: 75rpx;
-}
-.mt-40.data-v-8f30db34 {
-  margin-top: 75rpx;
-}
-.ml-42.data-v-8f30db34 {
-  margin-left: 78.75rpx;
-}
-.mt-42.data-v-8f30db34 {
-  margin-top: 78.75rpx;
-}
-.ml-44.data-v-8f30db34 {
-  margin-left: 82.5rpx;
-}
-.mt-44.data-v-8f30db34 {
-  margin-top: 82.5rpx;
-}
-.ml-46.data-v-8f30db34 {
-  margin-left: 86.25rpx;
-}
-.mt-46.data-v-8f30db34 {
-  margin-top: 86.25rpx;
-}
-.ml-48.data-v-8f30db34 {
-  margin-left: 90rpx;
-}
-.mt-48.data-v-8f30db34 {
-  margin-top: 90rpx;
-}
-.ml-50.data-v-8f30db34 {
-  margin-left: 93.75rpx;
-}
-.mt-50.data-v-8f30db34 {
-  margin-top: 93.75rpx;
-}
-.ml-52.data-v-8f30db34 {
-  margin-left: 97.5rpx;
-}
-.mt-52.data-v-8f30db34 {
-  margin-top: 97.5rpx;
-}
-.ml-54.data-v-8f30db34 {
-  margin-left: 101.25rpx;
-}
-.mt-54.data-v-8f30db34 {
-  margin-top: 101.25rpx;
-}
-.ml-56.data-v-8f30db34 {
-  margin-left: 105rpx;
-}
-.mt-56.data-v-8f30db34 {
-  margin-top: 105rpx;
-}
-.ml-58.data-v-8f30db34 {
-  margin-left: 108.75rpx;
-}
-.mt-58.data-v-8f30db34 {
-  margin-top: 108.75rpx;
-}
-.ml-60.data-v-8f30db34 {
-  margin-left: 112.5rpx;
-}
-.mt-60.data-v-8f30db34 {
-  margin-top: 112.5rpx;
-}
-.ml-62.data-v-8f30db34 {
-  margin-left: 116.25rpx;
-}
-.mt-62.data-v-8f30db34 {
-  margin-top: 116.25rpx;
-}
-.ml-64.data-v-8f30db34 {
-  margin-left: 120rpx;
-}
-.mt-64.data-v-8f30db34 {
-  margin-top: 120rpx;
-}
-.ml-66.data-v-8f30db34 {
-  margin-left: 123.75rpx;
-}
-.mt-66.data-v-8f30db34 {
-  margin-top: 123.75rpx;
-}
-.ml-68.data-v-8f30db34 {
-  margin-left: 127.5rpx;
-}
-.mt-68.data-v-8f30db34 {
-  margin-top: 127.5rpx;
-}
-.ml-70.data-v-8f30db34 {
-  margin-left: 131.25rpx;
-}
-.mt-70.data-v-8f30db34 {
-  margin-top: 131.25rpx;
-}
-.ml-72.data-v-8f30db34 {
-  margin-left: 135rpx;
-}
-.mt-72.data-v-8f30db34 {
-  margin-top: 135rpx;
-}
-.ml-74.data-v-8f30db34 {
-  margin-left: 138.75rpx;
-}
-.mt-74.data-v-8f30db34 {
-  margin-top: 138.75rpx;
-}
-.ml-76.data-v-8f30db34 {
-  margin-left: 142.5rpx;
-}
-.mt-76.data-v-8f30db34 {
-  margin-top: 142.5rpx;
-}
-.ml-78.data-v-8f30db34 {
-  margin-left: 146.25rpx;
-}
-.mt-78.data-v-8f30db34 {
-  margin-top: 146.25rpx;
-}
-.ml-80.data-v-8f30db34 {
-  margin-left: 150rpx;
-}
-.mt-80.data-v-8f30db34 {
-  margin-top: 150rpx;
-}
-.ml-82.data-v-8f30db34 {
-  margin-left: 153.75rpx;
-}
-.mt-82.data-v-8f30db34 {
-  margin-top: 153.75rpx;
-}
-.ml-84.data-v-8f30db34 {
-  margin-left: 157.5rpx;
-}
-.mt-84.data-v-8f30db34 {
-  margin-top: 157.5rpx;
-}
-.ml-86.data-v-8f30db34 {
-  margin-left: 161.25rpx;
-}
-.mt-86.data-v-8f30db34 {
-  margin-top: 161.25rpx;
-}
-.ml-88.data-v-8f30db34 {
-  margin-left: 165rpx;
-}
-.mt-88.data-v-8f30db34 {
-  margin-top: 165rpx;
-}
-.ml-90.data-v-8f30db34 {
-  margin-left: 168.75rpx;
-}
-.mt-90.data-v-8f30db34 {
-  margin-top: 168.75rpx;
-}
-.ml-92.data-v-8f30db34 {
-  margin-left: 172.5rpx;
-}
-.mt-92.data-v-8f30db34 {
-  margin-top: 172.5rpx;
-}
-.ml-94.data-v-8f30db34 {
-  margin-left: 176.25rpx;
-}
-.mt-94.data-v-8f30db34 {
-  margin-top: 176.25rpx;
-}
-.ml-96.data-v-8f30db34 {
-  margin-left: 180rpx;
-}
-.mt-96.data-v-8f30db34 {
-  margin-top: 180rpx;
-}
-.ml-98.data-v-8f30db34 {
-  margin-left: 183.75rpx;
-}
-.mt-98.data-v-8f30db34 {
-  margin-top: 183.75rpx;
-}
-.ml-100.data-v-8f30db34 {
-  margin-left: 187.5rpx;
-}
-.mt-100.data-v-8f30db34 {
-  margin-top: 187.5rpx;
-}
-.mt-13.data-v-8f30db34 {
-  margin-top: 24.38rpx;
-}
-.ml-5.data-v-8f30db34 {
-  margin-left: 9.38rpx;
-}
-.page.data-v-8f30db34 {
-  padding-bottom: 1185rpx;
-  background-color: #f8e8c1;
-  width: 100%;
-  overflow-y: auto;
-  overflow-x: hidden;
-  height: 100%;
-}
-.section.data-v-8f30db34 {
-  padding: 0 121.88rpx;
-  background-color: #fffef8;
-}
-.group.data-v-8f30db34 {
-  padding: 21.68rpx 4.71rpx 18.23rpx 10.22rpx;
-}
-.font.data-v-8f30db34 {
-  font-size: 30rpx;
-  font-family: Open Sans;
-  line-height: 26.25rpx;
-  color: #323232;
-}
-.text.data-v-8f30db34 {
-  line-height: 27.6rpx;
-}
-.text_2.data-v-8f30db34 {
-  line-height: 27.6rpx;
-}
-.section_2.data-v-8f30db34 {
-  background-color: #fb8b05;
-  width: 112.5rpx;
-  height: 5.63rpx;
-}
-.section_3.data-v-8f30db34 {
-  margin-left: 16.88rpx;
-  margin-right: 15rpx;
-  padding: 35.4rpx 19.89rpx 35.4rpx 24.38rpx;
-  background-color: #fffef8;
-  border-radius: 18.75rpx;
-}
-.font_2.data-v-8f30db34 {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-  line-height: 26.25rpx;
-  color: #323232;
-}
-.text_3.data-v-8f30db34 {
-  color: #fb8b05;
-  line-height: 24.15rpx;
-}
-.group_2.data-v-8f30db34 {
-  margin-top: 18.49rpx;
-}
-.font_3.data-v-8f30db34 {
-  font-size: 22.5rpx;
-  font-family: Open Sans;
-  color: #818181;
-}
-.text_4.data-v-8f30db34 {
-  line-height: 20.85rpx;
-}
-.text_5.data-v-8f30db34 {
-  line-height: 16.54rpx;
-}
-.group_3.data-v-8f30db34 {
-  margin-top: 29.81rpx;
-}
-.image.data-v-8f30db34 {
-  border-radius: 9.38rpx;
-  width: 118.13rpx;
-  height: 151.88rpx;
-}
-.group_4.data-v-8f30db34 {
-  margin-left: 23.38rpx;
-  margin-top: 2.19rpx;
-}
-.text_6.data-v-8f30db34 {
-  line-height: 24.49rpx;
-}
-.pos.data-v-8f30db34 {
-  position: absolute;
-  left: 0.15rpx;
-  top: 50%;
-  transform: translateY(-50%);
-}
-.text_7.data-v-8f30db34 {
-  line-height: 24.43rpx;
-}
-.font_5.data-v-8f30db34 {
-  font-size: 22.5rpx;
-  font-family: Open Sans;
-  line-height: 26.25rpx;
-  color: #323232;
-}
-.text_10.data-v-8f30db34 {
-  margin-top: 22.91rpx;
-}
-.text_1.data-v-8f30db34 {
-  margin-top: 3.39rpx;
-}
-.text_11.data-v-8f30db34 {
-  margin-top: 20.89rpx;
-  color: #939393;
-  font-size: 22.5rpx;
-  font-family: Inter;
-  line-height: 22.97rpx;
-}
-.group_5.data-v-8f30db34 {
-  margin-left: 3.52rpx;
-  margin-right: 14.59rpx;
-}
-.text_8.data-v-8f30db34 {
-  margin-left: 25.03rpx;
-  color: #323232;
-  font-size: 33.75rpx;
-  font-family: Open Sans;
-  font-weight: 600;
-  line-height: 24.88rpx;
-}
-.image_2.data-v-8f30db34 {
-  width: 30rpx;
-  height: 26.25rpx;
-}
-.image_3.data-v-8f30db34 {
-  margin-left: -90.66rpx;
-}
-.font_4.data-v-8f30db34 {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-  line-height: 19.29rpx;
-  font-weight: 600;
-}
-.text_9.data-v-8f30db34 {
-  margin-left: 61.14rpx;
-  color: #323232;
-}
-.group_6.data-v-8f30db34 {
-  margin-top: 26.68rpx;
-  padding: 0 9.54rpx;
-}
-.text_12.data-v-8f30db34 {
-  margin-right: -8.06rpx;
-  line-height: 24.23rpx;
-}
-.group_7.data-v-8f30db34 {
-  line-height: 21.99rpx;
-  height: 22.05rpx;
-}
-.text_13.data-v-8f30db34 {
-  color: #fb8b05;
-  font-size: 30rpx;
-  font-family: Open Sans;
-  font-weight: 600;
-  line-height: 21.99rpx;
-}
-.text_14.data-v-8f30db34 {
-  color: #fb8b05;
-  line-height: 19.39rpx;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.js b/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.js
deleted file mode 100644
index 4e5ef07..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"use strict";
-const common_vendor = require("../../../common/vendor.js");
-const _sfc_main = {
-  __name: "bookings",
-  setup(__props) {
-    const goto = () => {
-      common_vendor.index.navigateTo({
-        url: "/pages/mine/bookings/booking"
-      });
-    };
-    const item = common_vendor.ref([null, null, null]);
-    return (_ctx, _cache) => {
-      return {
-        a: common_vendor.o(($event) => goto()),
-        b: common_vendor.f(item.value, (i, k0, i0) => {
-          return {};
-        })
-      };
-    };
-  }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ba0a1264"], ["__file", "D:/jiangchengfeiyi-xiaochengxu/pages/mine/bookings/bookings.vue"]]);
-wx.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.json b/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.json
deleted file mode 100644
index a0812ee..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "navigationBarTitleText": "",
-  "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.wxml b/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.wxml
deleted file mode 100644
index e89072e..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.wxml
+++ /dev/null
@@ -1 +0,0 @@
-<view class="flex-col page data-v-ba0a1264"><view class="flex-col section data-v-ba0a1264"><view class="flex-row justify-between self-stretch group data-v-ba0a1264"><text class="font text data-v-ba0a1264" bindtap="{{a}}">待消费</text><text class="font text_2 data-v-ba0a1264">已消费</text></view><view class="self-end section_2 data-v-ba0a1264"></view></view><view wx:for="{{b}}" wx:for-item="i" class="flex-col section_3 mt-16 data-v-ba0a1264"><text class="self-end font_2 text_3 data-v-ba0a1264">已消费</text><view class="flex-row items-baseline self-stretch group_2 data-v-ba0a1264"><text class="font_3 text_4 data-v-ba0a1264">订单编号:</text><text class="font_3 text_5 ml-5 data-v-ba0a1264">E20241005095840091406189</text></view><view class="flex-row self-stretch group_3 data-v-ba0a1264"><image class="shrink-0 image data-v-ba0a1264" src="https://ide.code.fun/api/image?token=6736eddfc471750012df05d6&name=bc0e955304da0a2ccafe3a66ac1f3aca.png"/><view class="flex-col flex-1 group_4 data-v-ba0a1264"><view class="flex-row justify-center self-stretch relative data-v-ba0a1264"><text class="font_2 text_6 pos data-v-ba0a1264">整套约拍</text><text class="font_2 text_7 data-v-ba0a1264">【时尚精选】</text></view><text class="self-start font_5 text_10 data-v-ba0a1264">到店日期:2024-10-15</text><text class="self-start font_5 text_1 data-v-ba0a1264">具体场次:上午场(09:30-12:00)</text><text class="self-stretch text_11 data-v-ba0a1264">已选服务:妆发服务;摄影服务;室内;</text></view><view class="flex-row items-center shrink-0 self-start group_5 data-v-ba0a1264"><text class="text_8 data-v-ba0a1264">138.</text><image class="shrink-0 image_2 image_3 data-v-ba0a1264" src="https://ide.code.fun/api/image?token=6736eddfc471750012df05d6&name=6c5700b3ac5fd83a23d838cb456bdd10.png"/><text class="font_4 text_9 data-v-ba0a1264">00</text></view></view><view class="flex-row justify-end items-center self-stretch group_6 data-v-ba0a1264"><text class="font_2 text_12 data-v-ba0a1264">已付款:</text><image class="image_2 data-v-ba0a1264" src="https://ide.code.fun/api/image?token=6736eddfc471750012df05d6&name=ea05ec17023763edb8cfe919508e0459.png"/><view class="group_7 data-v-ba0a1264"><text class="text_13 data-v-ba0a1264">88</text><text class="font_4 text_14 data-v-ba0a1264">.00</text></view></view><view class="flex-col justify-start items-center self-end text-wrapper data-v-ba0a1264"><text class="font_2 text_15 data-v-ba0a1264">删除记录</text></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.wxss b/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.wxss
deleted file mode 100644
index 7b1438e..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/mine/bookings/bookings.wxss
+++ /dev/null
@@ -1,577 +0,0 @@
-/* 水平间距 */
-/* 水平间距 */
-/************************************************************
-** 请将全局样式拷贝到项目的全局 CSS 文件或者当前页面的顶部 **
-** 否则页面将无法正常显示                                  **
-************************************************************/
-html.data-v-ba0a1264 {
-  font-size: 16px;
-}
-body.data-v-ba0a1264 {
-  margin: 0;
-  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
-    'Droid Sans', 'Helvetica Neue', 'Microsoft Yahei', sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-view.data-v-ba0a1264,
-image.data-v-ba0a1264,
-text.data-v-ba0a1264 {
-  box-sizing: border-box;
-  flex-shrink: 0;
-}
-#app.data-v-ba0a1264 {
-  width: 100vw;
-  height: 100vh;
-}
-.flex-row.data-v-ba0a1264 {
-  display: flex;
-  flex-direction: row;
-}
-.flex-col.data-v-ba0a1264 {
-  display: flex;
-  flex-direction: column;
-}
-.justify-start.data-v-ba0a1264 {
-  justify-content: flex-start;
-}
-.justify-end.data-v-ba0a1264 {
-  justify-content: flex-end;
-}
-.justify-center.data-v-ba0a1264 {
-  justify-content: center;
-}
-.justify-between.data-v-ba0a1264 {
-  justify-content: space-between;
-}
-.justify-around.data-v-ba0a1264 {
-  justify-content: space-around;
-}
-.justify-evenly.data-v-ba0a1264 {
-  justify-content: space-evenly;
-}
-.items-start.data-v-ba0a1264 {
-  align-items: flex-start;
-}
-.items-end.data-v-ba0a1264 {
-  align-items: flex-end;
-}
-.items-center.data-v-ba0a1264 {
-  align-items: center;
-}
-.items-baseline.data-v-ba0a1264 {
-  align-items: baseline;
-}
-.items-stretch.data-v-ba0a1264 {
-  align-items: stretch;
-}
-.self-start.data-v-ba0a1264 {
-  align-self: flex-start;
-}
-.self-end.data-v-ba0a1264 {
-  align-self: flex-end;
-}
-.self-center.data-v-ba0a1264 {
-  align-self: center;
-}
-.self-baseline.data-v-ba0a1264 {
-  align-self: baseline;
-}
-.self-stretch.data-v-ba0a1264 {
-  align-self: stretch;
-}
-.flex-1.data-v-ba0a1264 {
-  flex: 1 1 0%;
-}
-.flex-auto.data-v-ba0a1264 {
-  flex: 1 1 auto;
-}
-.grow.data-v-ba0a1264 {
-  flex-grow: 1;
-}
-.grow-0.data-v-ba0a1264 {
-  flex-grow: 0;
-}
-.shrink.data-v-ba0a1264 {
-  flex-shrink: 1;
-}
-.shrink-0.data-v-ba0a1264 {
-  flex-shrink: 0;
-}
-.relative.data-v-ba0a1264 {
-  position: relative;
-}
-.ml-2.data-v-ba0a1264 {
-  margin-left: 3.75rpx;
-}
-.mt-2.data-v-ba0a1264 {
-  margin-top: 3.75rpx;
-}
-.ml-4.data-v-ba0a1264 {
-  margin-left: 7.5rpx;
-}
-.mt-4.data-v-ba0a1264 {
-  margin-top: 7.5rpx;
-}
-.ml-6.data-v-ba0a1264 {
-  margin-left: 11.25rpx;
-}
-.mt-6.data-v-ba0a1264 {
-  margin-top: 11.25rpx;
-}
-.ml-8.data-v-ba0a1264 {
-  margin-left: 15rpx;
-}
-.mt-8.data-v-ba0a1264 {
-  margin-top: 15rpx;
-}
-.ml-10.data-v-ba0a1264 {
-  margin-left: 18.75rpx;
-}
-.mt-10.data-v-ba0a1264 {
-  margin-top: 18.75rpx;
-}
-.ml-12.data-v-ba0a1264 {
-  margin-left: 22.5rpx;
-}
-.mt-12.data-v-ba0a1264 {
-  margin-top: 22.5rpx;
-}
-.ml-14.data-v-ba0a1264 {
-  margin-left: 26.25rpx;
-}
-.mt-14.data-v-ba0a1264 {
-  margin-top: 26.25rpx;
-}
-.ml-16.data-v-ba0a1264 {
-  margin-left: 30rpx;
-}
-.mt-16.data-v-ba0a1264 {
-  margin-top: 30rpx;
-}
-.ml-18.data-v-ba0a1264 {
-  margin-left: 33.75rpx;
-}
-.mt-18.data-v-ba0a1264 {
-  margin-top: 33.75rpx;
-}
-.ml-20.data-v-ba0a1264 {
-  margin-left: 37.5rpx;
-}
-.mt-20.data-v-ba0a1264 {
-  margin-top: 37.5rpx;
-}
-.ml-22.data-v-ba0a1264 {
-  margin-left: 41.25rpx;
-}
-.mt-22.data-v-ba0a1264 {
-  margin-top: 41.25rpx;
-}
-.ml-24.data-v-ba0a1264 {
-  margin-left: 45rpx;
-}
-.mt-24.data-v-ba0a1264 {
-  margin-top: 45rpx;
-}
-.ml-26.data-v-ba0a1264 {
-  margin-left: 48.75rpx;
-}
-.mt-26.data-v-ba0a1264 {
-  margin-top: 48.75rpx;
-}
-.ml-28.data-v-ba0a1264 {
-  margin-left: 52.5rpx;
-}
-.mt-28.data-v-ba0a1264 {
-  margin-top: 52.5rpx;
-}
-.ml-30.data-v-ba0a1264 {
-  margin-left: 56.25rpx;
-}
-.mt-30.data-v-ba0a1264 {
-  margin-top: 56.25rpx;
-}
-.ml-32.data-v-ba0a1264 {
-  margin-left: 60rpx;
-}
-.mt-32.data-v-ba0a1264 {
-  margin-top: 60rpx;
-}
-.ml-34.data-v-ba0a1264 {
-  margin-left: 63.75rpx;
-}
-.mt-34.data-v-ba0a1264 {
-  margin-top: 63.75rpx;
-}
-.ml-36.data-v-ba0a1264 {
-  margin-left: 67.5rpx;
-}
-.mt-36.data-v-ba0a1264 {
-  margin-top: 67.5rpx;
-}
-.ml-38.data-v-ba0a1264 {
-  margin-left: 71.25rpx;
-}
-.mt-38.data-v-ba0a1264 {
-  margin-top: 71.25rpx;
-}
-.ml-40.data-v-ba0a1264 {
-  margin-left: 75rpx;
-}
-.mt-40.data-v-ba0a1264 {
-  margin-top: 75rpx;
-}
-.ml-42.data-v-ba0a1264 {
-  margin-left: 78.75rpx;
-}
-.mt-42.data-v-ba0a1264 {
-  margin-top: 78.75rpx;
-}
-.ml-44.data-v-ba0a1264 {
-  margin-left: 82.5rpx;
-}
-.mt-44.data-v-ba0a1264 {
-  margin-top: 82.5rpx;
-}
-.ml-46.data-v-ba0a1264 {
-  margin-left: 86.25rpx;
-}
-.mt-46.data-v-ba0a1264 {
-  margin-top: 86.25rpx;
-}
-.ml-48.data-v-ba0a1264 {
-  margin-left: 90rpx;
-}
-.mt-48.data-v-ba0a1264 {
-  margin-top: 90rpx;
-}
-.ml-50.data-v-ba0a1264 {
-  margin-left: 93.75rpx;
-}
-.mt-50.data-v-ba0a1264 {
-  margin-top: 93.75rpx;
-}
-.ml-52.data-v-ba0a1264 {
-  margin-left: 97.5rpx;
-}
-.mt-52.data-v-ba0a1264 {
-  margin-top: 97.5rpx;
-}
-.ml-54.data-v-ba0a1264 {
-  margin-left: 101.25rpx;
-}
-.mt-54.data-v-ba0a1264 {
-  margin-top: 101.25rpx;
-}
-.ml-56.data-v-ba0a1264 {
-  margin-left: 105rpx;
-}
-.mt-56.data-v-ba0a1264 {
-  margin-top: 105rpx;
-}
-.ml-58.data-v-ba0a1264 {
-  margin-left: 108.75rpx;
-}
-.mt-58.data-v-ba0a1264 {
-  margin-top: 108.75rpx;
-}
-.ml-60.data-v-ba0a1264 {
-  margin-left: 112.5rpx;
-}
-.mt-60.data-v-ba0a1264 {
-  margin-top: 112.5rpx;
-}
-.ml-62.data-v-ba0a1264 {
-  margin-left: 116.25rpx;
-}
-.mt-62.data-v-ba0a1264 {
-  margin-top: 116.25rpx;
-}
-.ml-64.data-v-ba0a1264 {
-  margin-left: 120rpx;
-}
-.mt-64.data-v-ba0a1264 {
-  margin-top: 120rpx;
-}
-.ml-66.data-v-ba0a1264 {
-  margin-left: 123.75rpx;
-}
-.mt-66.data-v-ba0a1264 {
-  margin-top: 123.75rpx;
-}
-.ml-68.data-v-ba0a1264 {
-  margin-left: 127.5rpx;
-}
-.mt-68.data-v-ba0a1264 {
-  margin-top: 127.5rpx;
-}
-.ml-70.data-v-ba0a1264 {
-  margin-left: 131.25rpx;
-}
-.mt-70.data-v-ba0a1264 {
-  margin-top: 131.25rpx;
-}
-.ml-72.data-v-ba0a1264 {
-  margin-left: 135rpx;
-}
-.mt-72.data-v-ba0a1264 {
-  margin-top: 135rpx;
-}
-.ml-74.data-v-ba0a1264 {
-  margin-left: 138.75rpx;
-}
-.mt-74.data-v-ba0a1264 {
-  margin-top: 138.75rpx;
-}
-.ml-76.data-v-ba0a1264 {
-  margin-left: 142.5rpx;
-}
-.mt-76.data-v-ba0a1264 {
-  margin-top: 142.5rpx;
-}
-.ml-78.data-v-ba0a1264 {
-  margin-left: 146.25rpx;
-}
-.mt-78.data-v-ba0a1264 {
-  margin-top: 146.25rpx;
-}
-.ml-80.data-v-ba0a1264 {
-  margin-left: 150rpx;
-}
-.mt-80.data-v-ba0a1264 {
-  margin-top: 150rpx;
-}
-.ml-82.data-v-ba0a1264 {
-  margin-left: 153.75rpx;
-}
-.mt-82.data-v-ba0a1264 {
-  margin-top: 153.75rpx;
-}
-.ml-84.data-v-ba0a1264 {
-  margin-left: 157.5rpx;
-}
-.mt-84.data-v-ba0a1264 {
-  margin-top: 157.5rpx;
-}
-.ml-86.data-v-ba0a1264 {
-  margin-left: 161.25rpx;
-}
-.mt-86.data-v-ba0a1264 {
-  margin-top: 161.25rpx;
-}
-.ml-88.data-v-ba0a1264 {
-  margin-left: 165rpx;
-}
-.mt-88.data-v-ba0a1264 {
-  margin-top: 165rpx;
-}
-.ml-90.data-v-ba0a1264 {
-  margin-left: 168.75rpx;
-}
-.mt-90.data-v-ba0a1264 {
-  margin-top: 168.75rpx;
-}
-.ml-92.data-v-ba0a1264 {
-  margin-left: 172.5rpx;
-}
-.mt-92.data-v-ba0a1264 {
-  margin-top: 172.5rpx;
-}
-.ml-94.data-v-ba0a1264 {
-  margin-left: 176.25rpx;
-}
-.mt-94.data-v-ba0a1264 {
-  margin-top: 176.25rpx;
-}
-.ml-96.data-v-ba0a1264 {
-  margin-left: 180rpx;
-}
-.mt-96.data-v-ba0a1264 {
-  margin-top: 180rpx;
-}
-.ml-98.data-v-ba0a1264 {
-  margin-left: 183.75rpx;
-}
-.mt-98.data-v-ba0a1264 {
-  margin-top: 183.75rpx;
-}
-.ml-100.data-v-ba0a1264 {
-  margin-left: 187.5rpx;
-}
-.mt-100.data-v-ba0a1264 {
-  margin-top: 187.5rpx;
-}
-.ml-5.data-v-ba0a1264 {
-  margin-left: 9.38rpx;
-}
-.page.data-v-ba0a1264 {
-  padding-bottom: 1085.63rpx;
-  background-color: #f8e8c1;
-  width: 100%;
-  overflow-y: auto;
-  overflow-x: hidden;
-  height: 100%;
-}
-.section.data-v-ba0a1264 {
-  padding-left: 132.09rpx;
-  padding-right: 116.25rpx;
-  background-color: #fffef8;
-}
-.group.data-v-ba0a1264 {
-  padding: 21.68rpx 0 19.16rpx;
-}
-.font.data-v-ba0a1264 {
-  font-size: 30rpx;
-  font-family: Open Sans;
-  line-height: 26.25rpx;
-  color: #323232;
-}
-.text.data-v-ba0a1264 {
-  line-height: 27.6rpx;
-}
-.text_2.data-v-ba0a1264 {
-  margin-right: 10.33rpx;
-  line-height: 27.6rpx;
-}
-.section_2.data-v-ba0a1264 {
-  background-color: #fb8b05;
-  width: 112.5rpx;
-  height: 5.63rpx;
-}
-.section_3.data-v-ba0a1264 {
-  margin-left: 16.88rpx;
-  margin-right: 15rpx;
-  padding: 30rpx 20.06rpx 30rpx 24.38rpx;
-  background-color: #fffef8;
-  border-radius: 18.75rpx;
-}
-.font_2.data-v-ba0a1264 {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-  line-height: 26.25rpx;
-  color: #323232;
-}
-.text_3.data-v-ba0a1264 {
-  color: #fb8b05;
-  line-height: 24.15rpx;
-}
-.group_2.data-v-ba0a1264 {
-  margin-top: 18.49rpx;
-}
-.font_3.data-v-ba0a1264 {
-  font-size: 22.5rpx;
-  font-family: Open Sans;
-  color: #818181;
-}
-.text_4.data-v-ba0a1264 {
-  line-height: 20.85rpx;
-}
-.text_5.data-v-ba0a1264 {
-  line-height: 16.54rpx;
-}
-.group_3.data-v-ba0a1264 {
-  margin-top: 29.81rpx;
-}
-.image.data-v-ba0a1264 {
-  border-radius: 9.38rpx;
-  width: 118.13rpx;
-  height: 151.88rpx;
-}
-.group_4.data-v-ba0a1264 {
-  margin: 2.19rpx 0 5.38rpx 23.38rpx;
-}
-.text_6.data-v-ba0a1264 {
-  line-height: 24.49rpx;
-}
-.pos.data-v-ba0a1264 {
-  position: absolute;
-  left: 0.15rpx;
-  top: 50%;
-  transform: translateY(-50%);
-}
-.text_7.data-v-ba0a1264 {
-  line-height: 24.43rpx;
-}
-.font_5.data-v-ba0a1264 {
-  font-size: 22.5rpx;
-  font-family: Open Sans;
-  line-height: 26.25rpx;
-  color: #323232;
-}
-.text_10.data-v-ba0a1264 {
-  margin-top: 21.04rpx;
-}
-.text_1.data-v-ba0a1264 {
-  margin-top: 3.39rpx;
-}
-.text_11.data-v-ba0a1264 {
-  margin-top: 19.01rpx;
-  color: #939393;
-  font-size: 22.5rpx;
-  font-family: Inter;
-  line-height: 22.97rpx;
-}
-.group_5.data-v-ba0a1264 {
-  margin-left: 3.52rpx;
-  margin-right: 14.42rpx;
-}
-.text_8.data-v-ba0a1264 {
-  margin-left: 25.03rpx;
-  color: #323232;
-  font-size: 33.75rpx;
-  font-family: Open Sans;
-  font-weight: 600;
-  line-height: 24.88rpx;
-}
-.image_2.data-v-ba0a1264 {
-  width: 30rpx;
-  height: 26.25rpx;
-}
-.image_3.data-v-ba0a1264 {
-  margin-left: -90.66rpx;
-}
-.font_4.data-v-ba0a1264 {
-  font-size: 26.25rpx;
-  font-family: Open Sans;
-  line-height: 19.29rpx;
-  font-weight: 600;
-}
-.text_9.data-v-ba0a1264 {
-  margin-left: 61.14rpx;
-  color: #323232;
-}
-.group_6.data-v-ba0a1264 {
-  margin-top: 37.93rpx;
-  padding: 0 9.38rpx;
-}
-.text_12.data-v-ba0a1264 {
-  margin-right: -8.06rpx;
-  line-height: 24.23rpx;
-}
-.group_7.data-v-ba0a1264 {
-  line-height: 21.99rpx;
-  height: 22.05rpx;
-}
-.text_13.data-v-ba0a1264 {
-  color: #fb8b05;
-  font-size: 30rpx;
-  font-family: Open Sans;
-  font-weight: 600;
-  line-height: 21.99rpx;
-}
-.text_14.data-v-ba0a1264 {
-  color: #fb8b05;
-  line-height: 19.39rpx;
-}
-.text-wrapper.data-v-ba0a1264 {
-  margin-right: 2.44rpx;
-  margin-top: 35.4rpx;
-  padding: 13.54rpx 0 14.83rpx;
-  background-color: #fffef8;
-  border-radius: 75rpx;
-  width: 155.63rpx;
-  border: solid 1.88rpx #cbcbcb;
-}
-.text_15.data-v-ba0a1264 {
-  line-height: 24.13rpx;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/mine/mineorders/mineorders.js b/unpackage/dist/dev/mp-weixin/pages/mine/mineorders/mineorders.js
index bd48b34..ed0360a 100644
--- a/unpackage/dist/dev/mp-weixin/pages/mine/mineorders/mineorders.js
+++ b/unpackage/dist/dev/mp-weixin/pages/mine/mineorders/mineorders.js
@@ -66,7 +66,7 @@ const _sfc_main = {
     return (_ctx, _cache) => {
       return {
         a: _ctx.orderStatus === "全部" ? 1 : "",
-        b: isSelected("全") ? 1 : "",
+        b: isSelected("全部") ? 1 : "",
         c: common_vendor.o(($event) => changeTab("全部")),
         d: _ctx.orderStatus === "待支付" ? 1 : "",
         e: isSelected("待支付") ? 1 : "",
diff --git a/unpackage/dist/dev/mp-weixin/project.private.config.json b/unpackage/dist/dev/mp-weixin/project.private.config.json
index 3be0b7d..436aeec 100644
--- a/unpackage/dist/dev/mp-weixin/project.private.config.json
+++ b/unpackage/dist/dev/mp-weixin/project.private.config.json
@@ -7,6 +7,13 @@
   "condition": {
     "miniprogram": {
       "list": [
+        {
+          "name": "pages/mine/Contact/Contact",
+          "pathName": "pages/mine/Contact/Contact",
+          "query": "",
+          "launchMode": "default",
+          "scene": null
+        },
         {
           "name": "pages/booking/CostumeDisplay/CostumeDisplay",
           "pathName": "pages/booking/CostumeDisplay/CostumeDisplay",