From 4fbb636f415ec390e6681018964916e94c11d6fe Mon Sep 17 00:00:00 2001
From: Liuyi <candymxq888@outlook.com>
Date: 星期二, 24 九月 2024 18:31:48 +0800
Subject: [PATCH] 对接用户及会员卡数据接口,添加位置申请api

---
 unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png |    0 
 unpackage/dist/dev/mp-weixin/util/request.js                 |   28 
 App.vue                                                      |   19 
 components/navbar/navbar.vue                                 |    7 
 config/baseUrl.js                                            |    2 
 unpackage/dist/dev/mp-weixin/pages/index/index.js            |   54 +
 unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js    |    4 
 unpackage/dist/dev/mp-weixin/common/vendor.js                |  205 -----
 unpackage/dist/dev/mp-weixin/pages/addCard/index.js          |   40 
 unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml       |    1 
 util/request.js                                              |   24 
 pages/index/index.vue                                        |  866 ++++++++++++++----------
 unpackage/dist/dev/mp-weixin/pages/recharge/index.wxss       |    0 
 unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss  |   82 ++
 pages/balanceRecord/index.vue                                |  127 +++
 unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml  |    2 
 static/images/login/loginbg.png                              |    0 
 unpackage/dist/dev/mp-weixin/api/index.js                    |   14 
 unpackage/dist/dev/mp-weixin/pages/index/index.wxss          |  170 +++-
 pages.json                                                   |   13 
 unpackage/dist/dev/mp-weixin/pages/index/index.wxml          |    2 
 unpackage/dist/dev/mp-weixin/app.js                          |   18 
 unpackage/dist/dev/mp-weixin/config/baseUrl.js               |    3 
 unpackage/dist/dev/mp-weixin/app.json                        |    4 
 unpackage/dist/dev/mp-weixin/project.config.json             |    2 
 pages/addCard/index.vue                                      |   44 
 pages/recharge/index.vue                                     |   13 
 /dev/null                                                    |  228 ------
 manifest.json                                                |    4 
 unpackage/dist/dev/mp-weixin/components/navbar/navbar.js     |   10 
 unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml        |    2 
 unpackage/dist/dev/mp-weixin/pages/recharge/index.js         |   20 
 unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss        |    1 
 api/index.js                                                 |   12 
 unpackage/dist/dev/mp-weixin/pages/recharge/index.json       |    6 
 unpackage/dist/dev/mp-weixin/common/assets.js                |   14 
 36 files changed, 1,078 insertions(+), 963 deletions(-)

diff --git a/App.vue b/App.vue
index 4742f87..1efba44 100644
--- a/App.vue
+++ b/App.vue
@@ -1,10 +1,21 @@
 <script setup>
 	import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
-	// import {getToken} from './util/auth';
+	import { wxLoginApi } from './api/index.js'
 	onLaunch(() => {
-	  console.log("App Launch");
-	  //判断是否登录
-		// let token = getToken()
+		if(!uni.getStorageSync('openId')){
+			wx.login({
+				success:async (res1)=>{
+					uni.setStorageSync('code',res1.code)
+					await wxLoginApi({code:res1.code}).then((res2) =>{
+					uni.setStorageSync('openId',res2.data.userId)
+					uni.setStorageSync('token',res2.data.token)
+				  })
+				},
+				fail:(e) =>{
+					console.log(e)
+				}
+			})
+		}
 	});
 	onShow(() => {
 	  console.log("App Show");
diff --git a/api/index.js b/api/index.js
new file mode 100644
index 0000000..8b77c9a
--- /dev/null
+++ b/api/index.js
@@ -0,0 +1,12 @@
+import { request } from "../util/request";
+
+export function wxLoginApi(data){
+	return request('/user/wxLogin',data,'POST')
+}
+
+export function getVipInfoApi(){
+	return request('/waterCard/getUserCard',{},'GET')
+}
+export function getUserInfo(){
+	return request('/user/loginUser',{},'GET')
+}
diff --git a/components/navbar/navbar.vue b/components/navbar/navbar.vue
index 78ecbbe..de430d4 100644
--- a/components/navbar/navbar.vue
+++ b/components/navbar/navbar.vue
@@ -1,15 +1,14 @@
 <template>
 	<view class="navbar">
-		<image src="../../static/images/addCard/back.png" alt="" @click="navBackToChild()"></image>
+		<image src="../../static/images/addCard/back.png" alt="" @click="navBackTo()"></image>
 		<text>{{title}}</text>
 	</view>
 </template>
 
 <script setup>
 	import { ref } from 'vue'
-	const emit = defineEmits(['navBackTo'])
-	function navBackToChild(){
-		emit('navBackTo')
+	function navBackTo(){
+		uni.navigateBack()
 	}
 	const props = defineProps({
 		title:{
diff --git a/config/baseUrl.js b/config/baseUrl.js
new file mode 100644
index 0000000..7b5c074
--- /dev/null
+++ b/config/baseUrl.js
@@ -0,0 +1,2 @@
+// export const BASE_URL = 'http://113.250.189.120:8031'
+export const BASE_URL = 'http://192.168.0.105:8031'
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
index a783957..ecba768 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,6 +1,6 @@
 {
     "name" : "water-drinking-uniapp",
-    "appid" : "",
+    "appid" : "__UNI__97986D6",
     "description" : "",
     "versionName" : "1.0.0",
     "versionCode" : "100",
@@ -50,7 +50,7 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "",
+        "appid" : "wxe86c40810c2c0e98",
         "setting" : {
             "urlCheck" : false
         },
diff --git a/pages.json b/pages.json
index abf6a93..282c4cd 100644
--- a/pages.json
+++ b/pages.json
@@ -7,12 +7,6 @@
 			}
 		},
 		{
-			"path": "pages/login/index",
-			"style": {
-				"navigationStyle":"custom"
-			}
-		},
-		{
 			"path" : "pages/addCard/index",
 			"style": {
 				"navigationStyle":"custom"
@@ -23,6 +17,13 @@
 			"style": {
 				"navigationStyle":"custom"
 			}
+		},
+		{
+			"path" : "pages/recharge/index",
+			"style" : 
+			{
+				"navigationBarTitleText" : ""
+			}
 		}
 	],
 	"globalStyle": {
diff --git a/pages/addCard/index.vue b/pages/addCard/index.vue
index c3a1b07..ed779c3 100644
--- a/pages/addCard/index.vue
+++ b/pages/addCard/index.vue
@@ -1,7 +1,23 @@
+<script setup>
+import { onMounted,ref} from 'vue';
+
+const form = ref({
+    waterCardNumber:'',
+    userName:'',
+    userPhone:'',
+    address:'',
+    remark:'',
+})
+function submit(){
+	console('res')
+}
+onMounted(() =>{
+})
+</script>
 <template>
 	<view class="container">
 		<view class="content">
-			<navbar @navBackTo="navBackTo()" title="绑定会员卡"></navbar>
+			<navbar title="绑定会员卡"></navbar>
 			<view class="main">
 				<view class="title">请填写卡及个人信息</view>
 				<view class="form">
@@ -40,31 +56,6 @@
 		</view>
 	</view>
 </template>
-
-<script setup>
-import { onMounted,ref} from 'vue';
-//状态栏高度
-// const statusBarHeight = ref()
-//返回
-function navBackTo(){
-	uni.navigateBack()
-}
-const form = ref({
-    cardNumber:'',
-    name:'',
-    phone:'',
-    address:'',
-    remark:'',
-})
-function submit(){
-	console('res')
-}
-onMounted(() =>{
-	// if(uni.getMenuButtonBoundingClientRect){
-	// 	statusBarHeight.value = uni.getMenuButtonBoundingClientRect().top * 2
-	// }
-})
-</script>
 
 <style lang="scss" scoped>
 	   .container{
@@ -174,6 +165,7 @@
 				   text-align: center;
 				   line-height:98rpx;
 				   margin-top: 236rpx;
+				   letter-spacing:2px;
 			   }
 		   }
 	   }
diff --git a/pages/balanceRecord/index.vue b/pages/balanceRecord/index.vue
index 014538d..f74f928 100644
--- a/pages/balanceRecord/index.vue
+++ b/pages/balanceRecord/index.vue
@@ -1,19 +1,128 @@
-<template>
-	<view class="container">
-		<navbar @navBackTo="navBackTo()" title="余额记录"></navbar>
-	</view>
-</template>
-
 <script setup>
+	import { ref } from 'vue'
 	//返回
 	function navBackTo(){
 		uni.navigateBack()
 	}
+	const banlanceList = ref([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
 </script>
+<template>
+	<view class="container">
+		<navbar @navBackTo="navBackTo()" title="余额记录"></navbar>
+		<view class="date">
+			<view>
+				<text>2024年09月</text>
+			</view>
+			<view>
+				<text>支出¥5341.05</text>
+				<text>充值¥941.59</text>
+			</view>
+		</view>
+		<view class="main">
+			<block v-for="(item,index) in banlanceList">
+				<view class="item">
+					<view class="item-left">
+						<text>缴费</text>
+						<text class="methods">支付方式:微信</text>
+						<text>2024年09月20日 18:25</text>
+					</view>
+					<view class="item-right">
+						<text>-¥125.00</text>
+						<text>2000.00</text>
+					</view>
+				</view>
+			</block>
+		</view>
+	</view>
+</template>
 
 <style lang="scss">
-	  .container{
-		  width: 100%;
-		  height: 100vh;
+	.container{
+		width: 100%;
+		height: 100vh;
+		background:linear-gradient(to top,#FFFFFF,#E8EFFF);
+		    .date{
+			  height: 84rpx;
+			  width:100%;
+			  display: flex;
+			  padding: 0 36rpx;
+			  box-sizing: border-box;
+			  justify-content:space-between;
+			  align-items: center;
+			  view:first-child{
+				  font-weight: 300;
+				  font-size: 32rpx;
+				  color: #000000;
+			  }
+			  view:last-child{
+				  font-weight: 300;
+				  font-size: 24rpx;
+				  color: #7E7E7E;
+				  text:first-child{
+					  margin-right:30rpx;
+				  }
+			  }
+		  }
+		  .main{
+			  width:99%;
+			  height: calc(100vh - 84rpx - 176rpx - 70rpx);
+			  background: #fff;
+			  border-radius:20rpx;
+			  margin: 0 auto;
+			  padding:28rpx 48rpx;
+			  box-sizing: border-box;
+			  overflow-y: scroll;
+			  // background: #7E7E7E;
+			  .item{
+				  width:100%;
+				  height:184rpx;
+				  // background:rgba(170, 216, 255, 0.2);
+				  border-bottom:1rpx solid #D8D8D8;
+				  box-sizing:border-box;
+				  padding-bottom:38rpx;
+				  justify-content:space-between;
+				  align-items: flex-end;
+				  display: flex;
+				  .item-left{
+					  height:100%;
+					  display:flex;
+					  flex-direction:column;
+					  justify-content:space-between;
+					  align-items: flex-start;
+					  text:first-child{
+						font-weight: 300;
+						font-size: 32rpx;
+						color: #000000;  
+					  }
+					  .methods{
+						font-weight: 300;
+						font-size: 32rpx;
+						color: #474646;  
+					  }
+					  text:last-child{
+						  font-weight: 300;
+						  font-size: 24rpx;
+						  color: #A7A7A7;
+					  }
+				  }
+				  .item-right{
+					  height:100%;
+					  display:flex;
+					  flex-direction:column;
+					  justify-content:flex-end;
+					  align-items: flex-end;
+					  text:first-child{
+						  font-weight: 300;
+						  font-size: 32rpx;
+						  color: #000000;
+					  }
+					  text:last-child{
+						  font-weight: 300;
+						  font-size: 24rpx;
+						  color: #A7A7A7;
+					  }
+				  }
+			  }
+		  }
 	  } 
 </style>
diff --git a/pages/index/index.vue b/pages/index/index.vue
index c217f91..d8fad38 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -1,17 +1,91 @@
-import { onMounted } from "vue"
+<script setup>
+    import { onMounted, ref } from "vue";
+	import { getVipInfoApi } from '../../api/index.js'
+	import { getUserInfo } from '../../api/index.js'
+	//胶囊高度
+	const topHeight = ref(0)
+	function getTopHeight(){
+		if(uni.getMenuButtonBoundingClientRect){
+			topHeight.value = (uni.getMenuButtonBoundingClientRect().top + uni.getMenuButtonBoundingClientRect().height) * 2
+		}
+	}
+	/**
+	 * 会员卡相关
+	 */
+	const vipInfo = ref()
+	const isVip = ref(false)
+	//获取会员卡信息
+	async function getVipInfo(){
+		let res = await getUserInfo()
+		if(res.data.userInfo.waterCardNumber){
+			let res1 = await getVipInfoApi()
+			vipInfo.value = res1.data
+			isVip.value = true
+		}else{
+			isVip.value = false
+		}
+	}
+	function navToAddCard(){
+		uni.navigateTo({
+			url:'/pages/addCard/index'
+		})
+	}
+	/**
+	 * 功能列表相关
+	 */
+	
+	const functionList = ref([
+		{text:'余额记录',icon:'../../static/images/index/icon31.png',url:''},
+		{text:'消费记录',icon:'../../static/images/index/icon32.png',url:''},
+		{text:'充值记录',icon:'../../static/images/index/icon33.png',url:''},
+		{text:'账户共享',icon:'../../static/images/index/icon34.png',url:''},
+		{text:'优惠卷',icon:'../../static/images/index/icon35.png',url:''},
+		{text:'电子发票',icon:'../../static/images/index/icon36.png',url:''},
+		{text:'联系客服',icon:'../../static/images/index/icon37.png',url:''},
+		{text:'推广分佣',icon:'../../static/images/index/icon38.png',url:'/pages/login/index'},
+	])
+	function navTo(itemUrl){
+		if(itemUrl){
+			uni.navigateTo({
+				url:itemUrl
+			})
+		}
+	}
+	//获取用户地理位置
+	async function getUserLocation(){
+		wx.getLocation({
+			type: 'wgs84',
+			success(res){
+			const latitude = res.latitude
+			const longitude = res.longitude
+			const speed = res.speed
+			const accuracy = res.accuracy
+			},
+			fail(e){
+				console.log('e',e)
+			}
+		})
+		console.log('location')
+	}
+	onMounted( async() =>{
+		getTopHeight()
+		await getVipInfo()
+		// await getUserLocation()
+	})
+</script>
 
 <template>
 	<view class="container">
 		<view class="content">
 			<view class="card-box" :style="{paddingTop:topHeight + 'rpx'}">
 				<view class="card">
-					<view class="card-content" @click="navToAddCard()">
+					<view class="card-content">
 						<view v-if="isVip" class="card-title">
 							<view>会员卡</view>
 							<image src="../../static/images/index/code1.png" alt=""></image>
 						</view>
 						<view v-else class="card-add">
-							<view>
+							<view @click="navToAddCard()">
 								<image src="../../static/images/index/vip-add.png" alt=""></image>
 								<text>添加会员卡</text>
 							</view>
@@ -94,48 +168,26 @@
 				</view>
 			</view>
 		</view>
+		
+		<!-- 微信授权弹窗 -->
+		<!-- <uni-popup ref="popupRef" background-color="#fff">
+			<view class="popup-content">
+				<text class="popup-title">微信登录</text>
+				<view class="hr"></view>
+				<view class="img-box"><img src="../../static/images/login/logo.png" alt="" class="img"/></view>
+				<view class="info-box">
+					<view class="info-text1">青源直饮水平台申请获取以下权限:</view>
+					<view class="hr2"></view>
+					<view class="info-text2">· 获得你的公开信息(昵称、头像、地区及性别)</view>
+					<view class="button-box">
+						<button  class="button1" @click="popupRef.close('bottom')">取消</button>
+						<button  class="button2" @click="wxLoginFn()">确定</button>
+					</view>
+				</view>
+			</view>
+		</uni-popup> -->
 	</view>
 </template>
-
-<script setup>
-    import { onMounted, ref } from "vue"
-	//胶囊高度
-	const topHeight = ref(0)
-	/**
-	 * 会员卡相关
-	 */
-	const isVip = ref(false)
-	function navToAddCard(){
-		uni.navigateTo({
-			url:'/pages/addCard/index'
-		})
-	}
-	/**
-	 * 功能列表相关
-	 */
-	const functionList = ref([
-		{text:'余额记录',icon:'../../static/images/index/icon31.png',url:'/pages/balanceRecord/index'},
-		{text:'消费记录',icon:'../../static/images/index/icon32.png',url:'/pages/login/index'},
-		{text:'充值记录',icon:'../../static/images/index/icon33.png',url:'/pages/login/index'},
-		{text:'账户共享',icon:'../../static/images/index/icon34.png',url:'/pages/login/index'},
-		{text:'优惠卷',icon:'../../static/images/index/icon35.png',url:'/pages/login/index'},
-		{text:'电子发票',icon:'../../static/images/index/icon36.png',url:'/pages/login/index'},
-		{text:'联系客服',icon:'../../static/images/index/icon37.png',url:'/pages/login/index'},
-		{text:'推广分佣',icon:'../../static/images/index/icon38.png',url:'/pages/login/index'},
-	])
-	function navTo(itemUrl){
-		uni.navigateTo({
-			url:itemUrl
-		})
-	}
-	onMounted(() =>{
-		if(uni.getMenuButtonBoundingClientRect){
-			topHeight.value = (uni.getMenuButtonBoundingClientRect().top + uni.getMenuButtonBoundingClientRect().height) * 2
-		}
-	})
-	
-</script>
-
 <style lang="scss" scoped>
 	.container{
 		width:100%;
@@ -145,370 +197,438 @@
 			width:100%;
 			height:100vh;
 			background:#F6F6F6;
-			}
-	}
-	.card-box{
-		width: 100%;
-		height: auto;
-		// background: #a0b5c7;
-		box-sizing: border-box;
-		padding: 0 32rpx;
-		background: linear-gradient(to bottom,#5EA1FA,#D2F2FE);
-		.card{
-			width: 100%;
-			height: 304rpx;
-			background-image: url("../../static/images/index/card1.png");
-			background-repeat: no-repeat;
-			background-size: 100%;
-			.card-content{
+			.card-box{
 				width: 100%;
-				height: 100%;
+				height: auto;
+				// background: #a0b5c7;
 				box-sizing: border-box;
-				// background: #AFD5FF;
-				padding: 14rpx 42rpx 64rpx 22rpx;
-				.card-title{
-					width:100%;
-					height:64rpx;
-					display: flex;
-					justify-content: flex-end;
-					// background: #82fec5;
-					align-items: center;
-					view{
-						font-weight:300;
-						font-size: 36rpx;
-						color: #FFFFFF;
-						letter-spacing:5rpx;
-						text-align: left;
-					}
-					image{
-						width:64rpx;
-						height:64rpx;
-					}
-				}
-				.card-add{
-					width:100%;
-					height:64rpx;
-					display: flex;
-					justify-content: flex-end;
-					align-items: center;
-					view{
-						width: 172rpx;
-						height:38rpx;
-						border-radius:24rpx;
-						background: #fff;
-						display: flex;
-						justify-content:flex-start;
-						align-items:center;
-						image{
-							width:22rpx;
-							height:22rpx;
-							margin-left:15rpx;
-						}
-						text{
-							font-weight: 300;
-							font-size: 20rpx;
-							color: #0088FF;
-							margin-left:15rpx;
-						}
-					}
-				}
-				.card-info{
+				padding: 0 32rpx;
+				background: linear-gradient(to bottom,#5EA1FA,#D2F2FE);
+				.card{
 					width: 100%;
-					height:100rpx;
-					// background: #8ff6c3;
-					margin-top: 18rpx;
-					display: flex;
-					justify-content: flex-start;
-					align-items: center;
-					.info-head{
-						width: 100rpx;
-						height:100rpx;
-						margin-right: 20rpx;
-						image{
-							width: 100rpx;
-							height:100rpx;
-						}
-					}
-					.info-content{
-						width: 216rpx;//108+86+22
-						height:100rpx;
-						// background: #54dac4;
-						display: flex;
-						flex-direction: column;
-						justify-content: flex-start;
-						align-items: flex-start;
-						.info-content-top{
-							width: 100%;
+					height: 304rpx;
+					background-image: url("../../static/images/index/card1.png");
+					background-repeat: no-repeat;
+					background-size: 100%;
+					.card-content{
+						width: 100%;
+						height: 100%;
+						box-sizing: border-box;
+						// background: #AFD5FF;
+						padding: 14rpx 42rpx 64rpx 22rpx;
+						.card-title{
+							width:100%;
+							height:64rpx;
 							display: flex;
-							justify-content:space-between;
-							align-items:center;
-							margin-bottom:8rpx;
-							view:first-child{
-								width: 108rpx;
-								height: 50rpx;
-								font-weight: 400;
+							justify-content: flex-end;
+							// background: #82fec5;
+							align-items: center;
+							view{
+								font-weight:300;
 								font-size: 36rpx;
 								color: #FFFFFF;
+								letter-spacing:5rpx;
 								text-align: left;
 							}
-							view:last-child{
-								width: 86rpx;
-								height: 32rpx;
-								font-weight:300;
-								font-size: 26rpx;
-								color: #FFFFFF;
-								text-align: center;
-								background-image: url('../../static/images/index/vip1.png');
+							image{
+								width:64rpx;
+								height:64rpx;
 							}
 						}
-						.info-content-bottom{
+						.card-add{
+							width:100%;
+							height:64rpx;
+							display: flex;
+							justify-content: flex-end;
+							align-items: center;
+							view{
+								width: 172rpx;
+								height:38rpx;
+								border-radius:24rpx;
+								background: #fff;
+								display: flex;
+								justify-content:flex-start;
+								align-items:center;
+								image{
+									width:22rpx;
+									height:22rpx;
+									margin-left:15rpx;
+								}
+								text{
+									font-weight: 300;
+									font-size: 20rpx;
+									color: #0088FF;
+									margin-left:15rpx;
+								}
+							}
+						}
+						.card-info{
 							width: 100%;
+							height:100rpx;
+							// background: #8ff6c3;
+							margin-top: 18rpx;
+							display: flex;
+							justify-content: flex-start;
+							align-items: center;
+							.info-head{
+								width: 100rpx;
+								height:100rpx;
+								margin-right: 20rpx;
+								image{
+									width: 100rpx;
+									height:100rpx;
+								}
+							}
+							.info-content{
+								width: 216rpx;//108+86+22
+								height:100rpx;
+								// background: #54dac4;
+								display: flex;
+								flex-direction: column;
+								justify-content: flex-start;
+								align-items: flex-start;
+								.info-content-top{
+									width: 100%;
+									display: flex;
+									justify-content:space-between;
+									align-items:center;
+									margin-bottom:8rpx;
+									view:first-child{
+										width: 108rpx;
+										height: 50rpx;
+										font-weight: 400;
+										font-size: 36rpx;
+										color: #FFFFFF;
+										text-align: left;
+									}
+									view:last-child{
+										width: 86rpx;
+										height: 32rpx;
+										font-weight:300;
+										font-size: 26rpx;
+										color: #FFFFFF;
+										text-align: center;
+										background-image: url('../../static/images/index/vip1.png');
+									}
+								}
+								.info-content-bottom{
+									width: 100%;
+									font-weight: 300;
+									font-size: 20rpx;
+									color: #FFFFFF;
+									letter-spacing:5rpx;
+									text-align: left;
+								}
+							}
+							.info-more{
+								width: 12rpx;
+								height: 28rpx;
+								margin-left:274rpx;
+								image{
+									width: 12rpx;
+									height: 28rpx;
+								}
+							}
+						}
+						.card-bottom{
+							margin-top:36rpx;
+							width:100%;
+							display: flex;
+							justify-content:space-evenly;
 							font-weight: 300;
 							font-size: 20rpx;
-							color: #FFFFFF;
-							letter-spacing:5rpx;
-							text-align: left;
-						}
-					}
-					.info-more{
-						width: 12rpx;
-						height: 28rpx;
-						margin-left:274rpx;
-						image{
-							width: 12rpx;
-							height: 28rpx;
+							color: #D8D8D8;
+							line-height: 0rpx;
+							text-align: center;
 						}
 					}
 				}
-				.card-bottom{
-					margin-top:36rpx;
-					width:100%;
-					display: flex;
-					justify-content:space-evenly;
-					font-weight: 300;
-					font-size: 20rpx;
-					color: #D8D8D8;
-					line-height: 0rpx;
-					text-align: center;
+			}
+			.function-box1{
+				width:100%;
+				box-sizing:border-box;
+				height: 227rpx;
+				padding: 20rpx 32rpx 15rpx;
+				// background: rgba(85, 170, 0, 0.1);
+				display:flex;
+				justify-content: space-between;
+				align-items:center;
+				.box1-bg{
+					width:212rpx;
+					height:200rpx;
+					border-radius:24rpx;
+					background: #fff;
+					box-shadow:0 0 12rpx 2rpx rgba(13,118,255,0.16);
 				}
-			}
-		}
-	}
-	.function-box1{
-		width:100%;
-		box-sizing:border-box;
-		height: 227rpx;
-		padding: 20rpx 32rpx 15rpx;
-		// background: rgba(85, 170, 0, 0.1);
-		display:flex;
-		justify-content: space-between;
-		align-items:center;
-		.box1-bg{
-			width:212rpx;
-			height:200rpx;
-			border-radius:24rpx;
-			background: #fff;
-			box-shadow:0 0 12rpx 2rpx rgba(13,118,255,0.16);
-		}
-		.box1-one{
-			font-weight: 300;
-			font-size: 32rpx;
-			color: #000000;
-			text-align: center;
-			display: flex;
-			flex-direction:column;
-			align-items: center;
-			justify-content: center;
-			image{
-				width: 86rpx;
-				height: 78rpx;
-				margin-bottom:20rpx;
-			}
-		}
-		.box1-two{
-			box-sizing: border-box;
-			padding:25rpx 0 10rpx;
-			display: flex;
-			flex-direction:column;
-			align-items:center;
-			justify-content:space-around;
-			view:first-child{
-				font-weight: 300;
-				font-size: 24rpx;
-				color: #464646;
-				text-align: center;
-				margin-bottom:10rpx;
-			}
-			.recharge{
-				text:first-child{
-					font-weight: 500;
-					font-size: 32rpx;
-					color: #000;
-				}
-				text:last-child{
+				.box1-one{
 					font-weight: 300;
 					font-size: 32rpx;
-					color: #2269E5;
-				}
-			}
-			view:last-child{
-				width: 140rpx;
-				height: 80rpx;
-				font-weight:300;
-				font-size: 24rpx;
-				color: #000141;
-				background-image: url('../../static/images/index/icon22.png');
-				background-repeat: no-repeat;
-				background-position: center;
-				background-size: 100% 100%;
-				text-align:center;
-				line-height:80rpx;
-				margin-top:10rpx;
-			}
-		}
-		.box1-three{
-			font-weight: 300;
-			font-size: 32rpx;
-			color: #000000;
-			text-align: center;
-			display: flex;
-			flex-direction:column;
-			align-items: center;
-			justify-content: center;
-			image{
-				width: 83rpx;
-				height:83rpx;
-				margin-bottom:20rpx;
-			}
-		}
-	}
-	.function-box2{
-		width:100%;
-		box-sizing:border-box;
-		height: 443rpx;//374 + 44 + 距离 + 底部padding32
-		padding:0 32rpx 15rpx;
-		// background: rgba(46, 121, 170, 0.5);
-		.box2-title{
-			width: 100%;
-			font-weight:300;
-			font-size: 32rpx;
-			color: #000000;
-			text-align: left;
-			margin-bottom: 10rpx;
-			margin-left: 30rpx;
-		}
-		.box2-content{
-			box-sizing: border-box;
-			padding:22rpx 35rpx;
-			width: 686rpx;
-			height:374rpx;
-			background: #fff;
-			border-radius: 24rpx;
-			box-shadow: 0 0 12rpx 2rpx rgba(0, 0, 0, 0.1);
-			display: flex;
-			flex-wrap: wrap;
-			justify-content: space-between;
-			align-items: center;
-			.box2-item{
-				width: 146rpx;
-				height:143rpx;
-				display: flex;
-				flex-direction:column;
-				justify-content:space-between;
-				align-items: center;
-				image{
-					width: 90rpx;
-					height:90rpx;
-				}
-				.box2-item-text{
-					width:100%;
-					height: 40rpx;
-					font-weight: 300;
-					font-size: 28rpx;
 					color: #000000;
 					text-align: center;
+					display: flex;
+					flex-direction:column;
+					align-items: center;
+					justify-content: center;
+					image{
+						width: 86rpx;
+						height: 78rpx;
+						margin-bottom:20rpx;
+					}
+				}
+				.box1-two{
+					box-sizing: border-box;
+					padding:25rpx 0 10rpx;
+					display: flex;
+					flex-direction:column;
+					align-items:center;
+					justify-content:space-around;
+					view:first-child{
+						font-weight: 300;
+						font-size: 24rpx;
+						color: #464646;
+						text-align: center;
+						margin-bottom:10rpx;
+					}
+					.recharge{
+						text:first-child{
+							font-weight: 500;
+							font-size: 32rpx;
+							color: #000;
+						}
+						text:last-child{
+							font-weight: 300;
+							font-size: 32rpx;
+							color: #2269E5;
+						}
+					}
+					view:last-child{
+						width: 140rpx;
+						height: 80rpx;
+						font-weight:300;
+						font-size: 24rpx;
+						color: #000141;
+						background-image: url('../../static/images/index/icon22.png');
+						background-repeat: no-repeat;
+						background-position: center;
+						background-size: 100% 100%;
+						text-align:center;
+						line-height:80rpx;
+						margin-top:10rpx;
+					}
+				}
+				.box1-three{
+					font-weight: 300;
+					font-size: 32rpx;
+					color: #000000;
+					text-align: center;
+					display: flex;
+					flex-direction:column;
+					align-items: center;
+					justify-content: center;
+					image{
+						width: 83rpx;
+						height:83rpx;
+						margin-bottom:20rpx;
+					}
 				}
 			}
-		}
-	}
-	.advertisement-box{
-		width:100%;
-		height: 188rpx;
-		padding:0 32rpx 10rpx; 
-		box-sizing: border-box;
-		image{
-			width:100%;
-			height: 178rpx;
-		}
-	}
-	.service-box{
-		width: 100%;
-		height: 255rpx;
-		// background: #D2F2FE;
-		padding:0 32rpx;
-		box-sizing: border-box;
-		.service-title{
-			height: 44rpx;
-			font-weight: 300;
-			font-size: 32rpx;
-			color: #000000;
-			text-align: left;
-			margin-bottom: 5rpx;
-			margin-left: 30rpx;
-		}
-		.service-content{
-			width: 100%;
-			height: 206rpx;
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			.service-bg{
-				width: 330rpx;
-				height: 206rpx;
-				background: linear-gradient(to bottom,#AFD5FF,#FFFFFF);
-				border-radius: 24rpx;
-				display: flex;
-				flex-direction: column;
-				justify-content: center;
-				align-items:flex-start;
-					view:first-child{
+			.function-box2{
+				width:100%;
+				box-sizing:border-box;
+				height: 443rpx;//374 + 44 + 距离 + 底部padding32
+				padding:0 32rpx 15rpx;
+				// background: rgba(46, 121, 170, 0.5);
+				.box2-title{
+					width: 100%;
+					font-weight:300;
+					font-size: 32rpx;
+					color: #000000;
+					text-align: left;
+					margin-bottom: 10rpx;
+					margin-left: 30rpx;
+				}
+				.box2-content{
+					box-sizing: border-box;
+					padding:22rpx 35rpx;
+					width: 686rpx;
+					height:374rpx;
+					background: #fff;
+					border-radius: 24rpx;
+					box-shadow: 0 0 12rpx 2rpx rgba(0, 0, 0, 0.1);
+					display: flex;
+					flex-wrap: wrap;
+					justify-content: space-between;
+					align-items: center;
+					.box2-item{
+						width: 146rpx;
+						height:143rpx;
 						display: flex;
+						flex-direction:column;
+						justify-content:space-between;
 						align-items: center;
-						margin-left:40rpx;
 						image{
-							width:48rpx;
-							height:48rpx;
-							margin-right:10rpx;
+							width: 90rpx;
+							height:90rpx;
 						}
-						text{
+						.box2-item-text{
+							width:100%;
+							height: 40rpx;
 							font-weight: 300;
 							font-size: 28rpx;
 							color: #000000;
+							text-align: center;
 						}
 					}
-					.service-info{
-						width: 214rpx;
-						font-weight: 300;
-						font-size: 24rpx;
-						color: #4D4B4B;
-						margin-left:96rpx;
-					}
-					view:last-child{
-						margin-left: 174rpx;
-						margin-top: 18rpx;
+				}
+			}
+			.advertisement-box{
+				width:100%;
+				height: 188rpx;
+				padding:0 32rpx 10rpx; 
+				box-sizing: border-box;
+				image{
+					width:100%;
+					height: 178rpx;
+				}
+			}
+			.service-box{
+				width: 100%;
+				height: 255rpx;
+				// background: #D2F2FE;
+				padding:0 32rpx;
+				box-sizing: border-box;
+				.service-title{
+					height: 44rpx;
+					font-weight: 300;
+					font-size: 32rpx;
+					color: #000000;
+					text-align: left;
+					margin-bottom: 5rpx;
+					margin-left: 30rpx;
+				}
+				.service-content{
+					width: 100%;
+					height: 206rpx;
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					.service-bg{
+						width: 330rpx;
+						height: 206rpx;
+						background: linear-gradient(to bottom,#AFD5FF,#FFFFFF);
+						border-radius: 24rpx;
 						display: flex;
-						align-items: center;
-						image{
-							width:32rpx;
-							height:32rpx;
-						}
-						text{
-							font-weight: 300;
-							font-size: 24rpx;
-							color: #4D4B4B;
-							margin-right: 10rpx;
-						}
+						flex-direction: column;
+						justify-content: center;
+						align-items:flex-start;
+							view:first-child{
+								display: flex;
+								align-items: center;
+								margin-left:40rpx;
+								image{
+									width:48rpx;
+									height:48rpx;
+									margin-right:10rpx;
+								}
+								text{
+									font-weight: 300;
+									font-size: 28rpx;
+									color: #000000;
+								}
+							}
+							.service-info{
+								width: 214rpx;
+								font-weight: 300;
+								font-size: 24rpx;
+								color: #4D4B4B;
+								margin-left:96rpx;
+							}
+							view:last-child{
+								margin-left: 174rpx;
+								margin-top: 18rpx;
+								display: flex;
+								align-items: center;
+								image{
+									width:32rpx;
+									height:32rpx;
+								}
+								text{
+									font-weight: 300;
+									font-size: 24rpx;
+									color: #4D4B4B;
+									margin-right: 10rpx;
+								}
+							}
 					}
+				}
+			}
+		}
+		.popup-content{
+			height: 560rpx;
+			position: relative;
+			z-index: 1000;
+			.popup-title{
+				width: 100%;
+				display: block;
+				text-align: center;
+				margin: 15rpx 0;
+				font-weight: 600;
+				font-size: 36rpx;
+			}
+			.hr {
+				width: 100%;
+				height: 2rpx;
+				background: #e2e2e2;
+			}
+			.img-box {
+				width: 65rpx;
+				height: 65rpx;
+				margin: 40rpx auto 30rpx;
+				border: 1rpx solid #e2e2e2;
+				border-radius: 50%;
+				padding: 15rpx;
+				.img{
+					width: 100%;
+					height: 100%;
+				}
+			}
+			.info-box {
+				width: 100%;
+				padding: 0 80rpx;
+				box-sizing: border-box;
+				.hr2{
+					width: 100%;
+					height: 2rpx;
+					background: #e2e2e2;
+					margin: 20rpx 0;
+				}
+				.info-text2{
+					font-size: 26rpx;
+					color: #767676;
+				}
+			}
+			.button-box{
+				display: flex;
+				margin-top: 20rpx;
+				button{
+					width: 230rpx;
+					height: 80rpx;
+					line-height: 80rpx;
+					border: none;
+					box-shadow: none;
+					margin-top: 30rpx;
+				}
+				button::after {
+					border: none !important;
+				}
+				.button1{
+					background-color: #F0F0F0;
+					color: #333333;
+				}
+				.button2{
+					background-color: #06BF5E;
+					color: #ffffff;
+				}
 			}
 		}
 	}
diff --git a/pages/login/index.vue b/pages/login/index.vue
deleted file mode 100644
index 6c16648..0000000
--- a/pages/login/index.vue
+++ /dev/null
@@ -1,269 +0,0 @@
-
-<script setup>
-    import { onMounted, ref } from "vue"
-	// 微信授权登录相关
-	let popupRef = ref(null)
-	const login = () =>{
-		uni.navigateTo({
-			url:"/pages/index/index"
-		})
-		console.log('login1')
-	}
-	const wxLoginPopup = () =>{
-		popupRef.value.open('bottom')
-	}
-	const wxLoginFn = () =>{
-		console.log('login2')
-		popupRef.value.close('bottom')
-	}
-</script>
-<template>
-	<view class="container">
-		<view class="content">
-			<view class="title">
-				<view class= 'text1'>欢迎登录</view>
-				<view class= 'text2'>Welcome to login</view>
-			</view>
-			<view class="form">
-				<view class='form-input'><input type="text" placeholder="输入账号"></input></view>
-				<view class="form-input"><input password  type="text" placeholder="输入密码"></input></view>
-			</view>
-			<view class="login-btn">
-				<button @click = login()>登录</button>
-			</view>
-			<view class="bottom">
-				<view class="divide">
-					<view class="line"></view>
-					<view class="divide-text">第三方账号登录</view>
-					<view class="line"></view>
-				</view>
-				<view class="other-login">
-					<image src="../../static/images/login/wechat.png" alt="" @click="wxLoginPopup()"></image>
-				</view>
-			</view>
-		</view>
-		<!-- 微信授权弹窗 -->
-		<uni-popup ref="popupRef" background-color="#fff">
-			<view class="popup-content">
-				<text class="popup-title">微信登录</text>
-				<view class="hr"></view>
-				<view class="img-box"><img src="../../static/images/login/logo.png" alt="" class="img"/></view>
-				<view class="info-box">
-					<view class="info-text1">青源直饮水平台申请获取以下权限:</view>
-					<view class="hr2"></view>
-					<view class="info-text2">· 获得你的公开信息(昵称、头像、地区及性别)</view>
-					<view class="button-box">
-						<button  class="button1" @click="popupRef.close('bottom')">取消</button>
-						<button  class="button2" @click="wxLoginFn()">确定</button>
-					</view>
-				</view>
-			</view>
-		</uni-popup>
-	</view>
-</template>
-
-<style lang ="scss">
-	page {
-		width: 100%;
-		height:100%;
-	}
-	.container{
-		width:100%;
-		height:100%;
-		 background-image:url('../../static/images/login/bg2.png');
-		 background-size: 100%;
-		 background-repeat: no-repeat;
-		 position: relative;
-		 .content{
-		 	position: absolute;
-		 	width:680rpx; 
-		 	height:1080rpx;                                            
-		 	top:22%;
-		 	left:calc(50% - 340rpx);
-		 	background-image:url('../../static/images/login/content-bg.png');
-		 	 background-repeat: no-repeat;
-		 	 background-size: 100%;
-			.title{
-				width:100%;
-				height:180rpx;
-				display: flex;
-				flex-direction: column;
-				justify-content: flex-start;
-				padding: 9% 0 0 13%;
-				box-sizing:border-box;
-				.text1{
-					width:250rpx;
-					font-weight: 500;
-					font-size: 56rpx;
-					color: #345DB1;
-					text-align: left;
-					margin-left:14rpx;
-					margin-bottom:20rpx;
-				}
-				.text2{
-					width:500rpx;
-					font-weight: 400;
-					font-size: 36rpx;
-					color: #9AB6DD;
-					text-align: left;
-				}
-			}	
-			.form{
-				width:100%;
-				height:260rpx;
-				margin-top: 125rpx;
-				/* background-color: #345DB1; */
-				box-sizing:border-box;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				.form-input{
-					width:582rpx;
-					height:100rpx;
-					background-image: url('../../static/images/login/input1.png');
-					background-repeat: no-repeat;
-					background-size: 100%;
-					background-position: center;
-					display: flex;
-					align-items: center;
-					justify-content:flex-start;
-					margin: 0 auto;
-					:deep(.uni-input-placeholder ){
-					  color: #9DC4E8;
-					}
-					input{
-						width:80%;
-						margin-left:60rpx;
-						font-weight: 400;
-						font-size: 32rpx;
-						text-align: left;
-						color: #2b4e82;
-					}
-				}
-			}
-			.login-btn{
-				width:530rpx;
-				height:100rpx;
-				margin: 80rpx auto 60rpx;
-				button{
-					background:linear-gradient(to right,#51C9F6,#4E9BFF);
-					font-weight: 500;
-					font-size: 36rpx;
-					color: #FFFFFF;
-					border-radius: 20rpx;
-				}
-			}
-			.bottom{
-				width:100%;
-				height:180rpx;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-between;
-				align-items: center;
-				.divide{
-					box-sizing:border-box;
-					width: 100%;
-					display:flex;
-					justify-content: space-between;
-					align-items:center;
-					padding:0 85rpx;
-					/* background: #446f52; */
-					.line{
-						width:125rpx;
-						height:2rpx;
-						background:#959595;
-					}
-					.divide-text{
-						font-weight: 600;
-						font-size: 28rpx;
-						color: #B9B9B9;
-						text-align: center;
-					}
-				}
-				.other-login{
-					box-sizing:border-box;
-					width:100%;
-					height:100rpx;
-					/* background: #5d7682; */
-					padding:0 90rpx;
-					display: flex;
-					justify-content:center;
-					align-items: center;
-					image{
-						width:76rpx;
-						height:76rpx;
-						/* background: #345DB1; */
-					}
-				}
-			}
-		 }
-		 .popup-content {
-		 	height: 560rpx;
-		 	position: relative;
-		 	z-index: 1000;
-		 	.popup-title{
-		 		width: 100%;
-		 		display: block;
-		 		text-align: center;
-		 		margin: 15rpx 0;
-		 		font-weight: 600;
-		 		font-size: 36rpx;
-		 	}
-		 	.hr {
-		 		width: 100%;
-		 		height: 2rpx;
-		 		background: #e2e2e2;
-		 	}
-		 	.img-box {
-		 		width: 65rpx;
-		 		height: 65rpx;
-		 		margin: 40rpx auto 30rpx;
-		 		border: 1rpx solid #e2e2e2;
-		 		border-radius: 50%;
-		 		padding: 15rpx;
-		 		.img{
-		 			width: 100%;
-		 			height: 100%;
-		 		}
-		 	}
-		 	.info-box {
-		 		width: 100%;
-		 		padding: 0 80rpx;
-		 		box-sizing: border-box;
-		 		.hr2{
-		 			width: 100%;
-		 			height: 2rpx;
-		 			background: #e2e2e2;
-		 			margin: 20rpx 0;
-		 		}
-		 		.info-text2{
-		 			font-size: 26rpx;
-		 			color: #767676;
-		 		}
-		 	}
-		 	.button-box{
-		 		display: flex;
-		 		margin-top: 20rpx;
-		 		button{
-		 			width: 230rpx;
-		 			height: 80rpx;
-		 			line-height: 80rpx;
-		 			border: none;
-		 			box-shadow: none;
-		 			margin-top: 30rpx;
-		 		}
-		 		button::after {
-		 		    border: none !important;
-		 		}
-		 		.button1{
-		 			background-color: #F0F0F0;
-		 			color: #333333;
-		 		}
-		 		.button2{
-		 			background-color: #06BF5E;
-		 			color: #ffffff;
-		 		}
-		 	}
-		 }
-	}   
-</style>
diff --git a/pages/recharge/index.vue b/pages/recharge/index.vue
new file mode 100644
index 0000000..511bb31
--- /dev/null
+++ b/pages/recharge/index.vue
@@ -0,0 +1,13 @@
+<template>
+	<view class="container">
+		<navbar title="绑定会员卡"></navbar>
+	</view>
+</template>
+
+<script setup>
+	
+</script>
+
+<style lang="scss" scoped>
+	       
+</style>
diff --git a/static/images/login/bg2.png b/static/images/login/loginbg.png
similarity index 100%
rename from static/images/login/bg2.png
rename to static/images/login/loginbg.png
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/api/index.js b/unpackage/dist/dev/mp-weixin/api/index.js
new file mode 100644
index 0000000..f9125eb
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/api/index.js
@@ -0,0 +1,14 @@
+"use strict";
+const util_request = require("../util/request.js");
+function wxLoginApi(data) {
+  return util_request.request("/user/wxLogin", data, "POST");
+}
+function getVipInfoApi() {
+  return util_request.request("/waterCard/getUserCard", {}, "GET");
+}
+function getUserInfo() {
+  return util_request.request("/user/loginUser", {}, "GET");
+}
+exports.getUserInfo = getUserInfo;
+exports.getVipInfoApi = getVipInfoApi;
+exports.wxLoginApi = wxLoginApi;
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
index 1f5c9c7..31875fa 100644
--- a/unpackage/dist/dev/mp-weixin/app.js
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -1,17 +1,31 @@
 "use strict";
 Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
 const common_vendor = require("./common/vendor.js");
+const api_index = require("./api/index.js");
 if (!Math) {
   "./pages/index/index.js";
-  "./pages/login/index.js";
   "./pages/addCard/index.js";
   "./pages/balanceRecord/index.js";
+  "./pages/recharge/index.js";
 }
 const _sfc_main = {
   __name: "App",
   setup(__props) {
     common_vendor.onLaunch(() => {
-      console.log("App Launch");
+      if (!common_vendor.index.getStorageSync("openId")) {
+        common_vendor.wx$1.login({
+          success: async (res1) => {
+            common_vendor.index.setStorageSync("code", res1.code);
+            await api_index.wxLoginApi({ code: res1.code }).then((res2) => {
+              common_vendor.index.setStorageSync("openId", res2.data.userId);
+              common_vendor.index.setStorageSync("token", res2.data.token);
+            });
+          },
+          fail: (e) => {
+            console.log(e);
+          }
+        });
+      }
     });
     common_vendor.onShow(() => {
       console.log("App Show");
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
index 63dfd26..77af0cf 100644
--- a/unpackage/dist/dev/mp-weixin/app.json
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -1,9 +1,9 @@
 {
   "pages": [
     "pages/index/index",
-    "pages/login/index",
     "pages/addCard/index",
-    "pages/balanceRecord/index"
+    "pages/balanceRecord/index",
+    "pages/recharge/index"
   ],
   "window": {
     "navigationStyle": "custom"
diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js
index f8f3f1b..f14636d 100644
--- a/unpackage/dist/dev/mp-weixin/common/assets.js
+++ b/unpackage/dist/dev/mp-weixin/common/assets.js
@@ -1,6 +1,6 @@
 "use strict";
-const _imports_0$3 = "/static/images/index/code1.png";
-const _imports_1$1 = "/static/images/index/vip-add.png";
+const _imports_0$2 = "/static/images/index/code1.png";
+const _imports_1 = "/static/images/index/vip-add.png";
 const _imports_2 = "/static/images/index/hend1.png";
 const _imports_3 = "/static/images/index/back.png";
 const _imports_4 = "/static/images/index/home21.png";
@@ -9,16 +9,12 @@
 const _imports_7 = "/static/images/index/icon51.png";
 const _imports_8 = "/static/images/index/more-info5.png";
 const _imports_9 = "/static/images/index/notice5.png";
-const _imports_0$2 = "/static/images/login/wechat.png";
-const _imports_1 = "/static/images/login/logo.png";
 const _imports_0$1 = "/static/images/addCard/code.png";
 const _imports_0 = "/static/images/addCard/back.png";
 exports._imports_0 = _imports_0;
-exports._imports_0$1 = _imports_0$3;
-exports._imports_0$2 = _imports_0$2;
-exports._imports_0$3 = _imports_0$1;
-exports._imports_1 = _imports_1$1;
-exports._imports_1$1 = _imports_1;
+exports._imports_0$1 = _imports_0$2;
+exports._imports_0$2 = _imports_0$1;
+exports._imports_1 = _imports_1;
 exports._imports_2 = _imports_2;
 exports._imports_3 = _imports_3;
 exports._imports_4 = _imports_4;
diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js
index 46a2213..8148480 100644
--- a/unpackage/dist/dev/mp-weixin/common/vendor.js
+++ b/unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -75,8 +75,8 @@
   return str.charAt(0).toUpperCase() + str.slice(1);
 });
 const toHandlerKey = cacheStringFunction((str) => {
-  const s2 = str ? `on${capitalize(str)}` : ``;
-  return s2;
+  const s = str ? `on${capitalize(str)}` : ``;
+  return s;
 });
 const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
 const invokeArrayFns$1 = (fns, arg) => {
@@ -92,63 +92,13 @@
   });
 };
 const looseToNumber = (val) => {
-  const n2 = parseFloat(val);
-  return isNaN(n2) ? val : n2;
+  const n = parseFloat(val);
+  return isNaN(n) ? val : n;
 };
 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);
 };
@@ -1010,7 +960,7 @@
   }
   if (!isArray(name))
     name = [name];
-  name.forEach((n2) => emitter.off(n2, callback));
+  name.forEach((n) => emitter.off(n, callback));
 }, OffProtocol);
 const $emit = defineSyncApi(API_EMIT, (name, ...args) => {
   emitter.emit(name, ...args);
@@ -1292,7 +1242,7 @@
   let _SDKVersion = SDKVersion;
   const hostLanguage = language.replace(/_/g, "-");
   const parameters = {
-    appId: "",
+    appId: "__UNI__97986D6",
     appName: "water-drinking-uniapp",
     appVersion: "1.0.0",
     appVersionCode: "100",
@@ -1436,7 +1386,7 @@
       hostName: _hostName,
       hostSDKVersion: SDKVersion,
       hostTheme: theme,
-      appId: "",
+      appId: "__UNI__97986D6",
       appName: "water-drinking-uniapp",
       appVersion: "1.0.0",
       appVersionCode: "100",
@@ -6794,34 +6744,11 @@
   }
   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;
-}
-function setRef(ref2, id, opts = {}) {
-  const { $templateRefs } = getCurrentInstance();
-  $templateRefs.push({ i: id, r: ref2, k: opts.k, f: opts.f });
-}
 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);
-const sr = (ref2, id, opts) => setRef(ref2, id, opts);
 function createApp$1(rootComponent, rootProps = null) {
   rootComponent && (rootComponent.mpType = "app");
   return createVueApp(rootComponent, rootProps).use(plugin);
@@ -7659,125 +7586,11 @@
 const onShow = /* @__PURE__ */ createHook(ON_SHOW);
 const onHide = /* @__PURE__ */ createHook(ON_HIDE);
 const onLaunch = /* @__PURE__ */ createHook(ON_LAUNCH);
-class MPAnimation {
-  constructor(options, _this) {
-    this.options = options;
-    this.animation = index.createAnimation({
-      ...options
-    });
-    this.currentStepAnimates = {};
-    this.next = 0;
-    this.$ = _this;
-  }
-  _nvuePushAnimates(type, args) {
-    let aniObj = this.currentStepAnimates[this.next];
-    let styles = {};
-    if (!aniObj) {
-      styles = {
-        styles: {},
-        config: {}
-      };
-    } else {
-      styles = aniObj;
-    }
-    if (animateTypes1.includes(type)) {
-      if (!styles.styles.transform) {
-        styles.styles.transform = "";
-      }
-      let unit = "";
-      if (type === "rotate") {
-        unit = "deg";
-      }
-      styles.styles.transform += `${type}(${args + unit}) `;
-    } else {
-      styles.styles[type] = `${args}`;
-    }
-    this.currentStepAnimates[this.next] = styles;
-  }
-  _animateRun(styles = {}, config = {}) {
-    let ref2 = this.$.$refs["ani"].ref;
-    if (!ref2)
-      return;
-    return new Promise((resolve2, reject) => {
-      nvueAnimation.transition(ref2, {
-        styles,
-        ...config
-      }, (res) => {
-        resolve2();
-      });
-    });
-  }
-  _nvueNextAnimate(animates, step = 0, fn) {
-    let obj = animates[step];
-    if (obj) {
-      let {
-        styles,
-        config
-      } = obj;
-      this._animateRun(styles, config).then(() => {
-        step += 1;
-        this._nvueNextAnimate(animates, step, fn);
-      });
-    } else {
-      this.currentStepAnimates = {};
-      typeof fn === "function" && fn();
-      this.isEnd = true;
-    }
-  }
-  step(config = {}) {
-    this.animation.step(config);
-    return this;
-  }
-  run(fn) {
-    this.$.animationData = this.animation.export();
-    this.$.timer = setTimeout(() => {
-      typeof fn === "function" && fn();
-    }, this.$.durationTime);
-  }
-}
-const animateTypes1 = [
-  "matrix",
-  "matrix3d",
-  "rotate",
-  "rotate3d",
-  "rotateX",
-  "rotateY",
-  "rotateZ",
-  "scale",
-  "scale3d",
-  "scaleX",
-  "scaleY",
-  "scaleZ",
-  "skew",
-  "skewX",
-  "skewY",
-  "translate",
-  "translate3d",
-  "translateX",
-  "translateY",
-  "translateZ"
-];
-const animateTypes2 = ["opacity", "backgroundColor"];
-const animateTypes3 = ["width", "height", "left", "right", "top", "bottom"];
-animateTypes1.concat(animateTypes2, animateTypes3).forEach((type) => {
-  MPAnimation.prototype[type] = function(...args) {
-    this.animation[type](...args);
-    return this;
-  };
-});
-function createAnimation(option, _this) {
-  if (!_this)
-    return;
-  clearTimeout(_this.timer);
-  return new MPAnimation(option, _this);
-}
 exports._export_sfc = _export_sfc;
-exports.createAnimation = createAnimation;
 exports.createSSRApp = createSSRApp;
 exports.e = e;
 exports.f = f;
 exports.index = index;
-exports.n = n;
 exports.o = o;
 exports.onHide = onHide;
 exports.onLaunch = onLaunch;
@@ -7786,7 +7599,5 @@
 exports.p = p;
 exports.ref = ref;
 exports.resolveComponent = resolveComponent;
-exports.s = s;
-exports.sr = sr;
 exports.t = t;
-exports.unref = unref;
+exports.wx$1 = wx$1;
diff --git a/unpackage/dist/dev/mp-weixin/components/navbar/navbar.js b/unpackage/dist/dev/mp-weixin/components/navbar/navbar.js
index f9d5869..7a2c5b4 100644
--- a/unpackage/dist/dev/mp-weixin/components/navbar/navbar.js
+++ b/unpackage/dist/dev/mp-weixin/components/navbar/navbar.js
@@ -9,18 +9,16 @@
       default: ""
     }
   },
-  emits: ["navBackTo"],
-  setup(__props, { emit: __emit }) {
-    const emit = __emit;
-    function navBackToChild() {
-      emit("navBackTo");
+  setup(__props) {
+    function navBackTo() {
+      common_vendor.index.navigateBack();
     }
     const props = __props;
     const title = common_vendor.ref(props.title);
     return (_ctx, _cache) => {
       return {
         a: common_assets._imports_0,
-        b: common_vendor.o(($event) => navBackToChild()),
+        b: common_vendor.o(($event) => navBackTo()),
         c: common_vendor.t(title.value)
       };
     };
diff --git a/unpackage/dist/dev/mp-weixin/config/baseUrl.js b/unpackage/dist/dev/mp-weixin/config/baseUrl.js
new file mode 100644
index 0000000..4c47d63
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/config/baseUrl.js
@@ -0,0 +1,3 @@
+"use strict";
+const BASE_URL = "http://192.168.0.105:8031";
+exports.BASE_URL = BASE_URL;
diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.js b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.js
deleted file mode 100644
index 075cf08..0000000
--- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.js
+++ /dev/null
@@ -1,393 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../../common/vendor.js");
-const _sfc_main = {
-  name: "uniPopup",
-  components: {},
-  emits: ["change", "maskClick"],
-  props: {
-    // 开启动画
-    animation: {
-      type: Boolean,
-      default: true
-    },
-    // 弹出层类型,可选值,top: 顶部弹出层;bottom:底部弹出层;center:全屏弹出层
-    // message: 消息提示 ; dialog : 对话框
-    type: {
-      type: String,
-      default: "center"
-    },
-    // maskClick
-    isMaskClick: {
-      type: Boolean,
-      default: null
-    },
-    // TODO 2 个版本后废弃属性 ,使用 isMaskClick
-    maskClick: {
-      type: Boolean,
-      default: null
-    },
-    backgroundColor: {
-      type: String,
-      default: "none"
-    },
-    safeArea: {
-      type: Boolean,
-      default: true
-    },
-    maskBackgroundColor: {
-      type: String,
-      default: "rgba(0, 0, 0, 0.4)"
-    },
-    borderRadius: {
-      type: String
-    }
-  },
-  watch: {
-    /**
-     * 监听type类型
-     */
-    type: {
-      handler: function(type) {
-        if (!this.config[type])
-          return;
-        this[this.config[type]](true);
-      },
-      immediate: true
-    },
-    isDesktop: {
-      handler: function(newVal) {
-        if (!this.config[newVal])
-          return;
-        this[this.config[this.type]](true);
-      },
-      immediate: true
-    },
-    /**
-     * 监听遮罩是否可点击
-     * @param {Object} val
-     */
-    maskClick: {
-      handler: function(val) {
-        this.mkclick = val;
-      },
-      immediate: true
-    },
-    isMaskClick: {
-      handler: function(val) {
-        this.mkclick = val;
-      },
-      immediate: true
-    },
-    // H5 下禁止底部滚动
-    showPopup(show) {
-    }
-  },
-  data() {
-    return {
-      duration: 300,
-      ani: [],
-      showPopup: false,
-      showTrans: false,
-      popupWidth: 0,
-      popupHeight: 0,
-      config: {
-        top: "top",
-        bottom: "bottom",
-        center: "center",
-        left: "left",
-        right: "right",
-        message: "top",
-        dialog: "center",
-        share: "bottom"
-      },
-      maskClass: {
-        position: "fixed",
-        bottom: 0,
-        top: 0,
-        left: 0,
-        right: 0,
-        backgroundColor: "rgba(0, 0, 0, 0.4)"
-      },
-      transClass: {
-        backgroundColor: "transparent",
-        borderRadius: this.borderRadius || "0",
-        position: "fixed",
-        left: 0,
-        right: 0
-      },
-      maskShow: true,
-      mkclick: true,
-      popupstyle: "top"
-    };
-  },
-  computed: {
-    getStyles() {
-      let res = { backgroundColor: this.bg };
-      if (this.borderRadius || "0") {
-        res = Object.assign(res, { borderRadius: this.borderRadius });
-      }
-      return res;
-    },
-    isDesktop() {
-      return this.popupWidth >= 500 && this.popupHeight >= 500;
-    },
-    bg() {
-      if (this.backgroundColor === "" || this.backgroundColor === "none") {
-        return "transparent";
-      }
-      return this.backgroundColor;
-    }
-  },
-  mounted() {
-    const fixSize = () => {
-      const {
-        windowWidth,
-        windowHeight,
-        windowTop,
-        safeArea,
-        screenHeight,
-        safeAreaInsets
-      } = common_vendor.index.getSystemInfoSync();
-      this.popupWidth = windowWidth;
-      this.popupHeight = windowHeight + (windowTop || 0);
-      if (safeArea && this.safeArea) {
-        this.safeAreaInsets = screenHeight - safeArea.bottom;
-      } else {
-        this.safeAreaInsets = 0;
-      }
-    };
-    fixSize();
-  },
-  // TODO vue3
-  unmounted() {
-    this.setH5Visible();
-  },
-  activated() {
-    this.setH5Visible(!this.showPopup);
-  },
-  deactivated() {
-    this.setH5Visible(true);
-  },
-  created() {
-    if (this.isMaskClick === null && this.maskClick === null) {
-      this.mkclick = true;
-    } else {
-      this.mkclick = this.isMaskClick !== null ? this.isMaskClick : this.maskClick;
-    }
-    if (this.animation) {
-      this.duration = 300;
-    } else {
-      this.duration = 0;
-    }
-    this.messageChild = null;
-    this.clearPropagation = false;
-    this.maskClass.backgroundColor = this.maskBackgroundColor;
-  },
-  methods: {
-    setH5Visible(visible = true) {
-    },
-    /**
-     * 公用方法,不显示遮罩层
-     */
-    closeMask() {
-      this.maskShow = false;
-    },
-    /**
-     * 公用方法,遮罩层禁止点击
-     */
-    disableMask() {
-      this.mkclick = false;
-    },
-    // TODO nvue 取消冒泡
-    clear(e) {
-      e.stopPropagation();
-      this.clearPropagation = true;
-    },
-    open(direction) {
-      if (this.showPopup) {
-        return;
-      }
-      let innerType = ["top", "center", "bottom", "left", "right", "message", "dialog", "share"];
-      if (!(direction && innerType.indexOf(direction) !== -1)) {
-        direction = this.type;
-      }
-      if (!this.config[direction]) {
-        console.error("缺少类型:", direction);
-        return;
-      }
-      this[this.config[direction]]();
-      this.$emit("change", {
-        show: true,
-        type: direction
-      });
-    },
-    close(type) {
-      this.showTrans = false;
-      this.$emit("change", {
-        show: false,
-        type: this.type
-      });
-      clearTimeout(this.timer);
-      this.timer = setTimeout(() => {
-        this.showPopup = false;
-      }, 300);
-    },
-    // TODO 处理冒泡事件,头条的冒泡事件有问题 ,先这样兼容
-    touchstart() {
-      this.clearPropagation = false;
-    },
-    onTap() {
-      if (this.clearPropagation) {
-        this.clearPropagation = false;
-        return;
-      }
-      this.$emit("maskClick");
-      if (!this.mkclick)
-        return;
-      this.close();
-    },
-    /**
-     * 顶部弹出样式处理
-     */
-    top(type) {
-      this.popupstyle = this.isDesktop ? "fixforpc-top" : "top";
-      this.ani = ["slide-top"];
-      this.transClass = {
-        position: "fixed",
-        left: 0,
-        right: 0,
-        backgroundColor: this.bg,
-        borderRadius: this.borderRadius || "0"
-      };
-      if (type)
-        return;
-      this.showPopup = true;
-      this.showTrans = true;
-      this.$nextTick(() => {
-        if (this.messageChild && this.type === "message") {
-          this.messageChild.timerClose();
-        }
-      });
-    },
-    /**
-     * 底部弹出样式处理
-     */
-    bottom(type) {
-      this.popupstyle = "bottom";
-      this.ani = ["slide-bottom"];
-      this.transClass = {
-        position: "fixed",
-        left: 0,
-        right: 0,
-        bottom: 0,
-        paddingBottom: this.safeAreaInsets + "px",
-        backgroundColor: this.bg,
-        borderRadius: this.borderRadius || "0"
-      };
-      if (type)
-        return;
-      this.showPopup = true;
-      this.showTrans = true;
-    },
-    /**
-     * 中间弹出样式处理
-     */
-    center(type) {
-      this.popupstyle = "center";
-      this.ani = ["fade"];
-      this.transClass = {
-        position: "fixed",
-        display: "flex",
-        flexDirection: "column",
-        bottom: 0,
-        left: 0,
-        right: 0,
-        top: 0,
-        justifyContent: "center",
-        alignItems: "center",
-        borderRadius: this.borderRadius || "0"
-      };
-      if (type)
-        return;
-      this.showPopup = true;
-      this.showTrans = true;
-    },
-    left(type) {
-      this.popupstyle = "left";
-      this.ani = ["slide-left"];
-      this.transClass = {
-        position: "fixed",
-        left: 0,
-        bottom: 0,
-        top: 0,
-        backgroundColor: this.bg,
-        borderRadius: this.borderRadius || "0",
-        display: "flex",
-        flexDirection: "column"
-      };
-      if (type)
-        return;
-      this.showPopup = true;
-      this.showTrans = true;
-    },
-    right(type) {
-      this.popupstyle = "right";
-      this.ani = ["slide-right"];
-      this.transClass = {
-        position: "fixed",
-        bottom: 0,
-        right: 0,
-        top: 0,
-        backgroundColor: this.bg,
-        borderRadius: this.borderRadius || "0",
-        display: "flex",
-        flexDirection: "column"
-      };
-      if (type)
-        return;
-      this.showPopup = true;
-      this.showTrans = true;
-    }
-  }
-};
-if (!Array) {
-  const _easycom_uni_transition2 = common_vendor.resolveComponent("uni-transition");
-  _easycom_uni_transition2();
-}
-const _easycom_uni_transition = () => "../uni-transition/uni-transition.js";
-if (!Math) {
-  _easycom_uni_transition();
-}
-function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
-  return common_vendor.e({
-    a: $data.showPopup
-  }, $data.showPopup ? common_vendor.e({
-    b: $data.maskShow
-  }, $data.maskShow ? {
-    c: common_vendor.o($options.onTap),
-    d: common_vendor.p({
-      name: "mask",
-      ["mode-class"]: "fade",
-      styles: $data.maskClass,
-      duration: $data.duration,
-      show: $data.showTrans
-    })
-  } : {}, {
-    e: common_vendor.s($options.getStyles),
-    f: common_vendor.n($data.popupstyle),
-    g: common_vendor.o((...args) => $options.clear && $options.clear(...args)),
-    h: common_vendor.o($options.onTap),
-    i: common_vendor.p({
-      ["mode-class"]: $data.ani,
-      name: "content",
-      styles: $data.transClass,
-      duration: $data.duration,
-      show: $data.showTrans
-    }),
-    j: common_vendor.o((...args) => $options.touchstart && $options.touchstart(...args)),
-    k: common_vendor.n($data.popupstyle),
-    l: common_vendor.n($options.isDesktop ? "fixforpc-z-index" : "")
-  }) : {});
-}
-const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
-wx.createComponent(Component);
diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.json b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.json
deleted file mode 100644
index 76d3d8e..0000000
--- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "component": true,
-  "usingComponents": {
-    "uni-transition": "../uni-transition/uni-transition"
-  }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxml b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxml
deleted file mode 100644
index 78b58c6..0000000
--- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxml
+++ /dev/null
@@ -1 +0,0 @@
-<view wx:if="{{a}}" class="{{['uni-popup', k, l]}}"><view bindtouchstart="{{j}}"><uni-transition wx:if="{{b}}" key="1" bindclick="{{c}}" u-i="8c28e6d6-0" bind:__l="__l" u-p="{{d}}"/><uni-transition wx:if="{{i}}" u-s="{{['d']}}" key="2" bindclick="{{h}}" u-i="8c28e6d6-1" bind:__l="__l" u-p="{{i}}"><view style="{{e}}" class="{{['uni-popup__wrapper', f]}}" bindtap="{{g}}"><slot/></view></uni-transition></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxss b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxss
deleted file mode 100644
index 4014708..0000000
--- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.wxss
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-.uni-popup {
-  position: fixed;
-  z-index: 99;
-}
-.uni-popup.top, .uni-popup.left, .uni-popup.right {
-  top: 0;
-}
-.uni-popup .uni-popup__wrapper {
-  display: block;
-  position: relative;
-  /* iphonex 等安全区设置,底部安全区适配 */
-}
-.uni-popup .uni-popup__wrapper.left, .uni-popup .uni-popup__wrapper.right {
-  padding-top: 0;
-  flex: 1;
-}
-.fixforpc-z-index {
-  z-index: 999;
-}
-.fixforpc-top {
-  top: 0;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.js b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.js
deleted file mode 100644
index 6d97327..0000000
--- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.js
+++ /dev/null
@@ -1,264 +0,0 @@
-"use strict";
-const common_vendor = require("../../../../../common/vendor.js");
-const _sfc_main = {
-  name: "uniTransition",
-  emits: ["click", "change"],
-  props: {
-    show: {
-      type: Boolean,
-      default: false
-    },
-    modeClass: {
-      type: [Array, String],
-      default() {
-        return "fade";
-      }
-    },
-    duration: {
-      type: Number,
-      default: 300
-    },
-    styles: {
-      type: Object,
-      default() {
-        return {};
-      }
-    },
-    customClass: {
-      type: String,
-      default: ""
-    },
-    onceRender: {
-      type: Boolean,
-      default: false
-    }
-  },
-  data() {
-    return {
-      isShow: false,
-      transform: "",
-      opacity: 1,
-      animationData: {},
-      durationTime: 300,
-      config: {}
-    };
-  },
-  watch: {
-    show: {
-      handler(newVal) {
-        if (newVal) {
-          this.open();
-        } else {
-          if (this.isShow) {
-            this.close();
-          }
-        }
-      },
-      immediate: true
-    }
-  },
-  computed: {
-    // 生成样式数据
-    stylesObject() {
-      let styles = {
-        ...this.styles,
-        "transition-duration": this.duration / 1e3 + "s"
-      };
-      let transform = "";
-      for (let i in styles) {
-        let line = this.toLine(i);
-        transform += line + ":" + styles[i] + ";";
-      }
-      return transform;
-    },
-    // 初始化动画条件
-    transformStyles() {
-      return "transform:" + this.transform + ";opacity:" + this.opacity + ";" + this.stylesObject;
-    }
-  },
-  created() {
-    this.config = {
-      duration: this.duration,
-      timingFunction: "ease",
-      transformOrigin: "50% 50%",
-      delay: 0
-    };
-    this.durationTime = this.duration;
-  },
-  methods: {
-    /**
-     *  ref 触发 初始化动画
-     */
-    init(obj = {}) {
-      if (obj.duration) {
-        this.durationTime = obj.duration;
-      }
-      this.animation = common_vendor.createAnimation(Object.assign(this.config, obj), this);
-    },
-    /**
-     * 点击组件触发回调
-     */
-    onClick() {
-      this.$emit("click", {
-        detail: this.isShow
-      });
-    },
-    /**
-     * ref 触发 动画分组
-     * @param {Object} obj
-     */
-    step(obj, config = {}) {
-      if (!this.animation)
-        return;
-      for (let i in obj) {
-        try {
-          if (typeof obj[i] === "object") {
-            this.animation[i](...obj[i]);
-          } else {
-            this.animation[i](obj[i]);
-          }
-        } catch (e) {
-          console.error(`方法 ${i} 不存在`);
-        }
-      }
-      this.animation.step(config);
-      return this;
-    },
-    /**
-     *  ref 触发 执行动画
-     */
-    run(fn) {
-      if (!this.animation)
-        return;
-      this.animation.run(fn);
-    },
-    // 开始过度动画
-    open() {
-      clearTimeout(this.timer);
-      this.transform = "";
-      this.isShow = true;
-      let { opacity, transform } = this.styleInit(false);
-      if (typeof opacity !== "undefined") {
-        this.opacity = opacity;
-      }
-      this.transform = transform;
-      this.$nextTick(() => {
-        this.timer = setTimeout(() => {
-          this.animation = common_vendor.createAnimation(this.config, this);
-          this.tranfromInit(false).step();
-          this.animation.run();
-          this.$emit("change", {
-            detail: this.isShow
-          });
-        }, 20);
-      });
-    },
-    // 关闭过度动画
-    close(type) {
-      if (!this.animation)
-        return;
-      this.tranfromInit(true).step().run(() => {
-        this.isShow = false;
-        this.animationData = null;
-        this.animation = null;
-        let { opacity, transform } = this.styleInit(false);
-        this.opacity = opacity || 1;
-        this.transform = transform;
-        this.$emit("change", {
-          detail: this.isShow
-        });
-      });
-    },
-    // 处理动画开始前的默认样式
-    styleInit(type) {
-      let styles = {
-        transform: ""
-      };
-      let buildStyle = (type2, mode) => {
-        if (mode === "fade") {
-          styles.opacity = this.animationType(type2)[mode];
-        } else {
-          styles.transform += this.animationType(type2)[mode] + " ";
-        }
-      };
-      if (typeof this.modeClass === "string") {
-        buildStyle(type, this.modeClass);
-      } else {
-        this.modeClass.forEach((mode) => {
-          buildStyle(type, mode);
-        });
-      }
-      return styles;
-    },
-    // 处理内置组合动画
-    tranfromInit(type) {
-      let buildTranfrom = (type2, mode) => {
-        let aniNum = null;
-        if (mode === "fade") {
-          aniNum = type2 ? 0 : 1;
-        } else {
-          aniNum = type2 ? "-100%" : "0";
-          if (mode === "zoom-in") {
-            aniNum = type2 ? 0.8 : 1;
-          }
-          if (mode === "zoom-out") {
-            aniNum = type2 ? 1.2 : 1;
-          }
-          if (mode === "slide-right") {
-            aniNum = type2 ? "100%" : "0";
-          }
-          if (mode === "slide-bottom") {
-            aniNum = type2 ? "100%" : "0";
-          }
-        }
-        this.animation[this.animationMode()[mode]](aniNum);
-      };
-      if (typeof this.modeClass === "string") {
-        buildTranfrom(type, this.modeClass);
-      } else {
-        this.modeClass.forEach((mode) => {
-          buildTranfrom(type, mode);
-        });
-      }
-      return this.animation;
-    },
-    animationType(type) {
-      return {
-        fade: type ? 0 : 1,
-        "slide-top": `translateY(${type ? "0" : "-100%"})`,
-        "slide-right": `translateX(${type ? "0" : "100%"})`,
-        "slide-bottom": `translateY(${type ? "0" : "100%"})`,
-        "slide-left": `translateX(${type ? "0" : "-100%"})`,
-        "zoom-in": `scaleX(${type ? 1 : 0.8}) scaleY(${type ? 1 : 0.8})`,
-        "zoom-out": `scaleX(${type ? 1 : 1.2}) scaleY(${type ? 1 : 1.2})`
-      };
-    },
-    // 内置动画类型与实际动画对应字典
-    animationMode() {
-      return {
-        fade: "opacity",
-        "slide-top": "translateY",
-        "slide-right": "translateX",
-        "slide-bottom": "translateY",
-        "slide-left": "translateX",
-        "zoom-in": "scale",
-        "zoom-out": "scale"
-      };
-    },
-    // 驼峰转中横线
-    toLine(name) {
-      return name.replace(/([A-Z])/g, "-$1").toLowerCase();
-    }
-  }
-};
-function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
-  return {
-    a: $data.isShow,
-    b: $data.animationData,
-    c: common_vendor.n($props.customClass),
-    d: common_vendor.s($options.transformStyles),
-    e: common_vendor.o((...args) => $options.onClick && $options.onClick(...args))
-  };
-}
-const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
-wx.createComponent(Component);
diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.json b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "component": true,
-  "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxml b/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxml
deleted file mode 100644
index 8fa2f75..0000000
--- a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxml
+++ /dev/null
@@ -1 +0,0 @@
-<view hidden="{{!a}}" ref="ani" animation="{{b}}" class="{{c}}" style="{{d}}" bindtap="{{e}}"><slot></slot></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/addCard/index.js b/unpackage/dist/dev/mp-weixin/pages/addCard/index.js
index e4ed725..2f48b66 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addCard/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/addCard/index.js
@@ -12,13 +12,10 @@
 const _sfc_main = {
   __name: "index",
   setup(__props) {
-    function navBackTo() {
-      common_vendor.index.navigateBack();
-    }
     const form = common_vendor.ref({
-      cardNumber: "",
-      name: "",
-      phone: "",
+      waterCardNumber: "",
+      userName: "",
+      userPhone: "",
       address: "",
       remark: ""
     });
@@ -29,24 +26,23 @@
     });
     return (_ctx, _cache) => {
       return {
-        a: common_vendor.o(($event) => navBackTo()),
-        b: common_vendor.p({
+        a: common_vendor.p({
           title: "绑定会员卡"
         }),
-        c: form.value.cardNumber,
-        d: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
-        e: common_assets._imports_0$3,
-        f: form.value.cardNumber,
-        g: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
-        h: form.value.cardNumber,
-        i: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
-        j: form.value.cardNumber,
-        k: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
-        l: form.value.cardNumber,
-        m: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
-        n: form.value.cardNumber,
-        o: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
-        p: common_vendor.o(($event) => submit())
+        b: form.value.cardNumber,
+        c: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
+        d: common_assets._imports_0$2,
+        e: form.value.cardNumber,
+        f: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
+        g: form.value.cardNumber,
+        h: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
+        i: form.value.cardNumber,
+        j: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
+        k: form.value.cardNumber,
+        l: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
+        m: form.value.cardNumber,
+        n: common_vendor.o(($event) => form.value.cardNumber = $event.detail.value),
+        o: common_vendor.o(($event) => submit())
       };
     };
   }
diff --git a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml
index b3f4e8b..6f32ead 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml
@@ -1 +1 @@
-<view class="container data-v-4c5e7c86"><view class="content data-v-4c5e7c86"><navbar wx:if="{{b}}" class="data-v-4c5e7c86" bindnavBackTo="{{a}}" u-i="4c5e7c86-0" bind:__l="__l" u-p="{{b}}"></navbar><view class="main data-v-4c5e7c86"><view class="title data-v-4c5e7c86">请填写卡及个人信息</view><view class="form data-v-4c5e7c86"><view class="form-item card-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">卡号:</text><input class="data-v-4c5e7c86" placeholder="请输入卡号" value="{{c}}" bindinput="{{d}}"/><image class="data-v-4c5e7c86" src="{{e}}" alt=""></image></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">姓名:</text><input class="data-v-4c5e7c86" placeholder="请输入姓名" value="{{f}}" bindinput="{{g}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">联系方式:</text><input class="data-v-4c5e7c86" placeholder="请输入手机号" value="{{h}}" bindinput="{{i}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">区域:</text><input class="data-v-4c5e7c86" placeholder="请选择区域" value="{{j}}" bindinput="{{k}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">地址:</text><input class="data-v-4c5e7c86" placeholder="请输入地址" value="{{l}}" bindinput="{{m}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">备注:</text><input class="data-v-4c5e7c86" placeholder="请输入内容" value="{{n}}" bindinput="{{o}}"/></view></view><view class="tips data-v-4c5e7c86"><text class="data-v-4c5e7c86">1、完成实名认证,方便遗失挂失及补卡等。</text><text class="data-v-4c5e7c86">2、绑卡后,运营商可以看到您实名时填写的 姓名和电话。</text></view><view class="subBtn data-v-4c5e7c86" bindtap="{{p}}">提交信息</view></view></view></view>
\ No newline at end of file
+<view class="container data-v-4c5e7c86"><view class="content data-v-4c5e7c86"><navbar wx:if="{{a}}" class="data-v-4c5e7c86" u-i="4c5e7c86-0" bind:__l="__l" u-p="{{a}}"></navbar><view class="main data-v-4c5e7c86"><view class="title data-v-4c5e7c86">请填写卡及个人信息</view><view class="form data-v-4c5e7c86"><view class="form-item card-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">卡号:</text><input class="data-v-4c5e7c86" placeholder="请输入卡号" value="{{b}}" bindinput="{{c}}"/><image class="data-v-4c5e7c86" src="{{d}}" alt=""></image></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">姓名:</text><input class="data-v-4c5e7c86" placeholder="请输入姓名" value="{{e}}" bindinput="{{f}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">联系方式:</text><input class="data-v-4c5e7c86" placeholder="请输入手机号" value="{{g}}" bindinput="{{h}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">区域:</text><input class="data-v-4c5e7c86" placeholder="请选择区域" value="{{i}}" bindinput="{{j}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">地址:</text><input class="data-v-4c5e7c86" placeholder="请输入地址" value="{{k}}" bindinput="{{l}}"/></view><view class="form-item data-v-4c5e7c86"><text class="data-v-4c5e7c86">备注:</text><input class="data-v-4c5e7c86" placeholder="请输入内容" value="{{m}}" bindinput="{{n}}"/></view></view><view class="tips data-v-4c5e7c86"><text class="data-v-4c5e7c86">1、完成实名认证,方便遗失挂失及补卡等。</text><text class="data-v-4c5e7c86">2、绑卡后,运营商可以看到您实名时填写的 姓名和电话。</text></view><view class="subBtn data-v-4c5e7c86" bindtap="{{o}}">提交信息</view></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss
index ac52287..59f5468 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss
@@ -128,4 +128,5 @@
   text-align: center;
   line-height: 98rpx;
   margin-top: 236rpx;
+  letter-spacing: 2px;
 }
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js
index 53bb980..0021cae 100644
--- a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js
@@ -14,11 +14,15 @@
     function navBackTo() {
       common_vendor.index.navigateBack();
     }
+    const banlanceList = common_vendor.ref([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);
     return (_ctx, _cache) => {
       return {
         a: common_vendor.o(($event) => navBackTo()),
         b: common_vendor.p({
           title: "余额记录"
+        }),
+        c: common_vendor.f(banlanceList.value, (item, index, i0) => {
+          return {};
         })
       };
     };
diff --git a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml
index e3f855c..274622c 100644
--- a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml
@@ -1 +1 @@
-<view class="container"><navbar wx:if="{{b}}" bindnavBackTo="{{a}}" u-i="434b3e96-0" bind:__l="__l" u-p="{{b}}"></navbar></view>
\ No newline at end of file
+<view class="container"><navbar wx:if="{{b}}" bindnavBackTo="{{a}}" u-i="434b3e96-0" bind:__l="__l" u-p="{{b}}"></navbar><view class="date"><view><text>2024年09月</text></view><view><text>支出¥5341.05</text><text>充值¥941.59</text></view></view><view class="main"><block wx:for="{{c}}" wx:for-item="item"><view class="item"><view class="item-left"><text>缴费</text><text class="methods">支付方式:微信</text><text>2024年09月20日 18:25</text></view><view class="item-right"><text>-¥125.00</text><text>2000.00</text></view></view></block></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss
index f02efd8..48fdf86 100644
--- a/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss
@@ -26,4 +26,86 @@
 .container {
   width: 100%;
   height: 100vh;
+  background: linear-gradient(to top, #FFFFFF, #E8EFFF);
+}
+.container .date {
+  height: 84rpx;
+  width: 100%;
+  display: flex;
+  padding: 0 36rpx;
+  box-sizing: border-box;
+  justify-content: space-between;
+  align-items: center;
+}
+.container .date view:first-child {
+  font-weight: 300;
+  font-size: 32rpx;
+  color: #000000;
+}
+.container .date view:last-child {
+  font-weight: 300;
+  font-size: 24rpx;
+  color: #7E7E7E;
+}
+.container .date view:last-child text:first-child {
+  margin-right: 30rpx;
+}
+.container .main {
+  width: 99%;
+  height: calc(100vh - 84rpx - 176rpx - 70rpx);
+  background: #fff;
+  border-radius: 20rpx;
+  margin: 0 auto;
+  padding: 28rpx 48rpx;
+  box-sizing: border-box;
+  overflow-y: scroll;
+}
+.container .main .item {
+  width: 100%;
+  height: 184rpx;
+  border-bottom: 1rpx solid #D8D8D8;
+  box-sizing: border-box;
+  padding-bottom: 38rpx;
+  justify-content: space-between;
+  align-items: flex-end;
+  display: flex;
+}
+.container .main .item .item-left {
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  align-items: flex-start;
+}
+.container .main .item .item-left text:first-child {
+  font-weight: 300;
+  font-size: 32rpx;
+  color: #000000;
+}
+.container .main .item .item-left .methods {
+  font-weight: 300;
+  font-size: 32rpx;
+  color: #474646;
+}
+.container .main .item .item-left text:last-child {
+  font-weight: 300;
+  font-size: 24rpx;
+  color: #A7A7A7;
+}
+.container .main .item .item-right {
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-end;
+  align-items: flex-end;
+}
+.container .main .item .item-right text:first-child {
+  font-weight: 300;
+  font-size: 32rpx;
+  color: #000000;
+}
+.container .main .item .item-right text:last-child {
+  font-weight: 300;
+  font-size: 24rpx;
+  color: #A7A7A7;
 }
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js
index e1e3762..b87cb87 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js
@@ -1,35 +1,53 @@
 "use strict";
 const common_vendor = require("../../common/vendor.js");
 const common_assets = require("../../common/assets.js");
+const api_index = require("../../api/index.js");
 const _sfc_main = {
   __name: "index",
   setup(__props) {
     const topHeight = common_vendor.ref(0);
+    function getTopHeight() {
+      if (common_vendor.index.getMenuButtonBoundingClientRect) {
+        topHeight.value = (common_vendor.index.getMenuButtonBoundingClientRect().top + common_vendor.index.getMenuButtonBoundingClientRect().height) * 2;
+      }
+    }
+    const vipInfo = common_vendor.ref();
     const isVip = common_vendor.ref(false);
+    async function getVipInfo() {
+      let res = await api_index.getUserInfo();
+      if (res.data.userInfo.waterCardNumber) {
+        let res1 = await api_index.getVipInfoApi();
+        vipInfo.value = res1.data;
+        isVip.value = true;
+      } else {
+        isVip.value = false;
+      }
+    }
     function navToAddCard() {
       common_vendor.index.navigateTo({
         url: "/pages/addCard/index"
       });
     }
     const functionList = common_vendor.ref([
-      { text: "余额记录", icon: "../../static/images/index/icon31.png", url: "/pages/balanceRecord/index" },
-      { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "/pages/login/index" },
-      { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "/pages/login/index" },
-      { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "/pages/login/index" },
-      { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "/pages/login/index" },
-      { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "/pages/login/index" },
-      { text: "联系客服", icon: "../../static/images/index/icon37.png", url: "/pages/login/index" },
+      { text: "余额记录", icon: "../../static/images/index/icon31.png", url: "" },
+      { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "" },
+      { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "" },
+      { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "" },
+      { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "" },
+      { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "" },
+      { text: "联系客服", icon: "../../static/images/index/icon37.png", url: "" },
       { text: "推广分佣", icon: "../../static/images/index/icon38.png", url: "/pages/login/index" }
     ]);
     function navTo(itemUrl) {
-      common_vendor.index.navigateTo({
-        url: itemUrl
-      });
-    }
-    common_vendor.onMounted(() => {
-      if (common_vendor.index.getMenuButtonBoundingClientRect) {
-        topHeight.value = (common_vendor.index.getMenuButtonBoundingClientRect().top + common_vendor.index.getMenuButtonBoundingClientRect().height) * 2;
+      if (itemUrl) {
+        common_vendor.index.navigateTo({
+          url: itemUrl
+        });
       }
+    }
+    common_vendor.onMounted(async () => {
+      getTopHeight();
+      await getVipInfo();
     });
     return (_ctx, _cache) => {
       return common_vendor.e({
@@ -37,11 +55,11 @@
       }, isVip.value ? {
         b: common_assets._imports_0$1
       } : {
-        c: common_assets._imports_1
+        c: common_assets._imports_1,
+        d: common_vendor.o(($event) => navToAddCard())
       }, {
-        d: common_assets._imports_2,
-        e: common_assets._imports_3,
-        f: common_vendor.o(($event) => navToAddCard()),
+        e: common_assets._imports_2,
+        f: common_assets._imports_3,
         g: topHeight.value + "rpx",
         h: common_assets._imports_4,
         i: common_assets._imports_5,
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
index d1a7c83..bb91f85 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
@@ -1 +1 @@
-<view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + g}}"><view class="card data-v-1cf27b2a"><view class="card-content data-v-1cf27b2a" bindtap="{{f}}"><view wx:if="{{a}}" class="card-title data-v-1cf27b2a"><view class="data-v-1cf27b2a">会员卡</view><image class="data-v-1cf27b2a" src="{{b}}" alt=""></image></view><view wx:else class="card-add data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card-info data-v-1cf27b2a"><view class="info-head data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{d}}" alt=""></image></view><view class="info-content data-v-1cf27b2a"><view class="info-content-top data-v-1cf27b2a"><view class="data-v-1cf27b2a">张大左</view><view class="data-v-1cf27b2a">vip1</view></view><view class="info-content-bottom data-v-1cf27b2a">YL123654987521</view></view><view class="info-more data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{e}}"></image></view></view><view class="card-bottom data-v-1cf27b2a"><view class="data-v-1cf27b2a">我的积分:200</view><view class="data-v-1cf27b2a">消费折扣:9.9折</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{h}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view class="box1-bg box1-two data-v-1cf27b2a"><view class="data-v-1cf27b2a">账户余额(元)</view><view class="recharge data-v-1cf27b2a"><text class="data-v-1cf27b2a">¥</text><text class="data-v-1cf27b2a">120.00</text></view><view class="data-v-1cf27b2a"> 充值 </view></view><view class="box1-bg box1-three data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{i}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{j}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{k}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{l}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">蔡家供水服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{m}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{n}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{o}}" alt=""></image></view></view></view></view></view></view>
\ No newline at end of file
+<view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + g}}"><view class="card data-v-1cf27b2a"><view class="card-content data-v-1cf27b2a"><view wx:if="{{a}}" class="card-title data-v-1cf27b2a"><view class="data-v-1cf27b2a">会员卡</view><image class="data-v-1cf27b2a" src="{{b}}" alt=""></image></view><view wx:else class="card-add data-v-1cf27b2a"><view class="data-v-1cf27b2a" bindtap="{{d}}"><image class="data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card-info data-v-1cf27b2a"><view class="info-head data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{e}}" alt=""></image></view><view class="info-content data-v-1cf27b2a"><view class="info-content-top data-v-1cf27b2a"><view class="data-v-1cf27b2a">张大左</view><view class="data-v-1cf27b2a">vip1</view></view><view class="info-content-bottom data-v-1cf27b2a">YL123654987521</view></view><view class="info-more data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{f}}"></image></view></view><view class="card-bottom data-v-1cf27b2a"><view class="data-v-1cf27b2a">我的积分:200</view><view class="data-v-1cf27b2a">消费折扣:9.9折</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{h}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view class="box1-bg box1-two data-v-1cf27b2a"><view class="data-v-1cf27b2a">账户余额(元)</view><view class="recharge data-v-1cf27b2a"><text class="data-v-1cf27b2a">¥</text><text class="data-v-1cf27b2a">120.00</text></view><view class="data-v-1cf27b2a"> 充值 </view></view><view class="box1-bg box1-three data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{i}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{j}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{k}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{l}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">蔡家供水服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{m}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{n}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{o}}" alt=""></image></view></view></view></view></view></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
index 1b85bac..42bc800 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
@@ -33,52 +33,52 @@
   height: 100vh;
   background: #F6F6F6;
 }
-.card-box.data-v-1cf27b2a {
+.container .content .card-box.data-v-1cf27b2a {
   width: 100%;
   height: auto;
   box-sizing: border-box;
   padding: 0 32rpx;
   background: linear-gradient(to bottom, #5EA1FA, #D2F2FE);
 }
-.card-box .card.data-v-1cf27b2a {
+.container .content .card-box .card.data-v-1cf27b2a {
   width: 100%;
   height: 304rpx;
   background-image: url("data:image/png;base64,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");
   background-repeat: no-repeat;
   background-size: 100%;
 }
-.card-box .card .card-content.data-v-1cf27b2a {
+.container .content .card-box .card .card-content.data-v-1cf27b2a {
   width: 100%;
   height: 100%;
   box-sizing: border-box;
   padding: 14rpx 42rpx 64rpx 22rpx;
 }
-.card-box .card .card-content .card-title.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-title.data-v-1cf27b2a {
   width: 100%;
   height: 64rpx;
   display: flex;
   justify-content: flex-end;
   align-items: center;
 }
-.card-box .card .card-content .card-title view.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-title view.data-v-1cf27b2a {
   font-weight: 300;
   font-size: 36rpx;
   color: #FFFFFF;
   letter-spacing: 5rpx;
   text-align: left;
 }
-.card-box .card .card-content .card-title image.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-title image.data-v-1cf27b2a {
   width: 64rpx;
   height: 64rpx;
 }
-.card-box .card .card-content .card-add.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-add.data-v-1cf27b2a {
   width: 100%;
   height: 64rpx;
   display: flex;
   justify-content: flex-end;
   align-items: center;
 }
-.card-box .card .card-content .card-add view.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-add view.data-v-1cf27b2a {
   width: 172rpx;
   height: 38rpx;
   border-radius: 24rpx;
@@ -87,18 +87,18 @@
   justify-content: flex-start;
   align-items: center;
 }
-.card-box .card .card-content .card-add view image.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-add view image.data-v-1cf27b2a {
   width: 22rpx;
   height: 22rpx;
   margin-left: 15rpx;
 }
-.card-box .card .card-content .card-add view text.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-add view text.data-v-1cf27b2a {
   font-weight: 300;
   font-size: 20rpx;
   color: #0088FF;
   margin-left: 15rpx;
 }
-.card-box .card .card-content .card-info.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-info.data-v-1cf27b2a {
   width: 100%;
   height: 100rpx;
   margin-top: 18rpx;
@@ -106,16 +106,16 @@
   justify-content: flex-start;
   align-items: center;
 }
-.card-box .card .card-content .card-info .info-head.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-info .info-head.data-v-1cf27b2a {
   width: 100rpx;
   height: 100rpx;
   margin-right: 20rpx;
 }
-.card-box .card .card-content .card-info .info-head image.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-info .info-head image.data-v-1cf27b2a {
   width: 100rpx;
   height: 100rpx;
 }
-.card-box .card .card-content .card-info .info-content.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-info .info-content.data-v-1cf27b2a {
   width: 216rpx;
   height: 100rpx;
   display: flex;
@@ -123,14 +123,14 @@
   justify-content: flex-start;
   align-items: flex-start;
 }
-.card-box .card .card-content .card-info .info-content .info-content-top.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-info .info-content .info-content-top.data-v-1cf27b2a {
   width: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 8rpx;
 }
-.card-box .card .card-content .card-info .info-content .info-content-top view.data-v-1cf27b2a:first-child {
+.container .content .card-box .card .card-content .card-info .info-content .info-content-top view.data-v-1cf27b2a:first-child {
   width: 108rpx;
   height: 50rpx;
   font-weight: 400;
@@ -138,7 +138,7 @@
   color: #FFFFFF;
   text-align: left;
 }
-.card-box .card .card-content .card-info .info-content .info-content-top view.data-v-1cf27b2a:last-child {
+.container .content .card-box .card .card-content .card-info .info-content .info-content-top view.data-v-1cf27b2a:last-child {
   width: 86rpx;
   height: 32rpx;
   font-weight: 300;
@@ -147,7 +147,7 @@
   text-align: center;
   background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAQCAYAAACP4IauAAAAAXNSR0IArs4c6QAAAdxJREFUSEvNlr1LHFEUxe85d3ZnEvGjt5RowgpbaJvKNGIVsisEQsAmJllm/UC0SJ3WTaNs0oh/RNKIzbo2SaMkLIhY2llIEg3ix8i8mdFRRMzoDk4zb97c995vzpz37oVcul79mO7xPH0L0SFCO0F9SFAAFVAlapNhH1SiNk0Mxdz9MSY+3nce678n/bhwziB2H9BtUr+KxeqMk9+I4yF66Pv8JtOdb/sonk6QapnJLgFeBRvBBIveDvYCOHkEZiqb9r8PX9B/6HMa2MFvrt3WnlkC9On5F98M1iwQqnynsNHfBOtZJ/usjEcHBna4PlaF6Kiv3P/CNk3Z0ErGKsLqpPP4HV7USzkVax2imgS22cqGvj4WYR6FmlsBOB75814qG2zWTyjWyg0BniSFTUdZs38aKNbcvwK2JIVNxbOBsnu+DX4DbE0Km5ayoP5BccX9KcLepLBpKUvoLxRq5VkAE0lh01JWoBU8Xy33WidYI5IdXWkoS+ixl2U+SAqrY3Pw9P29PWep85PZntKt023zlWU9Y8fSrakPNl27fefBHIERQHnTQqZpnqWeAFywHafk1wVnhUy8DHv5fSZHz3oNcIBkF6Ad15WId6osdZfQLQDLlucsTrXmGnG2Ux7nYTiYHiPjAAAAAElFTkSuQmCC");
 }
-.card-box .card .card-content .card-info .info-content .info-content-bottom.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-info .info-content .info-content-bottom.data-v-1cf27b2a {
   width: 100%;
   font-weight: 300;
   font-size: 20rpx;
@@ -155,16 +155,16 @@
   letter-spacing: 5rpx;
   text-align: left;
 }
-.card-box .card .card-content .card-info .info-more.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-info .info-more.data-v-1cf27b2a {
   width: 12rpx;
   height: 28rpx;
   margin-left: 274rpx;
 }
-.card-box .card .card-content .card-info .info-more image.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-info .info-more image.data-v-1cf27b2a {
   width: 12rpx;
   height: 28rpx;
 }
-.card-box .card .card-content .card-bottom.data-v-1cf27b2a {
+.container .content .card-box .card .card-content .card-bottom.data-v-1cf27b2a {
   margin-top: 36rpx;
   width: 100%;
   display: flex;
@@ -175,7 +175,7 @@
   line-height: 0rpx;
   text-align: center;
 }
-.function-box1.data-v-1cf27b2a {
+.container .content .function-box1.data-v-1cf27b2a {
   width: 100%;
   box-sizing: border-box;
   height: 227rpx;
@@ -184,14 +184,14 @@
   justify-content: space-between;
   align-items: center;
 }
-.function-box1 .box1-bg.data-v-1cf27b2a {
+.container .content .function-box1 .box1-bg.data-v-1cf27b2a {
   width: 212rpx;
   height: 200rpx;
   border-radius: 24rpx;
   background: #fff;
   box-shadow: 0 0 12rpx 2rpx rgba(13, 118, 255, 0.16);
 }
-.function-box1 .box1-one.data-v-1cf27b2a {
+.container .content .function-box1 .box1-one.data-v-1cf27b2a {
   font-weight: 300;
   font-size: 32rpx;
   color: #000000;
@@ -201,12 +201,12 @@
   align-items: center;
   justify-content: center;
 }
-.function-box1 .box1-one image.data-v-1cf27b2a {
+.container .content .function-box1 .box1-one image.data-v-1cf27b2a {
   width: 86rpx;
   height: 78rpx;
   margin-bottom: 20rpx;
 }
-.function-box1 .box1-two.data-v-1cf27b2a {
+.container .content .function-box1 .box1-two.data-v-1cf27b2a {
   box-sizing: border-box;
   padding: 25rpx 0 10rpx;
   display: flex;
@@ -214,24 +214,24 @@
   align-items: center;
   justify-content: space-around;
 }
-.function-box1 .box1-two view.data-v-1cf27b2a:first-child {
+.container .content .function-box1 .box1-two view.data-v-1cf27b2a:first-child {
   font-weight: 300;
   font-size: 24rpx;
   color: #464646;
   text-align: center;
   margin-bottom: 10rpx;
 }
-.function-box1 .box1-two .recharge text.data-v-1cf27b2a:first-child {
+.container .content .function-box1 .box1-two .recharge text.data-v-1cf27b2a:first-child {
   font-weight: 500;
   font-size: 32rpx;
   color: #000;
 }
-.function-box1 .box1-two .recharge text.data-v-1cf27b2a:last-child {
+.container .content .function-box1 .box1-two .recharge text.data-v-1cf27b2a:last-child {
   font-weight: 300;
   font-size: 32rpx;
   color: #2269E5;
 }
-.function-box1 .box1-two view.data-v-1cf27b2a:last-child {
+.container .content .function-box1 .box1-two view.data-v-1cf27b2a:last-child {
   width: 140rpx;
   height: 80rpx;
   font-weight: 300;
@@ -245,7 +245,7 @@
   line-height: 80rpx;
   margin-top: 10rpx;
 }
-.function-box1 .box1-three.data-v-1cf27b2a {
+.container .content .function-box1 .box1-three.data-v-1cf27b2a {
   font-weight: 300;
   font-size: 32rpx;
   color: #000000;
@@ -255,18 +255,18 @@
   align-items: center;
   justify-content: center;
 }
-.function-box1 .box1-three image.data-v-1cf27b2a {
+.container .content .function-box1 .box1-three image.data-v-1cf27b2a {
   width: 83rpx;
   height: 83rpx;
   margin-bottom: 20rpx;
 }
-.function-box2.data-v-1cf27b2a {
+.container .content .function-box2.data-v-1cf27b2a {
   width: 100%;
   box-sizing: border-box;
   height: 443rpx;
   padding: 0 32rpx 15rpx;
 }
-.function-box2 .box2-title.data-v-1cf27b2a {
+.container .content .function-box2 .box2-title.data-v-1cf27b2a {
   width: 100%;
   font-weight: 300;
   font-size: 32rpx;
@@ -275,7 +275,7 @@
   margin-bottom: 10rpx;
   margin-left: 30rpx;
 }
-.function-box2 .box2-content.data-v-1cf27b2a {
+.container .content .function-box2 .box2-content.data-v-1cf27b2a {
   box-sizing: border-box;
   padding: 22rpx 35rpx;
   width: 686rpx;
@@ -288,7 +288,7 @@
   justify-content: space-between;
   align-items: center;
 }
-.function-box2 .box2-content .box2-item.data-v-1cf27b2a {
+.container .content .function-box2 .box2-content .box2-item.data-v-1cf27b2a {
   width: 146rpx;
   height: 143rpx;
   display: flex;
@@ -296,11 +296,11 @@
   justify-content: space-between;
   align-items: center;
 }
-.function-box2 .box2-content .box2-item image.data-v-1cf27b2a {
+.container .content .function-box2 .box2-content .box2-item image.data-v-1cf27b2a {
   width: 90rpx;
   height: 90rpx;
 }
-.function-box2 .box2-content .box2-item .box2-item-text.data-v-1cf27b2a {
+.container .content .function-box2 .box2-content .box2-item .box2-item-text.data-v-1cf27b2a {
   width: 100%;
   height: 40rpx;
   font-weight: 300;
@@ -308,23 +308,23 @@
   color: #000000;
   text-align: center;
 }
-.advertisement-box.data-v-1cf27b2a {
+.container .content .advertisement-box.data-v-1cf27b2a {
   width: 100%;
   height: 188rpx;
   padding: 0 32rpx 10rpx;
   box-sizing: border-box;
 }
-.advertisement-box image.data-v-1cf27b2a {
+.container .content .advertisement-box image.data-v-1cf27b2a {
   width: 100%;
   height: 178rpx;
 }
-.service-box.data-v-1cf27b2a {
+.container .content .service-box.data-v-1cf27b2a {
   width: 100%;
   height: 255rpx;
   padding: 0 32rpx;
   box-sizing: border-box;
 }
-.service-box .service-title.data-v-1cf27b2a {
+.container .content .service-box .service-title.data-v-1cf27b2a {
   height: 44rpx;
   font-weight: 300;
   font-size: 32rpx;
@@ -333,14 +333,14 @@
   margin-bottom: 5rpx;
   margin-left: 30rpx;
 }
-.service-box .service-content.data-v-1cf27b2a {
+.container .content .service-box .service-content.data-v-1cf27b2a {
   width: 100%;
   height: 206rpx;
   display: flex;
   justify-content: space-between;
   align-items: center;
 }
-.service-box .service-content .service-bg.data-v-1cf27b2a {
+.container .content .service-box .service-content .service-bg.data-v-1cf27b2a {
   width: 330rpx;
   height: 206rpx;
   background: linear-gradient(to bottom, #AFD5FF, #FFFFFF);
@@ -350,41 +350,109 @@
   justify-content: center;
   align-items: flex-start;
 }
-.service-box .service-content .service-bg view.data-v-1cf27b2a:first-child {
+.container .content .service-box .service-content .service-bg view.data-v-1cf27b2a:first-child {
   display: flex;
   align-items: center;
   margin-left: 40rpx;
 }
-.service-box .service-content .service-bg view:first-child image.data-v-1cf27b2a {
+.container .content .service-box .service-content .service-bg view:first-child image.data-v-1cf27b2a {
   width: 48rpx;
   height: 48rpx;
   margin-right: 10rpx;
 }
-.service-box .service-content .service-bg view:first-child text.data-v-1cf27b2a {
+.container .content .service-box .service-content .service-bg view:first-child text.data-v-1cf27b2a {
   font-weight: 300;
   font-size: 28rpx;
   color: #000000;
 }
-.service-box .service-content .service-bg .service-info.data-v-1cf27b2a {
+.container .content .service-box .service-content .service-bg .service-info.data-v-1cf27b2a {
   width: 214rpx;
   font-weight: 300;
   font-size: 24rpx;
   color: #4D4B4B;
   margin-left: 96rpx;
 }
-.service-box .service-content .service-bg view.data-v-1cf27b2a:last-child {
+.container .content .service-box .service-content .service-bg view.data-v-1cf27b2a:last-child {
   margin-left: 174rpx;
   margin-top: 18rpx;
   display: flex;
   align-items: center;
 }
-.service-box .service-content .service-bg view:last-child image.data-v-1cf27b2a {
+.container .content .service-box .service-content .service-bg view:last-child image.data-v-1cf27b2a {
   width: 32rpx;
   height: 32rpx;
 }
-.service-box .service-content .service-bg view:last-child text.data-v-1cf27b2a {
+.container .content .service-box .service-content .service-bg view:last-child text.data-v-1cf27b2a {
   font-weight: 300;
   font-size: 24rpx;
   color: #4D4B4B;
   margin-right: 10rpx;
+}
+.container .popup-content.data-v-1cf27b2a {
+  height: 560rpx;
+  position: relative;
+  z-index: 1000;
+}
+.container .popup-content .popup-title.data-v-1cf27b2a {
+  width: 100%;
+  display: block;
+  text-align: center;
+  margin: 15rpx 0;
+  font-weight: 600;
+  font-size: 36rpx;
+}
+.container .popup-content .hr.data-v-1cf27b2a {
+  width: 100%;
+  height: 2rpx;
+  background: #e2e2e2;
+}
+.container .popup-content .img-box.data-v-1cf27b2a {
+  width: 65rpx;
+  height: 65rpx;
+  margin: 40rpx auto 30rpx;
+  border: 1rpx solid #e2e2e2;
+  border-radius: 50%;
+  padding: 15rpx;
+}
+.container .popup-content .img-box .img.data-v-1cf27b2a {
+  width: 100%;
+  height: 100%;
+}
+.container .popup-content .info-box.data-v-1cf27b2a {
+  width: 100%;
+  padding: 0 80rpx;
+  box-sizing: border-box;
+}
+.container .popup-content .info-box .hr2.data-v-1cf27b2a {
+  width: 100%;
+  height: 2rpx;
+  background: #e2e2e2;
+  margin: 20rpx 0;
+}
+.container .popup-content .info-box .info-text2.data-v-1cf27b2a {
+  font-size: 26rpx;
+  color: #767676;
+}
+.container .popup-content .button-box.data-v-1cf27b2a {
+  display: flex;
+  margin-top: 20rpx;
+}
+.container .popup-content .button-box button.data-v-1cf27b2a {
+  width: 230rpx;
+  height: 80rpx;
+  line-height: 80rpx;
+  border: none;
+  box-shadow: none;
+  margin-top: 30rpx;
+}
+.container .popup-content .button-box button.data-v-1cf27b2a::after {
+  border: none !important;
+}
+.container .popup-content .button-box .button1.data-v-1cf27b2a {
+  background-color: #F0F0F0;
+  color: #333333;
+}
+.container .popup-content .button-box .button2.data-v-1cf27b2a {
+  background-color: #06BF5E;
+  color: #ffffff;
 }
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.js b/unpackage/dist/dev/mp-weixin/pages/login/index.js
deleted file mode 100644
index 486204f..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/login/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-"use strict";
-const common_vendor = require("../../common/vendor.js");
-const common_assets = require("../../common/assets.js");
-if (!Array) {
-  const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
-  _easycom_uni_popup2();
-}
-const _easycom_uni_popup = () => "../../node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup.js";
-if (!Math) {
-  _easycom_uni_popup();
-}
-const _sfc_main = {
-  __name: "index",
-  setup(__props) {
-    let popupRef = common_vendor.ref(null);
-    const login = () => {
-      common_vendor.index.navigateTo({
-        url: "/pages/index/index"
-      });
-      console.log("login1");
-    };
-    const wxLoginPopup = () => {
-      popupRef.value.open("bottom");
-    };
-    const wxLoginFn = () => {
-      console.log("login2");
-      popupRef.value.close("bottom");
-    };
-    return (_ctx, _cache) => {
-      return {
-        a: common_vendor.o(($event) => login()),
-        b: common_assets._imports_0$2,
-        c: common_vendor.o(($event) => wxLoginPopup()),
-        d: common_assets._imports_1$1,
-        e: common_vendor.o(($event) => common_vendor.unref(popupRef).close("bottom")),
-        f: common_vendor.o(($event) => wxLoginFn()),
-        g: common_vendor.sr(popupRef, "169f96b2-0", {
-          "k": "popupRef"
-        }),
-        h: common_vendor.p({
-          ["background-color"]: "#fff"
-        })
-      };
-    };
-  }
-};
-wx.createPage(_sfc_main);
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.json b/unpackage/dist/dev/mp-weixin/pages/login/index.json
deleted file mode 100644
index 26dd5fa..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/login/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "navigationStyle": "custom",
-  "usingComponents": {
-    "uni-popup": "../../node-modules/@dcloudio/uni-ui/lib/uni-popup/uni-popup"
-  }
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.wxml b/unpackage/dist/dev/mp-weixin/pages/login/index.wxml
deleted file mode 100644
index dcb01f3..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/login/index.wxml
+++ /dev/null
@@ -1 +0,0 @@
-<view class="container"><view class="content"><view class="title"><view class="text1">欢迎登录</view><view class="text2">Welcome to login</view></view><view class="form"><view class="form-input"><input type="text" placeholder="输入账号"></input></view><view class="form-input"><input password type="text" placeholder="输入密码"></input></view></view><view class="login-btn"><button bindtap="{{a}}">登录</button></view><view class="bottom"><view class="divide"><view class="line"></view><view class="divide-text">第三方账号登录</view><view class="line"></view></view><view class="other-login"><image src="{{b}}" alt="" bindtap="{{c}}"></image></view></view></view><uni-popup wx:if="{{h}}" class="r" u-s="{{['d']}}" u-r="popupRef" u-i="169f96b2-0" bind:__l="__l" u-p="{{h}}"><view class="popup-content"><text class="popup-title">微信登录</text><view class="hr"></view><view class="img-box"><image src="{{d}}" alt="" class="img"/></view><view class="info-box"><view class="info-text1">青源直饮水平台申请获取以下权限:</view><view class="hr2"></view><view class="info-text2">· 获得你的公开信息(昵称、头像、地区及性别)</view><view class="button-box"><button class="button1" bindtap="{{e}}">取消</button><button class="button2" bindtap="{{f}}">确定</button></view></view></view></uni-popup></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.wxss b/unpackage/dist/dev/mp-weixin/pages/login/index.wxss
deleted file mode 100644
index df22e5f..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/login/index.wxss
+++ /dev/null
@@ -1,228 +0,0 @@
-/**
- * 这里是uni-app内置的常用样式变量
- *
- * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
- * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
- *
- */
-/**
- * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
- *
- * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
- */
-/* 颜色变量 */
-/* 行为相关颜色 */
-/* 文字基本颜色 */
-/* 背景颜色 */
-/* 边框颜色 */
-/* 尺寸变量 */
-/* 文字尺寸 */
-/* 图片尺寸 */
-/* Border Radius */
-/* 水平间距 */
-/* 垂直间距 */
-/* 透明度 */
-/* 文章场景相关 */
-page {
-  width: 100%;
-  height: 100%;
-}
-.container {
-  width: 100%;
-  height: 100%;
-  background-image: url("../../static/images/login/bg2.png");
-  background-size: 100%;
-  background-repeat: no-repeat;
-  position: relative;
-}
-.container .content {
-  position: absolute;
-  width: 680rpx;
-  height: 1080rpx;
-  top: 22%;
-  left: calc(50% - 340rpx);
-  background-image: url("data:image/png;base64,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");
-  background-repeat: no-repeat;
-  background-size: 100%;
-}
-.container .content .title {
-  width: 100%;
-  height: 180rpx;
-  display: flex;
-  flex-direction: column;
-  justify-content: flex-start;
-  padding: 9% 0 0 13%;
-  box-sizing: border-box;
-}
-.container .content .title .text1 {
-  width: 250rpx;
-  font-weight: 500;
-  font-size: 56rpx;
-  color: #345DB1;
-  text-align: left;
-  margin-left: 14rpx;
-  margin-bottom: 20rpx;
-}
-.container .content .title .text2 {
-  width: 500rpx;
-  font-weight: 400;
-  font-size: 36rpx;
-  color: #9AB6DD;
-  text-align: left;
-}
-.container .content .form {
-  width: 100%;
-  height: 260rpx;
-  margin-top: 125rpx;
-  /* background-color: #345DB1; */
-  box-sizing: border-box;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-}
-.container .content .form .form-input {
-  width: 582rpx;
-  height: 100rpx;
-  background-image: url("data:image/png;base64,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");
-  background-repeat: no-repeat;
-  background-size: 100%;
-  background-position: center;
-  display: flex;
-  align-items: center;
-  justify-content: flex-start;
-  margin: 0 auto;
-}
-.container .content .form .form-input .uni-input-placeholder {
-  color: #9DC4E8;
-}
-.container .content .form .form-input input {
-  width: 80%;
-  margin-left: 60rpx;
-  font-weight: 400;
-  font-size: 32rpx;
-  text-align: left;
-  color: #2b4e82;
-}
-.container .content .login-btn {
-  width: 530rpx;
-  height: 100rpx;
-  margin: 80rpx auto 60rpx;
-}
-.container .content .login-btn button {
-  background: linear-gradient(to right, #51C9F6, #4E9BFF);
-  font-weight: 500;
-  font-size: 36rpx;
-  color: #FFFFFF;
-  border-radius: 20rpx;
-}
-.container .content .bottom {
-  width: 100%;
-  height: 180rpx;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  align-items: center;
-}
-.container .content .bottom .divide {
-  box-sizing: border-box;
-  width: 100%;
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-  padding: 0 85rpx;
-  /* background: #446f52; */
-}
-.container .content .bottom .divide .line {
-  width: 125rpx;
-  height: 2rpx;
-  background: #959595;
-}
-.container .content .bottom .divide .divide-text {
-  font-weight: 600;
-  font-size: 28rpx;
-  color: #B9B9B9;
-  text-align: center;
-}
-.container .content .bottom .other-login {
-  box-sizing: border-box;
-  width: 100%;
-  height: 100rpx;
-  /* background: #5d7682; */
-  padding: 0 90rpx;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-}
-.container .content .bottom .other-login image {
-  width: 76rpx;
-  height: 76rpx;
-  /* background: #345DB1; */
-}
-.container .popup-content {
-  height: 560rpx;
-  position: relative;
-  z-index: 1000;
-}
-.container .popup-content .popup-title {
-  width: 100%;
-  display: block;
-  text-align: center;
-  margin: 15rpx 0;
-  font-weight: 600;
-  font-size: 36rpx;
-}
-.container .popup-content .hr {
-  width: 100%;
-  height: 2rpx;
-  background: #e2e2e2;
-}
-.container .popup-content .img-box {
-  width: 65rpx;
-  height: 65rpx;
-  margin: 40rpx auto 30rpx;
-  border: 1rpx solid #e2e2e2;
-  border-radius: 50%;
-  padding: 15rpx;
-}
-.container .popup-content .img-box .img {
-  width: 100%;
-  height: 100%;
-}
-.container .popup-content .info-box {
-  width: 100%;
-  padding: 0 80rpx;
-  box-sizing: border-box;
-}
-.container .popup-content .info-box .hr2 {
-  width: 100%;
-  height: 2rpx;
-  background: #e2e2e2;
-  margin: 20rpx 0;
-}
-.container .popup-content .info-box .info-text2 {
-  font-size: 26rpx;
-  color: #767676;
-}
-.container .popup-content .button-box {
-  display: flex;
-  margin-top: 20rpx;
-}
-.container .popup-content .button-box button {
-  width: 230rpx;
-  height: 80rpx;
-  line-height: 80rpx;
-  border: none;
-  box-shadow: none;
-  margin-top: 30rpx;
-}
-.container .popup-content .button-box button::after {
-  border: none !important;
-}
-.container .popup-content .button-box .button1 {
-  background-color: #F0F0F0;
-  color: #333333;
-}
-.container .popup-content .button-box .button2 {
-  background-color: #06BF5E;
-  color: #ffffff;
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/recharge/index.js b/unpackage/dist/dev/mp-weixin/pages/recharge/index.js
new file mode 100644
index 0000000..8a9776d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/recharge/index.js
@@ -0,0 +1,20 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {};
+if (!Array) {
+  const _easycom_navbar2 = common_vendor.resolveComponent("navbar");
+  _easycom_navbar2();
+}
+const _easycom_navbar = () => "../../components/navbar/navbar.js";
+if (!Math) {
+  _easycom_navbar();
+}
+function _sfc_render(_ctx, _cache) {
+  return {
+    a: common_vendor.p({
+      title: "绑定会员卡"
+    })
+  };
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createPage(MiniProgramPage);
diff --git a/unpackage/dist/dev/mp-weixin/pages/recharge/index.json b/unpackage/dist/dev/mp-weixin/pages/recharge/index.json
new file mode 100644
index 0000000..c7fb2d7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/recharge/index.json
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "",
+  "usingComponents": {
+    "navbar": "../../components/navbar/navbar"
+  }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml b/unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml
new file mode 100644
index 0000000..4b369fa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml
@@ -0,0 +1 @@
+<view class="container"><navbar wx:if="{{a}}" u-i="a5181a58-0" bind:__l="__l" u-p="{{a}}"></navbar></view>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxss b/unpackage/dist/dev/mp-weixin/pages/recharge/index.wxss
similarity index 100%
rename from unpackage/dist/dev/mp-weixin/node-modules/@dcloudio/uni-ui/lib/uni-transition/uni-transition.wxss
rename to unpackage/dist/dev/mp-weixin/pages/recharge/index.wxss
diff --git a/unpackage/dist/dev/mp-weixin/project.config.json b/unpackage/dist/dev/mp-weixin/project.config.json
index f550de2..f0c0b72 100644
--- a/unpackage/dist/dev/mp-weixin/project.config.json
+++ b/unpackage/dist/dev/mp-weixin/project.config.json
@@ -19,7 +19,7 @@
   },
   "compileType": "miniprogram",
   "libVersion": "3.3.5",
-  "appid": "touristappid",
+  "appid": "wxe86c40810c2c0e98",
   "projectname": "water-drinking-uniapp",
   "condition": {},
   "editorSetting": {
diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/bg2.png b/unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png
similarity index 100%
rename from unpackage/dist/dev/mp-weixin/static/images/login/bg2.png
rename to unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/util/request.js b/unpackage/dist/dev/mp-weixin/util/request.js
new file mode 100644
index 0000000..161dcb4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/util/request.js
@@ -0,0 +1,28 @@
+"use strict";
+const common_vendor = require("../common/vendor.js");
+const config_baseUrl = require("../config/baseUrl.js");
+const request = (url, data, method) => {
+  return new Promise((resolve, reject) => {
+    common_vendor.index.request({
+      url: config_baseUrl.BASE_URL + url,
+      method: method || "POST",
+      header: {
+        token: common_vendor.index.getStorageSync("token") || ""
+      },
+      data: data || {},
+      success: (res) => {
+        const data2 = res.data;
+        resolve(data2);
+      },
+      fail: (error) => {
+        common_vendor.index.showToast({
+          icon: "error",
+          title: "请求错误"
+        });
+        reject(error);
+      }
+    });
+  }).catch((e) => {
+  });
+};
+exports.request = request;
diff --git a/util/request.js b/util/request.js
new file mode 100644
index 0000000..b71c179
--- /dev/null
+++ b/util/request.js
@@ -0,0 +1,24 @@
+import { BASE_URL } from "../config/baseUrl";
+export const request = (url, data, method) => {
+	return new Promise((resolve, reject) => {
+		uni.request({
+			url: BASE_URL + url,
+			method: method || 'POST',
+			header: {
+				token:uni.getStorageSync('token') || ''
+			},
+			data: data || {},
+			success: (res) => {
+				const data = res.data
+				resolve(data)
+			},
+			fail:(error)=>{
+				uni.showToast({
+					icon:'error',
+					title:'请求错误'
+				})
+				reject(error)
+			},
+		})
+	}).catch((e) => {});
+}
\ No newline at end of file

--
Gitblit v1.9.3