From ec17a3732f0f80f4a8d7f7867249f2581b221a27 Mon Sep 17 00:00:00 2001
From: Liuyi <candymxq888@outlook.com>
Date: 星期六, 16 十一月 2024 17:19:27 +0800
Subject: [PATCH] 添加积分商城

---
 static/images/pointMall/points.svg                           |    1 
 static/images/other/navBack.svg                              |    1 
 static/images/pointMall/back.svg                             |    1 
 static/images/pointMall/nav1.svg                             |    1 
 unpackage/dist/dev/mp-weixin/static/images/index/vip-add.png |    0 
 static/images/index/banner1.png                              |    0 
 components/navbar/navbar.vue                                 |   17 
 unpackage/dist/dev/mp-weixin/pages/index/index.js            |   75 ++--
 unpackage/dist/dev/mp-weixin/common/vendor.js                |   18 +
 static/images/pointMall/nav2.svg                             |    1 
 static/images/pointMall/points-icon.svg                      |    1 
 unpackage/dist/dev/mp-weixin/pages/addCard/index.js          |    2 
 static/images/pointMall/advert/money1.svg                    |    1 
 unpackage/dist/dev/mp-weixin/pages/address/index.wxml        |    2 
 pages/index/index.vue                                        |   97 ++---
 static/images/index/banner2.png                              |    0 
 unpackage/dist/dev/mp-weixin/pages/address/index.js          |    9 
 static/images/pointMall/advert/bag.svg                       |    1 
 static/images/pointMall/advert/gift2.svg                     |    1 
 pages/scanWater/index.vue                                    |   72 +--
 static/images/index/vip-add.png                              |    0 
 unpackage/dist/dev/mp-weixin/api/index.js                    |   20 +
 unpackage/dist/dev/mp-weixin/pages/index/index.wxss          |   46 +-
 pages.json                                                   |   30 +
 unpackage/dist/dev/mp-weixin/pages/index/index.wxml          |    2 
 unpackage/dist/dev/mp-weixin/app.js                          |    3 
 pages/pointsMall/index.vue                                   |  452 ++++++++++++++++++++++++++
 unpackage/dist/dev/mp-weixin/app.json                        |    5 
 static/images/pointMall/advert/gift1.svg                     |    1 
 pages/address/index.vue                                      |    4 
 pages/counterRecharge/index.vue                              |   39 ++
 static/images/pointMall/advert/car.svg                       |    1 
 api/index.js                                                 |    4 
 unpackage/dist/dev/mp-weixin/components/navbar/navbar.wxss   |   14 
 static/images/pointMall/advert/money.svg                     |    1 
 unpackage/dist/dev/mp-weixin/common/assets.js                |   90 +++--
 36 files changed, 785 insertions(+), 228 deletions(-)

diff --git a/api/index.js b/api/index.js
index 7681c80..22d5239 100644
--- a/api/index.js
+++ b/api/index.js
@@ -102,6 +102,10 @@
 export function buyWaterApi(data){
 	return request('/api/facility/buyWater',data,'POST')
 }
+//扫码获取水价
+export function getPriceBySnApi(sn){
+	return request(`/waterFacility/getPriceBySn?sn=${sn}`,{},'GET')
+}
 //水卡充值
 export function rechargeApi(data){
 	return request('/rechargeRecords/fees',data,'POST')
diff --git a/components/navbar/navbar.vue b/components/navbar/navbar.vue
index 26a5679..72ec627 100644
--- a/components/navbar/navbar.vue
+++ b/components/navbar/navbar.vue
@@ -1,6 +1,6 @@
 <template>
 	<view class="navbar">
-		<image src="../../static/images/addCard/back.png" alt="" @click="navBackTo()"></image>
+		<image src="../../static/images/other/navBack.svg" alt="" @click="navBackTo()"></image>
 		<text>{{title}}</text>
 	</view>
 </template>
@@ -31,19 +31,24 @@
 	   background: linear-gradient(to bottom,#5EA1FA,#8BC1FC);
 	   display: flex;
 	   align-items: flex-end;
-	   padding-bottom:24rpx;
 	   box-sizing: border-box;
+	   position: relative;
+	   padding:0 32rpx 24rpx;
 	   image{
-		   width:20rpx;
+		   width:40rpx;
 		   height:40rpx;
-		   margin-left:32rpx;
+		   transform: rotate(180deg);
 	   }
 	   text{
 		   font-weight: 400;
 		   font-size: 36rpx;
 		   color: #000000;
-		   margin-left: 234rpx;
-		   
+		   position:absolute;
+		   width:200rpx;
+		   left:calc(50% - 100rpx);
+		   text-align: center;
+		   color: #e4ecf9;
+		   letter-spacing:1rpx;
 	   }
    }
 </style>
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 5ddb7fc..fff5370 100644
--- a/pages.json
+++ b/pages.json
@@ -6,12 +6,12 @@
 				"navigationStyle":"custom"
 			}
 		},
-		// {
-		// 	"path" : "pages/addCard/index",
-		// 	"style": {
-		// 		"navigationStyle":"custom"
-		// 	}
-		// },
+		{
+			"path" : "pages/addCard/index",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
 		{
 			"path" : "pages/userInfo/index",
 			"style": {
@@ -84,12 +84,12 @@
 				"navigationStyle":"custom"
 			}
 		},
-		// {
-		// 	"path" : "pages/addressAdd/index",
-		// 	"style": {
-		// 		"navigationStyle":"custom"
-		// 	}
-		// },
+		{
+			"path" : "pages/addressAdd/index",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
 		{
 			"path" : "pages/addressLocate/index",
 			"style": {
@@ -137,6 +137,12 @@
 			"style": {
 				"navigationStyle":"custom"
 			}
+		},
+		{
+			"path" : "pages/pointsMall/index",
+			"style": {
+				"navigationStyle":"custom"
+			}
 		}
 	],
 	"globalStyle": {
diff --git a/pages/address/index.vue b/pages/address/index.vue
index ce54018..00b9e78 100644
--- a/pages/address/index.vue
+++ b/pages/address/index.vue
@@ -94,8 +94,8 @@
 					</view>
 				</block>
 			</view>
-			<!-- <view class="subBtn" @click="navToAdd()">新增收货地址</view> -->
-			<view class="subBtn">新增收货地址</view>
+			<view class="subBtn" @click="navToAdd()">新增收货地址</view>
+			<!-- <view class="subBtn">新增收货地址</view> -->
 		</view>
 	</view>
 </template>
diff --git a/pages/counterRecharge/index.vue b/pages/counterRecharge/index.vue
index a4935da..6f8836f 100644
--- a/pages/counterRecharge/index.vue
+++ b/pages/counterRecharge/index.vue
@@ -1,9 +1,12 @@
 <template>
 	<view class="container">
-		<navbar title="柜台充值"></navbar>
+		<view class="navbar">
+			<!-- <image src="../../static/images/index/home21.png" alt="" @click="navTo()"></image> -->
+			<text>柜台充值</text>
+		</view>
 		<view class="content">
-			<view class="title1">青河直饮水</view>
-			<image src='../../static/images/other/icon_pay.png'></image> 
+			<view class="title1">青源直饮水</view>
+			<!-- <image src='../../static/images/other/icon_pay.png'></image> -->
 			<view class="title2">柜台充值</view>
 		</view>
 	</view>
@@ -64,6 +67,11 @@
 			}
 		})
 	}
+	function navTo(){
+		uni.navigateTo({
+			url:'/pages/index/index'
+		})
+	}
 	onMounted(async() =>{
 		await counterRecharge()
 	})
@@ -73,6 +81,27 @@
 	.container{
 		width: 100%;
 		height: 100vh;
+		   .navbar{
+			   width:100%;
+			   height:176rpx;
+			   background: linear-gradient(to bottom,#5EA1FA,#8BC1FC);
+			   display: flex;
+			   align-items: flex-end;
+			   padding-bottom:24rpx;
+			   box-sizing: border-box;
+			   image{
+				   width:20rpx;
+				   height:40rpx;
+				   margin-left:32rpx;
+			   }
+			   text{
+				   font-weight: 400;
+				   font-size: 36rpx;
+				   color: #000000;
+				   margin-left: 234rpx;
+				   
+			   }
+		   }
 		.content{
 			width: 100%;
 			height:calc(100vh - 176rpx);
@@ -82,12 +111,12 @@
 			justify-content:flex-start;
 			align-items:center;
 			flex-direction: column;
-			padding-top:60rpx;
+			padding-top:40rpx;
 			box-sizing: border-box;
 			.title1{
 				margin-bottom:20rpx;
 				color: #3f85da;
-				font-size:50rpx;
+				font-size:42rpx;
 			}
 			.title2{
 				margin-bottom:20rpx;
diff --git a/pages/index/index.vue b/pages/index/index.vue
index a6a8d1a..2609622 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -77,23 +77,6 @@
 			scanType: ['qrCode'],
 			success: async function (res) {
 				console.log('条码内容:' + res.result);
-				// let data = {
-				// 	cardType:cardInfo.value.cardType,
-				// 	card:cardInfo.value.waterCardNumber,
-				// 	sn:res.result
-				// }
-				// await buyWaterApi(data).then((res) =>{
-				// 	if(res.code == 200){
-				// 		uni.navigateTo({
-				// 			url:'/pages/scanWater/index'
-				// 		})
-				// 	}else{
-				// 		uni.showToast({
-				// 			title:'扫码失败!',
-				// 			icon:'none'
-				// 		})
-				// 	}
-				// })
 				uni.navigateTo({
 							url:`/pages/scanWater/index?facilityCode=${res.result}`
 						})
@@ -218,7 +201,7 @@
 	function upGrade(){
 		uni.showToast({
 			title: '该功能正在升级中!',
-			duration: 2000,
+			duration: 1000,
 			icon:'none',
 		});
 	}
@@ -253,11 +236,10 @@
 					<image v-else class="user-img" src='../../static/images/index/head.png' alt=''></image>
 					<text @click="navTo('/pages/userInfo/index')">{{cardInfo.userName}}</text>
 					<image @click="navTo('/pages/userInfo/index')" class="user-more"src="../../static/images/index/back.png"></image>
-					<!-- <view class="user-add-card" @click="navTo('/pages/addCard/index')"> -->
-					<view class="user-add-card">
+					<!-- <view class="user-add-card" @click="navTo('/pages/addCard/index')">
 						<image src='../../static/images/index/vip-add.png' alt=''></image>
 						<text>添加会员卡</text>
-					</view>
+					</view> -->
 				</view>
 				<view class="card">
 					<image class="card-bg" src="../../static/images/index/card11.png" alt=""></image>
@@ -267,22 +249,21 @@
 							<view class="left-top">
 								<view>
 									<image v-if="isVip"  src="../../static/images/index/code1.png" alt=""></image>
-									<text>会员卡&nbsp;</text>
+									<text v-if="isVip">会员卡&nbsp;</text>
+									<text v-if="!isVip">未绑定&nbsp;</text>
 									<text class="lossed" v-if="isLoss && isVip">&nbsp;[已挂失]</text>
 								</view>
 								<view v-if="isVip">ID:{{cardInfo.waterCardNumber}}</view>
 							</view>
-							<!-- <view v-if="cardInfo.userPhone" class="left-bottom">电话:{{cardInfo.userPhone}}</view> -->
 						</view>
 						<view class="card-right">
 							<view class="card-right-top">
-								<!-- <view @click="navTo('/pages/addCard/index')">
+								<text v-if="isVip">金额卡</text>
+								<text v-if="isVip">{{cardInfo.balance}}元</text>
+								<view v-if="!isVip" class="user-add-card" @click="navTo('/pages/addCard/index')">
 									<image src='../../static/images/index/vip-add.png' alt=''></image>
 									<text>添加会员卡</text>
-								</view> -->
-								<text v-if="isVip">金额卡</text>
-								<text v-if="!isVip">未绑定会员卡</text>
-								<text v-if="isVip">{{cardInfo.balance}}元</text>
+								</view>
 							</view>
 							<view v-if="isVip" class="card-right-bottom" @click="navTo('/pages/recharge/index')">充值</view>
 						</view>
@@ -290,7 +271,7 @@
 				</view>
 			</view>
 			<view class="function-box1">
-				<view class="box1-bg box1-one" @click="navTo('/pages/sendWater/index')">
+				<view class="box1-bg box1-one" @click="upGrade">
 					<image src="../../static/images/index/home21.png" alt=""></image>
 					<view>送水到家</view>
 				</view>
@@ -314,7 +295,12 @@
 					</block>
 				</view>
 			</view>
-			<view class="advertisement-box" @click="upGrade"><image src="../../static/images/index/bg4.png" alt=""></image></view>
+			<!-- 积分商城 -->
+			<view class="advertisement-box" @click="navTo('/pages/pointsMall/index')">
+			<!-- <view class="advertisement-box" @click="upGrade"> -->
+				<image src="../../static/images/index/banner2.png" alt=""></image>
+				<image src="../../static/images/index/banner1.png" alt=""></image>
+			</view>
 			<view class="service-box">
 				<view class="service-title"><text>服务指南</text></view>
 				<view class="service-content">
@@ -329,8 +315,8 @@
 							<image src="../../static/images/index/more-info5.png" alt=""></image>
 						</view>
 					</view>
-					<!-- <view class="service-bg" @click="upGrade"> -->
-					<view class="service-bg" @click="navTo('/pages/counterRecharge/index')">
+					<view class="service-bg" @click="upGrade">
+					<!-- <view class="service-bg" @click="navTo('/pages/counterRecharge/index')"> -->
 							<view>
 								<image src="../../static/images/index/notice5.png" alt=""></image>
 								<text>公示公告</text>
@@ -364,14 +350,11 @@
 				.user-info{
 					width:100%;
 					height:100rpx;
-					// background: #06BF5E;
-					display: flex;
 					align-items: center;
 					padding-left:15rpx;
 					box-sizing: border-box;
 					margin-bottom: 14rpx;
 					display:flex;
-					position:relative;
 					.user-img{
 						width:90rpx;
 						height:90rpx;
@@ -385,23 +368,6 @@
 					.user-more{
 						width: 12rpx;
 						height: 28rpx;
-					}
-					.user-add-card{
-						display:flex;
-						align-items:center;
-						height:40rpx;
-						font-size:22rpx;
-						background:linear-gradient(to right,#B1D9FD,#65A7FD);
-						border-radius:50rpx;
-						padding: 0 8rpx;
-						position: absolute;
-						bottom:0;
-						right:0;
-						image{
-							width:28rpx;
-							height:28rpx;
-							margin-right:10rpx;
-						}
 					}
 				}
 				.card{
@@ -481,6 +447,24 @@
 								justify-content: space-between;
 								flex-direction: column;
 								font-size:34rpx;
+								.user-add-card{
+									display:flex;
+									align-items:center;
+									height:52rpx;
+									font-size:28rpx;
+									background:linear-gradient(to right,#B1D9FD 0%,#65A7FD 70%,#65A7FD 100%);
+									border-radius:50rpx;
+									padding: 0 20rpx;
+									image{
+										width:36rpx;
+										height:36rpx;
+										margin-right:6rpx;
+										opacity:0.8;
+									}
+									text{
+										color:#FFF;
+									}
+								}
 								text:last-child{
 									font-weight:500;
 								}
@@ -653,12 +637,15 @@
 			}
 			.advertisement-box{
 				width:100%;
-				height: 188rpx;
+				height: 160rpx;
 				padding:0 32rpx 10rpx; 
 				box-sizing: border-box;
+				display: flex;
+				justify-content: space-around;
 				image{
-					width:100%;
-					height: 178rpx;
+					width:320rpx;
+					height:136rpx;
+					border-radius:10rpx;
 				}
 			}
 			.service-box{
diff --git a/pages/pointsMall/index.vue b/pages/pointsMall/index.vue
new file mode 100644
index 0000000..ce8c64f
--- /dev/null
+++ b/pages/pointsMall/index.vue
@@ -0,0 +1,452 @@
+<script setup>
+	import {ref,onMounted} from 'vue'
+	import headImg from '../../static/images/index/head.png'
+	import pointsImg from '../../static/images/pointMall/advert/money1.svg'
+	function navTo(){
+		uni.navigateBack()
+	}
+	const typeList = ref([
+		{value:'1',name:'全部分类'},
+		{value:'2',name:'零食'},
+		{value:'3',name:'电子设备'},
+		{value:'4',name:'洗护用品'},
+		{value:'5',name:'其他'},
+		{value:'5',name:'其他'},
+		{value:'5',name:'其他'},
+		{value:'5',name:'其他'},
+	])
+	const goodsList = ref([
+		{value:'1',name:'商品10号商品占位文字',goodsImage:headImg,pointsImage:pointsImg,points:'1000',stock:102},
+		{value:'1',name:'商品占位文字',goodsImage:headImg,pointsImage:pointsImg,points:'1000',stock:102},
+		{value:'1',name:'商品占位文字',goodsImage:headImg,pointsImage:pointsImg,points:'1000',stock:102},
+		{value:'1',name:'商品占位文字',goodsImage:headImg,pointsImage:pointsImg,points:'1000',stock:102},
+		{value:'1',name:'商品占位文字',goodsImage:headImg,pointsImage:pointsImg,points:'1000',stock:102},
+		{value:'1',name:'商品占位文字',goodsImage:headImg,pointsImage:pointsImg,points:'1000',stock:102},
+		{value:'1',name:'商品占位文字',goodsImage:headImg,pointsImage:pointsImg,points:'1000',stock:102},
+	])
+</script>
+<template>
+	<view class="container">
+		<view class="gradual-graph"></view>
+		<view class="header">
+			<view class="header-title">
+				<image src="../../static/images/pointMall/back.svg" @click="navTo('/pages/index/index')"></image>
+				<text>积分商城</text>
+			</view>
+			<view class="header-detail">
+				<view class="header-left">
+					<view class="img">
+						<image src="../../static/images/pointMall/points.svg"></image>
+					</view>
+					<view class="info">
+						<text class="info-name">测试用户123123132</text>
+						<view class="info-points">
+							<text class="text1">我的积分:</text>
+							<text class="text2">1000</text>
+							<view class="points-icon">
+								<image src="../../static/images/pointMall/points-icon.svg"></image>
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="header-right">
+					积分规则
+				</view>
+			</view>
+		</view>
+		<view class="nav">
+			<view class="advert">
+				<view class="left-img">
+					<image class="img1" src="../../static/images/pointMall/advert/gift1.svg"></image>
+					<image class="img2" src="../../static/images/pointMall/advert/gift2.svg"></image>
+					<image class="img3" src="../../static/images/pointMall/advert/bag.svg"></image>
+				</view>
+				<view class="title">
+					<view>商品换购专区</view>
+					<view>积分购物</view>
+				</view>
+				<view class="right-img">
+					<view class="right-text">Go</view>
+					<image class="icon1" src="../../static/images/pointMall/advert/money.svg"></image>
+					<image class="icon2" src="../../static/images/pointMall/advert/money1.svg"></image>
+				</view>
+			</view>
+			<view class="nav-box">
+				<view class="nav-item">
+					<text>积分明细</text>
+					<image src="../../static/images/pointMall/nav1.svg"></image>
+				</view>
+				<view class="nav-item">
+					<text>积分兑换</text>
+					<image src="../../static/images/pointMall/nav2.svg"></image>
+				</view>
+			</view>
+		</view>
+		<view class="content">
+			<view class="type-box">
+				<scroll-view scroll-x="true">
+					<view v-for="(item,index) in typeList" :key="index" class="type-item">
+						<text>{{item.name}}</text>
+					</view>
+				</scroll-view>
+			</view>
+			<view class="goods-box">
+				<view v-for="(item,index) in goodsList" :key="index" class="goods-item">
+					<image class="goods-img" :src="item.goodsImage" mode="widthFix"></image>
+					
+					<view class="goods-item-name">
+						<text>{{item.name}}</text>
+					</view>
+					
+					<view class="goods-item-points">
+						<image :src="item.pointsImage"></image>
+						<text>{{item.points}}</text>
+					</view>
+					
+					<view class="goods-item-stock">
+						<text>库存:</text>
+						<text>{{item.stock}}</text>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<style lang="scss" scoped>
+	.container{
+		position:relative;
+		.gradual-graph{
+			position:absolute;
+			right:-200rpx;
+			top:0;
+			width:400rpx;
+			height:500rpx;
+			border-radius:50%;
+			background: radial-gradient(closest-side,#fbd1a2 0%,#fef7da 100%);
+			z-index:1
+		}
+		.header{
+			width:100%;
+			height:350rpx;
+			background:#fef7da;
+			padding:100rpx 32rpx 0;
+			box-sizing: border-box;
+			z-index:-1;
+			.header-title{
+				display: flex;
+				align-items: center;
+				height:100rpx;
+				position: relative;
+				align-items: center;
+				image{
+					width:40rpx;
+					height:40rpx;
+				}
+				text{
+					position: absolute;
+					left:calc(50% - 100rpx);
+					width:200rpx;
+					text-align: center;
+					// background: #fbd1a2;
+					line-height:100rpx;
+					height: 100%;
+					color: #e5b25f;
+					font-weight:600;
+					font-size:36rpx;
+				}
+			}
+			.header-detail{
+				width:100%;
+				height:150rpx;
+				display:flex;
+				align-items:flex-end;
+				justify-content: space-between;
+				.header-left{
+					display: flex;
+					align-items: center;
+					.img{
+						background: #f3f8fa;
+						border-radius:50rpx;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						width:110rpx;
+						height:110rpx;
+						image{
+							width:96rpx;
+							height:96rpx;
+						}
+					}
+					.info{
+						display: flex;
+						flex-direction: column;
+						margin-left:20rpx;
+						height:110rpx;
+						justify-content:space-evenly;
+						padding-top:10rpx;
+						box-sizing: border-box;
+						.info-name{
+							color: #58574e;
+						}
+						.info-points{
+							height:100%;
+							display: flex;
+							align-items: center;
+							.text1{
+								color: #747367;
+								margin-right:10rpx;
+							}
+							.text2{
+								color: #f3a62a;
+								font-size:36rpx;
+								font-weight:600;
+								font-family: Helvetica, Tahoma, Arial;
+							}
+							.points-icon{
+								height:100%;
+								padding-top:16rpx;
+								padding-left:4rpx;
+								box-sizing: border-box;
+								image{
+									width:40rpx;
+									height:40rpx;
+									transform:rotate(-45deg);
+								}
+							}
+						}
+					}
+				}
+				.header-right{
+					width:160rpx;
+					height:55rpx;
+					background:#fffef0;
+					text-align:center;
+					line-height:55rpx;
+					border-radius:10rpx;
+					font-size:30rpx;
+					color: #827964;
+					letter-spacing:1rpx;
+					z-index:2;
+				}
+			}
+
+		}    
+	.nav{
+		   width:100%;
+		   height:360rpx;
+		   background:linear-gradient(#fef7da 0%,#fef7da 50%,#f3f8fa 100%);
+		   border-bottom:6rpx solid #f3f8fa;
+		   display: flex;
+		   align-items: center;
+		   justify-content: space-evenly;
+		   flex-direction: column;
+		   // background: #b6c7f5;
+		   .advert{
+				position: relative;
+				width:600rpx;
+				height:140rpx;
+				background:linear-gradient(140deg,#ffd49b 0%,#ffb682 30%,#ffd4a4 50%,#ff9172 80%,#ffb186 85%,#ff8e70 95%,#ffa181 100%);
+				border-radius:10rpx;
+				z-index:2;
+				.left-img{
+					.img1{
+						position: absolute;
+						top:10rpx;
+						left:-40rpx;
+						width:120rpx;
+						height:120rpx;
+						transform: rotate(-20deg);
+					}
+					.img2{
+						position: absolute;
+						left:50rpx;
+						top:55rpx;
+						left:-10rpx;
+						width:96rpx;
+						height:96rpx;
+					}
+					.img3{
+						position: absolute;
+						left:40rpx;
+						top:60rpx;
+						width:96rpx;
+						height:96rpx;
+						transform: rotate(10deg);
+					}
+				}
+				.title{
+					width:300rpx;
+					height:110rpx;
+					text-align: center;
+					display:flex;
+					align-items: center;
+					flex-direction: column;
+					justify-content:space-between;
+					position:absolute;
+					top:10rpx;
+					left:150rpx;
+					// background: #f3f8fa;
+					view:first-child{
+						color:#fff;
+						font-size:46rpx;
+						font-weight:800;
+						text-shadow:3rpx 3rpx 3rpx #fa7062;
+						
+					}
+					view:last-child{
+						width:180rpx;
+						height:44rpx;
+						background: linear-gradient(#ffd259,#ffa824);
+						border-radius:30rpx;
+						color: #fff;
+						font-size: 26rpx;
+						letter-spacing:3rpx;
+						line-height:44rpx;
+					}
+				}
+				.right-img{
+					box-shadow:0 0 2rpx #ff9262;
+					.right-text{
+						position:absolute;
+						top:10rpx;
+						right:-30rpx;
+						width:110rpx;
+						height:110rpx;
+						border-radius:50%;
+						background:radial-gradient(circle at 30%,#ffcc57,#ffb203);
+						text-align: center;
+						line-height: 110rpx;
+						color:#fff;
+						font-weight:700;
+						font-size:56rpx;
+						letter-spacing:1rpx;
+						text-shadow:4rpx 3rpx 2rpx #e6980f;
+						font-family:Arial, Helvetica, sans-serif;
+					}
+					.icon1{
+						position: absolute;
+						right:111rpx;
+						top:62rpx;
+						width:56rpx;
+						height:56rpx;
+					}
+					.icon2{
+						position: absolute;
+						right:80rpx;
+						top:20rpx;
+						width:32rpx;
+						height:32rpx;
+					}
+				}
+		   }
+		   .nav-box{
+			   height:130rpx;
+			   width:100%;
+			   // background: #b6c7f5;
+			   display: flex;
+			   justify-content: space-around;
+			   align-items: center;
+			   padding:0 32rpx;
+			   box-sizing: border-box;
+			   .nav-item{
+				   width:46%;
+				   height:120rpx;
+				   background:linear-gradient(to right,rgba(255,255,255,0.2) 0%,rgba(255,255,255,0.2) 50%,rgba(251,209,162,0.2));
+				   border-radius:25rpx;
+				   border:1rpx solid rgba(251,209,162,0.4);
+				   display: flex;
+				   justify-content: space-around;
+				   align-items: center;
+				   text{
+					   font-size:28rpx;
+					   color: #9f9d9e;
+				   }
+				   image{
+					   width:80rpx;
+					   height:80rpx;
+				   }
+			   }
+		   }
+	}
+	.content{
+		   width:100%;
+		   height:calc(100vh - 720rpx);
+		   background: #f4f4f4;
+		   padding: 0 32rpx;
+		   box-sizing: border-box;
+		   .type-box{
+			   width:100%;
+			   height:110rpx;
+			   display: flex;
+			   overflow:hidden;
+			   white-space:nowrap;
+			   flex-wrap: nowrap;
+			   align-items: center;
+			   .type-item{
+				   display:inline-block;
+				   height:70rpx;
+				   background:rgba(255,255,255);
+				   margin-right:20rpx;
+				   padding: 0 40rpx;
+				   box-sizing: border-box;
+				   box-shadow: 0 0 6rpx 2rpx #e8e8e8 inset;
+				   border-radius:16rpx;
+				   color: #919191;
+				   text{
+					   line-height:70rpx;
+				   }
+			   }
+		   }
+		   .goods-box{
+			   height:calc(100% - 110rpx);
+			   overflow:scroll;
+			   // background: #d0f6fa;
+			   box-sizing: border-box;
+			   display: flex;
+			   flex-wrap: wrap;
+			   justify-content: space-between;
+			   .goods-item{
+				   display: inline-block;
+				   width:48%;
+				   max-height:800rpx;
+				   background: #fff;
+				   overflow:hidden;
+				   margin-bottom:20rpx;
+				   display: flex;
+				   flex-direction: column;
+				   padding:40rpx 20rpx;
+				   box-sizing: border-box;
+				   border-radius: 20rpx;
+				   .goods-img{
+					   width:90%;
+					   margin: 0 auto;
+					   margin-bottom:50rpx;
+				   }
+				   .goods-item-name{
+					   margin-bottom:10rpx;
+					   color: #3d3d3d;
+				   }
+				   .goods-item-points{
+					   margin-bottom:10rpx;
+					   display: flex;
+					   align-items: center;
+					   image{
+						   width:44rpx;
+						   height: 44rpx;
+					   }
+					   text{
+						   color: #e6980f;
+					   }
+				   }
+				   .goods-item-stock{
+					   text{
+						   color: #919191;
+						   font-size:28rpx;
+					   }
+				   }
+			   }
+		   }
+	}
+}
+</style>
diff --git a/pages/scanWater/index.vue b/pages/scanWater/index.vue
index 3009f65..57d4a94 100644
--- a/pages/scanWater/index.vue
+++ b/pages/scanWater/index.vue
@@ -1,6 +1,6 @@
 <script setup>
 	import{ ref ,onMounted} from 'vue'
-	import { wxPayApi,buyWaterApi } from '../../api/index.js'
+	import { wxPayApi,buyWaterApi,getPriceBySnApi } from '../../api/index.js'
 	import { onLoad } from "@dcloudio/uni-app"
 	
 	const choosedMoney = ref(1)
@@ -22,17 +22,7 @@
 		})
 		moneyList.value[index1].active = true
 		choosedMoney.value = moneyList.value[index1].value
-		// if(index1 == 5){
-		// 	disabled.value = false
-		// 	choosedMoney.value = ''
-		// }else{
-		// 	choosedMoney.value = moneyList.value[index1].value
-		// 	otherMoney.value = ''
-		// 	disabled.value = true
-		// }
 	}
-	//输入金额
-	// const otherMoney = ref()
 	//支付方式
 	const userBalance = ref(JSON.parse(uni.getStorageSync('userInfo')).balance)
 	const payMethod = ref(2)
@@ -52,22 +42,16 @@
 		console.log('index',index1,payMethod.value)
 	}
 	async function submit(){
-		// let money = ''
-		// if(disabled.value){
-			// money = choosedMoney.value
-		// }else{
-		// 	money = Number(otherMoney.value)
-		// }
 		if(payMethod.value == 1){
 			let data = {
 				payType:payMethod.value,
 				card:JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber,
 				amount:choosedMoney.value,
-				// sn:1060003979
 				sn:facilityCode.value
 				}
+				//余额支付回
 			await buyWaterApi(data).then((res) =>{
-				console.log('余额',res,data)
+				console.log('余额支付回调',res,'传参',data)
 				if(res.code == 200){
 						uni.navigateTo({
 							url:'/pages/scanSuccess/index'
@@ -83,13 +67,12 @@
 			let data = {
 				businessType:3,
 				tradeAmount:choosedMoney.value,
-				// facilityCode:'1066012684',
 				facilityCode:facilityCode.value,
 				}
 				
 				console.log('data',data)
 			await wxPayApi(data).then((res) =>{
-				console.log('微信',res,'data',data)
+				console.log('微信支付回调',res,'传参',data)
 				if(res.code == 200){
 					//调用微信官方支付接口弹出付款界面,输入密码扣款
 					wx.requestPayment({
@@ -117,7 +100,6 @@
 							icon:'none'
 						  });
 					   }
-					   
 					 },
 					 fail (res) { 
 					   uni.showToast({
@@ -135,6 +117,25 @@
 	onLoad((option) =>{
 		facilityCode.value = option.facilityCode
 	})
+	//设置水价及支付方式
+	async function getWaterPrice(){
+		await getPriceBySnApi(facilityCode.value).then((res) =>{
+			moneyList.value.forEach((item,index) =>{
+				item.value = ((index + 1) * res.data.price).toFixed(1)
+				item.volume = ((index + 1) * res.data.yield).toFixed(1)
+			})
+			choosedMoney.value = res.data.price
+			console.log('水价设置回调',res,'传参',facilityCode.value)
+		})
+		let waterCardNumber = JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber
+		if(!waterCardNumber){
+			payList.value.splice(1,1)
+		}
+	}
+	onMounted(async() =>{
+		await getWaterPrice()
+	})
+	
 </script>
 <template>
 	<view class="container">
@@ -155,15 +156,6 @@
 						</block>
 					</view>
 				</view>
-				<!-- <view class="other-money">
-					<view class="money-title">
-						<view class="title-icon"></view>
-						<view class="title-text">其他金额</view>
-					</view>
-					<view class="money-input">
-						<input :disabled = 'disabled' :focus = '!disabled'  placeholder="请输入其他金额" v-model="otherMoney"/>
-					</view>
-				</view> -->
 				<view class="pay-methods">
 					<view class="money-title">
 						<view class="title-icon"></view>
@@ -242,24 +234,6 @@
 						}
 					}
 				}
-				// .other-money{
-				// 	width: 100%;
-				// 	height:164rpx;
-				// 	margin-top:58rpx;
-				// 	.money-input{
-				// 		margin:40rpx auto 0;
-				// 		width:calc(100% - 40rpx);
-				// 		height: 80rpx;
-				// 		box-sizing: border-box;
-				// 		border-radius:8rpx;
-				// 		border: 2rpx solid #75C8EB;
-				// 		input{
-				// 			width:94%;
-				// 			height: 80rpx;
-				// 			margin-left:6%;
-				// 		}
-				// 	}
-				// }
 				.pay-methods{
 					width: 100%;
 					margin-top:58rpx;
diff --git a/static/images/index/banner1.png b/static/images/index/banner1.png
new file mode 100644
index 0000000..536ed6a
--- /dev/null
+++ b/static/images/index/banner1.png
Binary files differ
diff --git a/static/images/index/banner2.png b/static/images/index/banner2.png
new file mode 100644
index 0000000..0095c34
--- /dev/null
+++ b/static/images/index/banner2.png
Binary files differ
diff --git a/static/images/index/vip-add.png b/static/images/index/vip-add.png
index 4779124..2e43e8b 100644
--- a/static/images/index/vip-add.png
+++ b/static/images/index/vip-add.png
Binary files differ
diff --git a/static/images/other/navBack.svg b/static/images/other/navBack.svg
new file mode 100644
index 0000000..611dd65
--- /dev/null
+++ b/static/images/other/navBack.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731634152427" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2590" width="20" height="20" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M252.940598 117.391658c0 13.287924 5.279175 26.025933 14.667709 35.414466l345.795969 345.795969c8.418685 8.418685 8.418685 22.066552 0 30.485237L267.608307 874.893298a50.101172 50.101172 0 0 0-14.667709 35.414466c0 44.623028 53.95157 66.969536 85.496641 35.414467l416.634901-416.634901c8.418685-8.418685 8.418685-22.066552 0-30.485237l-416.634901-416.6349c-31.55507-31.545071-85.496641-9.198563-85.496641 35.424465z" fill="#436DF0" p-id="2591"></path><path d="M0.00012 0h1023.840025M0.00012 63.960006h1023.840025M0.00012 127.930011h1023.840025M0.00012 191.890017h1023.840025M0.00012 255.850023h1023.840025M0.00012 319.820028h1023.840025M0.00012 383.780034h1023.840025M0.00012 447.740041h1023.840025M0.00012 511.710045h1023.840025M0.00012 575.670052h1023.840025M0.00012 639.630058h1023.840025M0.00012 703.600062h1023.840025M0.00012 767.560069h1023.840025M0.00012 831.520075h1023.840025M0.00012 895.480081h1023.840025M0.00012 959.450086h1023.840025M0.00012 1023.410092h1023.840025M62.330381 0l0.879863 1023.840025M126.370375 0l0.879862 1023.840025M190.410369 0l0.879862 1023.840025M254.460361 0l0.879862 1023.840025M318.500355 0l0.879862 1023.840025M382.540348 0l0.879863 1023.840025M446.580342 0l0.879863 1023.840025M510.630334 0l0.879863 1023.840025M574.670328 0l0.879863 1023.840025M638.710322 0l0.879862 1023.840025M702.760314 0l0.869864 1023.840025M766.800308 0l0.879862 1023.840025M830.840302 0l0.879862 1023.840025M894.880295 0l0.879863 1023.840025M958.930287 0l0.879863 1023.840025M1022.970281 0l0.879863 1023.840025" fill="#FFFFFF" opacity=".19" p-id="2592"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/advert/bag.svg b/static/images/pointMall/advert/bag.svg
new file mode 100644
index 0000000..4028266
--- /dev/null
+++ b/static/images/pointMall/advert/bag.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731652356303" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2550" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M765.5 837.3H249.2c-52.2 0-93.4-44.1-90.1-96.1l32.3-494c3.1-47.4 42.5-84.4 90.1-84.4h452.1c47.6 0 87 37 90.1 84.4l32 494c3.3 52-38 96.1-90.2 96.1z" fill="#FF556E" p-id="2551"></path><path d="M824.7 263.9l-1-16.7c-3-47.4-42.5-84.4-90.1-84.4h-15.2c41.2 27 77.3 61.3 106.3 101.1zM159.7 732.1l-0.6 9c-3.4 52.1 37.9 96.1 90.1 96.1h14.7c-40.8-28.3-76.2-64-104.2-105.1zM272.7 163.2c-38.1 3.7-69.6 31-78.9 67.7 23.4-25.8 49.9-48.6 78.9-67.7zM855.6 741.1l-2.8-42.9c-30.4 55.5-73.3 103.1-125 139h37.6c52.3 0.1 93.6-44 90.2-96.1z" fill="#FF556E" p-id="2552"></path><path d="M337.2 162.8h-55.8c-2.9 0-5.8 0.1-8.6 0.4-29.1 19.2-55.6 41.9-78.9 67.7-1.4 5.2-2.2 10.7-2.6 16.3l-2.5 38.5c36.9-53.7 88.2-96.5 148.4-122.9zM852.9 698.2l-28.2-434.3c-29-39.8-65-74-106.3-101.1H619C742.6 217 828.9 340.4 828.9 484.1c0 193.8-157 350.8-350.8 350.8-136.4 0-254.6-77.8-312.6-191.5l-5.8 88.8c28 41.1 63.4 76.8 104.1 105.2h464.1c51.6-36 94.6-83.7 125-139.2z" fill="#FF5F71" p-id="2553"></path><path d="M478.1 834.8c193.8 0 350.8-157 350.8-350.8 0-143.6-86.3-267.1-209.9-321.3H337.2c-60.2 26.4-111.5 69.2-148.4 122.9l-5 76.6C225.5 250 333.5 170 460.2 170 623.1 170 755 302 755 464.8S623 759.6 460.2 759.6c-140.2 0-257.5-97.8-287.4-229l-7.3 112.6c58 113.8 176.1 191.6 312.6 191.6z" fill="#FF6974" p-id="2554"></path><path d="M460.3 759.7c162.9 0 294.8-132 294.8-294.8S623.2 170 460.3 170c-126.7 0-234.7 79.9-276.4 192.2l-11 168.4c29.9 131.3 147.2 229.1 287.4 229.1z m-17.8-552.9c132 0 238.9 106.9 238.9 238.9s-107 238.9-238.9 238.9-238.9-106.9-238.9-238.9 106.9-238.9 238.9-238.9z" fill="#FF7377" p-id="2555"></path><path d="M442.5 684.6c132 0 238.9-106.9 238.9-238.9s-107-238.9-238.9-238.9-238.9 106.9-238.9 238.9 106.9 238.9 238.9 238.9z m-17.9-441.1c101.1 0 183 81.9 183 183s-81.9 183-183 183-183-81.9-183-183 82-183 183-183z" fill="#FF7E7A" p-id="2556"></path><path d="M424.6 609.4c101.1 0 183-81.9 183-183s-81.9-183-183-183-183 81.9-183 183 82 183 183 183z m-17.8-329.1c70.2 0 127 56.9 127 127s-56.9 126.9-127 126.9-126.9-56.9-126.9-127 56.8-126.9 126.9-126.9z" fill="#FF887D" p-id="2557"></path><path d="M406.8 407.2m-127 0a127 127 0 1 0 254 0 127 127 0 1 0-254 0Z" fill="#FF9280" p-id="2558"></path><path d="M765.5 846.3H249.2c-27.7 0-53.4-11.1-72.4-31.4-19-20.2-28.5-46.7-26.7-74.4l32.3-494c3.4-52.1 47-92.8 99.1-92.8h452.1c52.2 0 95.7 40.8 99.1 92.8l32 494c1.8 27.7-7.7 54.1-26.7 74.3-19 20.3-44.7 31.5-72.5 31.5zM281.4 171.7c-42.6 0-78.3 33.4-81.1 76l-32.3 494c-1.5 22.7 6.3 44.3 21.8 60.9s36.6 25.7 59.2 25.7h516.3c22.7 0 43.8-9.1 59.4-25.7 15.5-16.6 23.3-38.2 21.8-60.8l-32-494c-2.7-42.6-38.3-76-81.1-76h-452v-0.1z" fill="#EF4868" p-id="2559"></path><path d="M746.2 270.5c0-23.7-19.2-42.8-42.8-42.8-23.7 0-42.8 19.2-42.8 42.8 0 13.9 6.6 26.3 16.9 34-24.6 57.5-91.5 98.8-170 98.8s-145.4-41.3-170-98.8c10.3-7.9 16.9-20.2 16.9-34 0-23.7-19.2-42.8-42.8-42.8-23.7 0-42.8 19.2-42.8 42.8 0 20.4 14.2 37.5 33.3 41.8 10.5 27.8 28.8 53.2 54 74.3 40.6 33.9 94.5 52.6 151.6 52.6s110.9-18.6 151.6-52.6c25.2-21.1 43.6-46.5 54-74.3 18.7-4.4 32.9-21.5 32.9-41.8z" fill="#FFC7C7" p-id="2560"></path><path d="M262.1 380.4l-6.3 124c-0.5 9.9-9 17.6-18.9 17.1s-17.6-9-17.1-18.9l6.3-124c0.5-9.9 9-17.6 18.9-17.1 10 0.5 17.6 9 17.1 18.9zM252.7 564.2l-0.5 10.5c-0.5 9.9-9 17.6-18.9 17.1s-17.6-9-17.1-18.9l0.5-10.5c0.5-9.9 9-17.6 18.9-17.1 10 0.5 17.6 9 17.1 18.9z" fill="#FFFFFF" p-id="2561"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/advert/car.svg b/static/images/pointMall/advert/car.svg
new file mode 100644
index 0000000..66187d8
--- /dev/null
+++ b/static/images/pointMall/advert/car.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731652336342" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2193" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M240.26 468.89c-17.24 0.86-33.37-10.32-38.06-27.67l-83.41-307.66c-5.43-20.01 6.39-40.62 26.41-46.05 19.94-5.45 40.62 6.38 46.04 26.42l83.42 307.66c5.42 20.01-6.41 40.62-26.42 46.05-2.66 0.72-5.33 1.12-7.98 1.25z" fill="#F7B52C" p-id="2194"></path><path d="M796.81 790.8H324.63c-22.25 0-41.51-14.2-46.26-34.13L177.3 333.28h708c30.23 0 52.72 25.61 46.26 52.68l-88.5 370.71c-4.75 19.93-24 34.13-46.25 34.13z" fill="#F7B52C" p-id="2195"></path><path d="M710.38 713.85H410.1c-20.73 0-37.54-16.81-37.54-37.54s16.81-37.54 37.54-37.54h300.29c20.73 0 37.54 16.81 37.54 37.54s-16.82 37.54-37.55 37.54z" fill="#FFFFFF" p-id="2196"></path><path d="M485.45 944.45H374.96c-20.74 0-37.54-16.81-37.54-37.54 0-20.72 16.8-37.54 37.54-37.54h110.49c20.74 0 37.54 16.81 37.54 37.54-0.01 20.73-16.81 37.54-37.54 37.54zM758.02 944.45c-20.74 0-37.54-16.81-37.54-37.54v-4.2c0-20.72 16.8-37.54 37.54-37.54s37.54 16.81 37.54 37.54v4.2c0 20.73-16.8 37.54-37.54 37.54z" fill="#F7B52C" p-id="2197"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/advert/gift1.svg b/static/images/pointMall/advert/gift1.svg
new file mode 100644
index 0000000..bcf090c
--- /dev/null
+++ b/static/images/pointMall/advert/gift1.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731653047879" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1382" width="60" height="60" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M529.9712 347.2896s-247.6544 38.3488-289.4848-126.1568S397.4656 33.536 466.3296 121.6c56.832 72.6528 63.0784 174.2848 63.6416 225.6896z" fill="#F498A6" p-id="1383"></path><path d="M494.7968 347.2896s247.6544 38.3488 289.4848-126.1568c41.8304-164.5056-156.9792-187.5968-225.8944-99.5328-56.7808 72.6528-62.976 174.2848-63.5904 225.6896z" fill="#F498A6" p-id="1384"></path><path d="M512.3584 349.2864c11.0592-0.9728 17.5616-1.9968 17.5616-1.9968-0.3584-31.3856-2.816-81.408-17.5616-132.1472-14.7456 50.7392-17.2032 100.7616-17.5616 132.1472 0 0 6.5536 1.024 17.5616 1.9968zM742.1952 952.2688H280.9344c-73.5232 0-133.12-59.5968-133.12-133.12V456.96c0-42.0352 34.0992-76.1344 76.1344-76.1344h575.1808c42.0352 0 76.1344 34.0992 76.1344 76.1344V819.2c0.0512 73.472-59.5456 133.0688-133.0688 133.0688z" fill="#F85F69" p-id="1385"></path><path d="M866.6624 544.8192H156.5184c-43.7248 0-79.1552-35.4304-79.1552-79.1552v-86.528c0-43.7248 35.4304-79.1552 79.1552-79.1552h710.144c43.7248 0 79.1552 35.4304 79.1552 79.1552v86.528c0 43.7248-35.4816 79.1552-79.1552 79.1552z" fill="#F85F69" p-id="1386"></path><path d="M799.1808 375.7056H223.9488c-42.0352 0-76.1344 30.3616-76.1344 67.7376v100.9152c2.8672 0.256 5.7344 0.4608 8.6528 0.4608h710.144c2.9184 0 5.8368-0.1536 8.6528-0.4608V443.4432c0.0512-37.376-34.048-67.7376-76.0832-67.7376z" fill="#F33B3D" p-id="1387"></path><path d="M460.032 299.9296h103.0656V952.32H460.032z" fill="#F498A6" p-id="1388"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/advert/gift2.svg b/static/images/pointMall/advert/gift2.svg
new file mode 100644
index 0000000..f151493
--- /dev/null
+++ b/static/images/pointMall/advert/gift2.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731652468922" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14309" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M906.9568 299.6736h-157.952s66.8672-13.7728 98.3552-21.6576 74.7008-88.576-64.9216-173.0048-263.4752 194.56-263.4752 194.56S395.0592 20.48 255.488 105.0112 159.1296 270.1824 190.5664 278.016s98.3552 21.6576 98.3552 21.6576H117.76A37.9904 37.9904 0 0 0 79.8208 337.92v180.224a38.0416 38.0416 0 0 0 37.9392 37.7856h11.1104v321.792a62.9248 62.9248 0 0 0 62.9248 62.9248h641.0752A62.9248 62.9248 0 0 0 896 877.7216v-321.792h11.1616a38.0416 38.0416 0 0 0 37.9904-38.0416V337.92a37.9904 37.9904 0 0 0-38.1952-38.2464z m-100.5568 256H234.6496a30.72 30.72 0 1 1 0-61.44H806.4a30.72 30.72 0 0 1 0 61.44z" fill="#F49D22" p-id="14310"></path><path d="M906.9568 299.6736h-157.952s66.8672-13.7728 98.3552-21.6576 74.7008-88.576-64.9216-173.0048-263.4752 194.56-263.4752 194.56S395.0592 20.48 255.488 105.0112 159.1296 270.1824 190.5664 278.016s98.3552 21.6576 98.3552 21.6576H117.76A37.9904 37.9904 0 0 0 79.8208 337.92v180.224a38.0416 38.0416 0 0 0 37.9392 37.7856h11.1104v321.792a63.1296 63.1296 0 0 0 1.8944 15.0528 723.1488 723.1488 0 0 0 99.1744 14.7456 718.6944 718.6944 0 0 0 665.6-336.5376v-15.0528h9.1648a718.9504 718.9504 0 0 0 39.9872-78.4384V337.92a37.9904 37.9904 0 0 0-37.7344-38.2464z m-100.5568 256H234.6496a30.72 30.72 0 1 1 0-61.44H806.4a30.72 30.72 0 0 1 0 61.44z" fill="#F6AD2A" p-id="14311"></path><path d="M589.7728 555.8784H234.6496a30.72 30.72 0 1 1 0-61.44h419.1744a718.1312 718.1312 0 0 0 128-194.56h-32.8192s16.0768-3.328 36.1984-7.6288a713.984 713.984 0 0 0 46.08-151.552 324.9152 324.9152 0 0 0-48.7424-35.4816c-139.5712-84.5312-263.4752 194.56-263.4752 194.56S395.0592 20.48 255.488 105.0112 159.1296 270.1824 190.5664 278.016s98.3552 21.6576 98.3552 21.6576H117.76A37.9904 37.9904 0 0 0 79.8208 337.92v180.224a38.0416 38.0416 0 0 0 37.9392 37.7856h11.1104V727.04a716.2368 716.2368 0 0 0 460.9024-171.1616z" fill="#F9BF34" p-id="14312"></path><path d="M502.3744 266.496C464.128 195.1744 364.5952 38.912 255.488 105.0112 115.8656 189.44 159.1296 270.1824 190.5664 278.016s98.3552 21.6576 98.3552 21.6576H117.76A37.9904 37.9904 0 0 0 79.8208 337.92v176.3328a706.56 706.56 0 0 0 422.5536-247.7568z" fill="#FAC93A" p-id="14313"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/advert/money.svg b/static/images/pointMall/advert/money.svg
new file mode 100644
index 0000000..3e131dc
--- /dev/null
+++ b/static/images/pointMall/advert/money.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731652295398" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1749" width="28" height="28" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 528m-398 0a398 398 0 1 0 796 0 398 398 0 1 0-796 0Z" fill="#F2814E" p-id="1750"></path><path d="M512 496m-398 0a398 398 0 1 0 796 0 398 398 0 1 0-796 0Z" fill="#FFDC88" p-id="1751"></path><path d="M512 496m-282 0a282 282 0 1 0 564 0 282 282 0 1 0-564 0Z" fill="#FFBC54" p-id="1752"></path><path d="M512 180.668c174.036 0 315.332 141.296 315.332 315.332S686.036 811.332 512 811.332 196.668 670.036 196.668 496 337.964 180.668 512 180.668z m0 33.332c-155.64 0-282 126.36-282 282s126.36 282 282 282 282-126.36 282-282-126.36-282-282-282z" fill="#FA7B4D" p-id="1753"></path><path d="M512 180.668c174.036 0 315.332 141.296 315.332 315.332S686.036 811.332 512 811.332 196.668 670.036 196.668 496 337.964 180.668 512 180.668z m0 33.332c-155.64 0-282 126.36-282 282s126.36 282 282 282 282-126.36 282-282-126.36-282-282-282z" fill="#FA7B4D" p-id="1754"></path><path d="M257.4 801.828c14.168-7.124 31.124-14.42 36.6-35.828 20.132-78.676 424-508 424-508s0.372-52.644 29.852-82.536C846.172 247.96 910 364.584 910 496c0 219.664-178.336 398-398 398-96.8 0-185.572-34.632-254.6-92.172z" fill="#F47A38" fill-opacity=".5" p-id="1755"></path><path d="M716.296 301.688a30.104 30.104 0 0 1-0.228-41.464c1.24-1.488 1.932-2.224 1.932-2.224v-0.144a0.188 0.188 0 0 1 0.044-0.24 0.188 0.188 0 0 1 0.244 0c66.784 57.816 109.044 143.204 109.044 238.384 0 174.036-141.296 315.332-315.332 315.332-72.76 0-139.8-24.696-193.18-66.156a14.96 14.96 0 0 1-3.216-19.928l-0.036-0.02a18.172 18.172 0 0 1 26.248-4.452C389.112 756.692 448.088 778 512 778c155.64 0 282-126.36 282-282 0-75.284-29.564-143.716-77.704-194.312z" fill="#FFBA58" p-id="1756"></path><path d="M496.016 347.784a19.664 19.664 0 0 1 31.968 0l52.38 73.068a19.668 19.668 0 0 0 10.028 7.284l85.676 27.236a19.668 19.668 0 0 1 9.88 30.404l-53.308 72.396a19.668 19.668 0 0 0-3.828 11.788l0.572 89.896a19.668 19.668 0 0 1-25.864 18.792l-85.324-28.324a19.656 19.656 0 0 0-12.392 0l-85.324 28.324a19.664 19.664 0 0 1-25.864-18.792l0.572-89.896a19.668 19.668 0 0 0-3.828-11.788l-53.308-72.396a19.668 19.668 0 0 1 9.88-30.404l85.676-27.236a19.668 19.668 0 0 0 10.028-7.284l52.38-73.068z" fill="#FA7F4B" p-id="1757"></path><path d="M496.016 327.004a19.664 19.664 0 0 1 31.968 0l52.38 73.068a19.668 19.668 0 0 0 10.028 7.284l85.676 27.236a19.68 19.68 0 0 1 9.88 30.408l-53.308 72.392a19.668 19.668 0 0 0-3.828 11.788l0.572 89.9a19.664 19.664 0 0 1-25.864 18.792l-85.324-28.328a19.656 19.656 0 0 0-12.392 0l-85.324 28.328a19.668 19.668 0 0 1-25.864-18.792l0.572-89.9a19.668 19.668 0 0 0-3.828-11.788L338.052 465a19.68 19.68 0 0 1 9.88-30.408l85.676-27.236a19.668 19.668 0 0 0 10.028-7.284l52.38-73.068z" fill="#FFBC54" p-id="1758"></path><path d="M338.444 461.512a25.548 25.548 0 0 1 17.3-29.404l76.008-24.16a25.564 25.564 0 0 0 13.02-9.46l46.468-64.82a25.54 25.54 0 0 1 41.52 0l46.468 64.82a25.564 25.564 0 0 0 13.02 9.46l76.008 24.16a25.548 25.548 0 0 1 16.16 33.36c-49.228 10.14-104.98 15.864-164.024 15.864-66.332 0-128.508-7.224-181.948-19.82z" fill="#FFEA8D" p-id="1759"></path><path d="M787.368 557.016a17.312 17.312 0 0 1 21.992-12.948c0.376 0.124 0.752 0.236 1.124 0.356a14.752 14.752 0 0 1 10.016 17.036c-18.42 87.196-72.936 161.14-147.148 205.464a15.988 15.988 0 0 1-21.116-4.48l0.016-0.016a17.24 17.24 0 0 1 5.224-24.844c65.064-39.296 113.004-104.128 129.892-180.568z" fill="#FFED8C" p-id="1760"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/advert/money1.svg b/static/images/pointMall/advert/money1.svg
new file mode 100644
index 0000000..52be028
--- /dev/null
+++ b/static/images/pointMall/advert/money1.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731652295398" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1749" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 528m-398 0a398 398 0 1 0 796 0 398 398 0 1 0-796 0Z" fill="#F2814E" p-id="1750"></path><path d="M512 496m-398 0a398 398 0 1 0 796 0 398 398 0 1 0-796 0Z" fill="#FFDC88" p-id="1751"></path><path d="M512 496m-282 0a282 282 0 1 0 564 0 282 282 0 1 0-564 0Z" fill="#FFBC54" p-id="1752"></path><path d="M512 180.668c174.036 0 315.332 141.296 315.332 315.332S686.036 811.332 512 811.332 196.668 670.036 196.668 496 337.964 180.668 512 180.668z m0 33.332c-155.64 0-282 126.36-282 282s126.36 282 282 282 282-126.36 282-282-126.36-282-282-282z" fill="#FA7B4D" p-id="1753"></path><path d="M512 180.668c174.036 0 315.332 141.296 315.332 315.332S686.036 811.332 512 811.332 196.668 670.036 196.668 496 337.964 180.668 512 180.668z m0 33.332c-155.64 0-282 126.36-282 282s126.36 282 282 282 282-126.36 282-282-126.36-282-282-282z" fill="#FA7B4D" p-id="1754"></path><path d="M257.4 801.828c14.168-7.124 31.124-14.42 36.6-35.828 20.132-78.676 424-508 424-508s0.372-52.644 29.852-82.536C846.172 247.96 910 364.584 910 496c0 219.664-178.336 398-398 398-96.8 0-185.572-34.632-254.6-92.172z" fill="#F47A38" fill-opacity=".5" p-id="1755"></path><path d="M716.296 301.688a30.104 30.104 0 0 1-0.228-41.464c1.24-1.488 1.932-2.224 1.932-2.224v-0.144a0.188 0.188 0 0 1 0.044-0.24 0.188 0.188 0 0 1 0.244 0c66.784 57.816 109.044 143.204 109.044 238.384 0 174.036-141.296 315.332-315.332 315.332-72.76 0-139.8-24.696-193.18-66.156a14.96 14.96 0 0 1-3.216-19.928l-0.036-0.02a18.172 18.172 0 0 1 26.248-4.452C389.112 756.692 448.088 778 512 778c155.64 0 282-126.36 282-282 0-75.284-29.564-143.716-77.704-194.312z" fill="#FFBA58" p-id="1756"></path><path d="M496.016 347.784a19.664 19.664 0 0 1 31.968 0l52.38 73.068a19.668 19.668 0 0 0 10.028 7.284l85.676 27.236a19.668 19.668 0 0 1 9.88 30.404l-53.308 72.396a19.668 19.668 0 0 0-3.828 11.788l0.572 89.896a19.668 19.668 0 0 1-25.864 18.792l-85.324-28.324a19.656 19.656 0 0 0-12.392 0l-85.324 28.324a19.664 19.664 0 0 1-25.864-18.792l0.572-89.896a19.668 19.668 0 0 0-3.828-11.788l-53.308-72.396a19.668 19.668 0 0 1 9.88-30.404l85.676-27.236a19.668 19.668 0 0 0 10.028-7.284l52.38-73.068z" fill="#FA7F4B" p-id="1757"></path><path d="M496.016 327.004a19.664 19.664 0 0 1 31.968 0l52.38 73.068a19.668 19.668 0 0 0 10.028 7.284l85.676 27.236a19.68 19.68 0 0 1 9.88 30.408l-53.308 72.392a19.668 19.668 0 0 0-3.828 11.788l0.572 89.9a19.664 19.664 0 0 1-25.864 18.792l-85.324-28.328a19.656 19.656 0 0 0-12.392 0l-85.324 28.328a19.668 19.668 0 0 1-25.864-18.792l0.572-89.9a19.668 19.668 0 0 0-3.828-11.788L338.052 465a19.68 19.68 0 0 1 9.88-30.408l85.676-27.236a19.668 19.668 0 0 0 10.028-7.284l52.38-73.068z" fill="#FFBC54" p-id="1758"></path><path d="M338.444 461.512a25.548 25.548 0 0 1 17.3-29.404l76.008-24.16a25.564 25.564 0 0 0 13.02-9.46l46.468-64.82a25.54 25.54 0 0 1 41.52 0l46.468 64.82a25.564 25.564 0 0 0 13.02 9.46l76.008 24.16a25.548 25.548 0 0 1 16.16 33.36c-49.228 10.14-104.98 15.864-164.024 15.864-66.332 0-128.508-7.224-181.948-19.82z" fill="#FFEA8D" p-id="1759"></path><path d="M787.368 557.016a17.312 17.312 0 0 1 21.992-12.948c0.376 0.124 0.752 0.236 1.124 0.356a14.752 14.752 0 0 1 10.016 17.036c-18.42 87.196-72.936 161.14-147.148 205.464a15.988 15.988 0 0 1-21.116-4.48l0.016-0.016a17.24 17.24 0 0 1 5.224-24.844c65.064-39.296 113.004-104.128 129.892-180.568z" fill="#FFED8C" p-id="1760"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/back.svg b/static/images/pointMall/back.svg
new file mode 100644
index 0000000..180f0f2
--- /dev/null
+++ b/static/images/pointMall/back.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731633974092" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1708" width="20" height="20" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M781.248 109.248A64 64 0 0 0 690.752 18.752l-448 448a64 64 0 0 0 0 90.496l448 448a64 64 0 0 0 90.496-90.496L378.496 512l402.752-402.752z" fill="#ffb539" p-id="1709"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/nav1.svg b/static/images/pointMall/nav1.svg
new file mode 100644
index 0000000..c4b86c9
--- /dev/null
+++ b/static/images/pointMall/nav1.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731661576086" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1235" width="40" height="40" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M688.2304 455.68l-75.8272-11.008a84.992 84.992 0 0 1-63.8976-46.4384l-33.8944-68.7104a2.9184 2.9184 0 0 0-5.12 0L475.4944 398.336a84.992 84.992 0 0 1-63.8976 46.4384L335.7696 455.68a2.4064 2.4064 0 0 0-2.304 1.9456 2.5088 2.5088 0 0 0 0.7168 3.0208L389.12 514.2016a84.8384 84.8384 0 0 1 24.4224 75.1104l-12.9536 75.52a2.4064 2.4064 0 0 0 1.1776 2.816 2.3552 2.3552 0 0 0 3.0208 0l67.84-35.84a84.736 84.736 0 0 1 78.9504 0l67.84 35.84a2.3552 2.3552 0 0 0 3.0208 0 2.4064 2.4064 0 0 0 1.1776-2.816l-12.9536-75.52a84.8384 84.8384 0 0 1 24.2176-75.1104L689.8176 460.8a2.5088 2.5088 0 0 0 0.7168-3.0208 2.4064 2.4064 0 0 0-2.304-2.0992z" fill="#EE7C55" p-id="1236"></path><path d="M512 70.6048a444.0064 444.0064 0 1 0 443.9552 443.9552A443.9552 443.9552 0 0 0 512 70.6048z m235.008 448.768l-54.8864 53.504a2.9696 2.9696 0 0 0-0.8192 2.56l12.9536 75.52a84.8384 84.8384 0 0 1-122.88 89.4464l-67.84-35.84a3.1744 3.1744 0 0 0-2.7136 0l-67.7888 35.84A84.3776 84.3776 0 0 1 353.28 733.952a84.4288 84.4288 0 0 1-33.7408-82.9952L332.8 575.4368a2.9696 2.9696 0 0 0-0.8192-2.56L276.992 519.3728a84.8384 84.8384 0 0 1 47.0016-144.6912L399.8208 363.52a2.8672 2.8672 0 0 0 2.2016-1.5872l33.8944-68.5568a84.8896 84.8896 0 0 1 152.1664 0l33.8944 68.7104a2.8672 2.8672 0 0 0 2.2016 1.5872l75.8272 11.008a84.8384 84.8384 0 0 1 47.0016 144.6912z" fill="#EC6B44" p-id="1237"></path><path d="M877.2096 262.0928A444.0064 444.0064 0 0 0 133.12 745.8304a523.7248 523.7248 0 0 0 450.9696-4.096l-2.7648-1.3312-67.84-35.84a3.1744 3.1744 0 0 0-2.7136 0l-67.7888 35.84A84.3776 84.3776 0 0 1 353.28 733.952a84.4288 84.4288 0 0 1-33.7408-82.9952L332.8 575.4368a2.9696 2.9696 0 0 0-0.8192-2.56L276.992 519.3728a84.8384 84.8384 0 0 1 47.0016-144.6912L399.8208 363.52a2.8672 2.8672 0 0 0 2.2016-1.5872l33.8944-68.5568a84.8896 84.8896 0 0 1 152.1664 0l33.8944 68.7104a2.8672 2.8672 0 0 0 2.2016 1.5872l75.8272 11.008a84.8384 84.8384 0 0 1 47.0016 144.6912l-54.8864 53.504a2.9696 2.9696 0 0 0-0.8192 2.56l12.9536 75.52a81.92 81.92 0 0 1 0.9728 8.6016 520.96 520.96 0 0 0 167.9872-322.56 534.6816 534.6816 0 0 0 3.9936-74.9056z" fill="#EE7C55" p-id="1238"></path><path d="M68.0448 514.56c0 7.7824 0 15.36 0.5632 23.0912a419.1744 419.1744 0 0 0 169.9328 60.16 421.6832 421.6832 0 0 0 90.0608 1.5872l4.096-23.9616a2.9696 2.9696 0 0 0-0.8192-2.56L276.992 519.3728a84.8384 84.8384 0 0 1 47.0016-144.6912L399.8208 363.52a2.8672 2.8672 0 0 0 2.2016-1.5872l33.8944-68.5568a84.8896 84.8896 0 0 1 152.1664 0l33.8944 68.7104a2.8672 2.8672 0 0 0 2.2016 1.5872l42.9056 6.2464a421.6832 421.6832 0 0 0 40.4992-254.0032A444.1088 444.1088 0 0 0 68.0448 514.56z" fill="#F19970" p-id="1239"></path><path d="M612.4032 444.7744a84.992 84.992 0 0 1-63.8976-46.4384l-33.8944-68.7104a2.9184 2.9184 0 0 0-5.12 0L475.4944 398.336a84.992 84.992 0 0 1-63.8976 46.4384L335.7696 455.68a2.4064 2.4064 0 0 0-2.304 1.9456 2.5088 2.5088 0 0 0 0.7168 3.0208L389.12 514.2016a84.6848 84.6848 0 0 1 25.2416 68.4544A423.424 423.424 0 0 0 617.8816 445.44z" fill="#F19970" p-id="1240"></path><path d="M76.8 425.8304c11.008 2.3552 22.2208 4.352 33.5872 5.7856a389.4272 389.4272 0 0 0 149.504-10.24 84.2752 84.2752 0 0 1 64-46.6944L378.88 366.7456a413.6448 413.6448 0 0 0 33.4336-25.6l23.6032-47.9232A84.3264 84.3264 0 0 1 491.52 248.576a388.5056 388.5056 0 0 0 54.784-155.6992c0.8704-6.9632 1.536-13.8752 2.048-20.7872q-17.9712-1.4336-36.352-1.4848a444.1088 444.1088 0 0 0-435.2 355.2256z" fill="#F5C295" p-id="1241"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/nav2.svg b/static/images/pointMall/nav2.svg
new file mode 100644
index 0000000..35ea5ce
--- /dev/null
+++ b/static/images/pointMall/nav2.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731661620462" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1855" width="40" height="40" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M71.2704 212.4288a336.4352 125.7984 0 1 0 672.8704 0 336.4352 125.7984 0 1 0-672.8704 0Z" fill="#F6AD2A" p-id="1856"></path><path d="M742.4 199.68c-17.3056-63.3856-160.5632-112.64-334.6944-112.64-185.8048 0-336.4352 56.32-336.4352 125.7984s150.6304 125.3888 336.4352 125.3888c135.4752 0 252.2112-29.952 305.5104-73.1136q15.9232-32 29.184-65.4336z" fill="#F9BF34" p-id="1857"></path><path d="M407.7056 86.6304c-185.8048 0-336.4352 56.32-336.4352 125.7984C71.2704 260.4544 143.36 302.08 249.0368 323.3792a872.192 872.192 0 0 0 209.6128-235.52q-24.9344-1.2288-50.944-1.2288z" fill="#FAC93A" p-id="1858"></path><path d="M407.7056 495.872c171.52 0 299.4688-49.8176 336.4352-103.3728v-128c0 69.5296-150.6304 125.8496-336.4352 125.8496s-336.4352-56.32-336.4352-125.8496v128c36.9664 53.5552 164.9152 103.3728 336.4352 103.3728z" fill="#F6AD2A" p-id="1859"></path><path d="M71.2704 264.2432v128C108.2368 445.7984 236.1856 495.616 407.7056 495.616a781.1072 781.1072 0 0 0 154.6752-14.336 887.04 887.04 0 0 0 107.0592-137.7792c-61.44 28.5184-156.0064 46.7968-261.7344 46.7968-185.8048-0.2048-336.4352-56.5248-336.4352-126.0544z" fill="#F9BF34" p-id="1860"></path><path d="M71.2704 264.2432v128a120.832 120.832 0 0 0 25.6 26.0096 873.9328 873.9328 0 0 0 98.6624-56.3712c-75.8272-23.04-124.2624-58.2144-124.2624-97.6384z" fill="#FAC93A" p-id="1861"></path><path d="M728.6784 480.256a231.68 231.68 0 1 0 231.6288 231.424 231.68 231.68 0 0 0-231.6288-231.424z m-2.9696 346.368s-74.24-89.7024-122.0608-113.9712c75.776-41.9328 120.8832-118.4256 120.8832-118.4256 12.3392 28.6208 75.4688 93.3888 115.2 116.224a416.8704 416.8704 0 0 0-114.0224 116.1728z" fill="#F49D22" p-id="1862"></path><path d="M728.6784 480.256a231.5264 231.5264 0 0 0-175.2064 383.0784 888.5248 888.5248 0 0 0 126.464-87.3472c-24.064-24.7296-53.248-51.6608-76.288-63.3344 75.776-41.9328 120.8832-118.4256 120.8832-118.4256 7.5776 17.6128 34.5088 48.9984 63.3344 75.776a885.1968 885.1968 0 0 0 93.7472-131.9936 230.4 230.4 0 0 0-152.9344-57.7536zM454.8608 703.8464c-15.36 0.768-31.1296 1.2288-47.1552 1.2288-144.6912 0-266.7008-32.4096-336.4352-83.3024v68.864c0 69.4784 150.6304 125.7984 336.4352 125.7984 23.296 0 46.08-0.8704 67.9936-2.56a338.176 338.176 0 0 1-20.8384-110.0288z" fill="#F6AD2A" p-id="1863"></path><path d="M71.2704 621.7728v68.864c0 17.3568 9.3696 33.8432 26.368 48.896a877.7728 877.7728 0 0 0 156.9792-47.6672c-76.544-14.0288-140.032-38.5024-183.3472-70.0928z" fill="#F9BF34" p-id="1864"></path><path d="M509.952 542.0032a894.1056 894.1056 0 0 1-102.4 5.6832c-144.6912 0-266.7008-32.4096-336.4352-83.3024v85.4528c36.9664 53.6064 164.9152 103.424 336.4352 103.424 17.7152 0 34.9696-0.5632 51.712-1.5872a246.9376 246.9376 0 0 1 50.688-109.6704z" fill="#F6AD2A" p-id="1865"></path><path d="M407.7056 547.84c-144.6912 0-266.7008-32.4096-336.4352-83.3024v85.4528c32.0512 46.4384 132.352 90.0096 270.1312 100.8128a887.0912 887.0912 0 0 0 155.5968-107.52c-28.5696 2.8672-58.368 4.5568-89.2928 4.5568z" fill="#F9BF34" p-id="1866"></path><path d="M728.6784 909.4144a195.4304 195.4304 0 1 1 195.4304-195.4304 195.6864 195.6864 0 0 1-195.4304 195.4304z m0-367.9744a172.544 172.544 0 1 0 172.4416 172.544 172.7488 172.7488 0 0 0-172.4416-172.544z" fill="#F7F8F8" p-id="1867"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/points-icon.svg b/static/images/pointMall/points-icon.svg
new file mode 100644
index 0000000..70c78fe
--- /dev/null
+++ b/static/images/pointMall/points-icon.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731636958847" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7477" width="20" height="20" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M0 0h1024v1024H0V0z" fill="#202425" opacity=".01" p-id="7478"></path><path d="M423.2192 90.385067a119.466667 119.466667 0 0 1 177.595733 0L934.126933 460.8H89.838933l333.380267-370.414933z m101.4784 68.5056a17.066667 17.066667 0 0 0-25.3952 0L319.761067 358.4h384.477866l-179.541333-199.509333z" fill="#FFAA44" p-id="7479"></path><path d="M52.565333 424.413867A68.266667 68.266667 0 0 1 119.261867 341.333333h785.544533a68.266667 68.266667 0 0 1 66.628267 83.080534l-94.3104 424.413866A136.533333 136.533333 0 0 1 743.799467 955.733333H280.234667a136.533333 136.533333 0 0 1-133.290667-106.9056L52.599467 424.413867z" fill="#FF7744" p-id="7480"></path><path d="M496.605867 441.890133a17.066667 17.066667 0 0 1 30.788266 0L576.853333 545.450667a17.066667 17.066667 0 0 0 13.175467 9.557333l113.800533 15.018667a17.066667 17.066667 0 0 1 9.5232 29.2864l-83.2512 79.018666a17.066667 17.066667 0 0 0-5.051733 15.496534l20.923733 112.8448a17.066667 17.066667 0 0 1-24.917333 18.090666l-100.864-54.715733a17.066667 17.066667 0 0 0-16.315733 0l-100.864 54.715733a17.066667 17.066667 0 0 1-24.917334-18.090666l20.8896-112.8448a17.066667 17.066667 0 0 0-5.0176-15.496534l-83.217066-79.018666a17.066667 17.066667 0 0 1 9.489066-29.2864l113.800534-15.018667a17.066667 17.066667 0 0 0 13.175466-9.557333l49.425067-103.560534z" fill="#FFFFFF" p-id="7481"></path></svg>
\ No newline at end of file
diff --git a/static/images/pointMall/points.svg b/static/images/pointMall/points.svg
new file mode 100644
index 0000000..06caaa1
--- /dev/null
+++ b/static/images/pointMall/points.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1731633852379" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1447" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 0c282.752 0 512 229.248 512 512S794.752 1024 512 1024 0 794.752 0 512 229.248 0 512 0z" fill="#FC7F2C" p-id="1448"></path><path d="M820.992 518.784zM519.808 207.232c-165.888 0-300.416 134.528-300.416 300.416 0 3.456 0.384 6.912 0.896 10.24-0.128 50.816 12.544 102.016 39.04 148.736a94.5664 94.5664 0 0 1 47.616-13.184h20.608c40.576 0 119.296 32.64 132.096 38.016h152.576c13.824 0 27.008 5.76 36.48 15.744 9.088 9.728 13.952 22.528 13.568 35.84-0.384 6.784-2.048 13.44-4.992 19.456l61.952-18.816a299.0336 299.0336 0 0 0 101.76-224.896c0-8.448-0.512-16.896-1.152-25.344-7.424-159.232-138.88-286.208-300.032-286.208z" fill="#FFFFFF" p-id="1449"></path><path d="M385.28 453.888c0.512-3.712 2.176-6.912 4.864-9.344 2.688-2.432 5.76-3.712 9.216-3.712h16.64L397.312 573.44c-1.536 9.088-5.376 16.384-11.648 22.144-6.272 5.76-13.44 8.576-21.632 8.576l21.248-150.272z m89.856-45.568h38.656l-1.536 11.008c-0.512 2.688-1.664 4.992-3.456 6.656s-3.968 2.56-6.528 2.56H472.32l-21.504 165.12c-0.512 3.072-1.792 5.632-3.968 7.552-2.176 1.92-4.608 2.944-7.296 2.944h-38.4l23.04-175.616h-38.656l1.536-11.776c0.384-2.56 1.408-4.608 3.072-6.144s3.712-2.304 6.144-2.304h30.464l3.072-24.32H392.96c1.024-6.016 3.584-10.88 7.68-14.72 4.096-3.84 8.832-5.76 14.336-5.76h102.4l-1.28 11.008c-0.512 2.688-1.664 4.992-3.584 6.784-1.792 1.792-4.096 2.688-6.656 2.688h-27.648l-3.072 24.32z m22.784 32.512c2.176 0 3.968 0.768 5.248 2.432 1.28 1.664 1.792 3.584 1.664 6.016L486.4 604.16c-7.68 0-13.952-3.072-18.944-9.088-4.992-6.016-7.04-13.312-6.144-21.632l15.616-132.608h20.992z m21.504 74.24c1.92-4.736 4.864-7.168 8.96-7.168h42.752l-11.776 45.568c-12.8 34.176-33.92 51.2-63.232 51.2l23.296-89.6z m2.56-28.416c-4.48-5.504-6.144-12.16-5.12-19.968l13.568-102.912h49.664l-2.816 20.48-1.536 11.52-8.96 69.376c-0.384 2.56 0.128 4.736 1.536 6.656 1.536 1.92 3.456 2.816 5.888 2.816h33.28c2.432 0 4.608-0.896 6.656-2.816 1.92-1.92 2.944-4.096 3.328-6.656l10.496-80.896h-40.704l2.816-20.48h90.368l-13.568 102.912c-1.024 7.808-4.48 14.464-10.24 19.968-5.76 5.632-12.416 8.448-19.712 8.448h-97.536c-7.168 0-12.928-2.816-17.408-8.448z m127.36 23.552c1.408 1.536 2.176 3.456 2.176 5.888v88.576h-22.528c-7.552 0-13.824-2.816-19.072-8.448-5.248-5.632-7.936-12.544-8.064-20.736v-67.584h41.984c2.304 0 4.096 0.768 5.504 2.304z" fill="#FC7F2C" p-id="1450"></path><path d="M613.12 705.408l-158.592-0.768h-0.128c-2.176-0.896-87.424-37.376-126.72-37.376h-17.28a80.3968 80.3968 0 0 0-78.08 55.424c-12.288 41.344 11.136 84.736 52.352 97.152 1.024 0.256 2.048 0.64 3.072 0.896 49.024 12.416 137.216 34.432 177.664 41.984 62.08 11.648 195.84-15.744 210.432-20.224 15.872-4.864 110.976-36.352 112-36.736 8.576-2.176 15.872-7.808 20.224-15.488 5.76-10.112 5.76-22.528-0.128-32.64-3.072-5.504-7.68-9.984-13.44-12.8a33.152 33.152 0 0 0-25.216-1.664L619.008 788.48h-0.128l-160.896-0.384c-4.864 0.256-8.96-3.456-9.216-8.32-0.256-4.864 3.456-8.96 8.32-9.216H611.072c17.92 0.128 32.768-13.952 33.792-31.872a32.7296 32.7296 0 0 0-31.744-33.28" fill="#FEDFC5" p-id="1451"></path></svg>
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/api/index.js b/unpackage/dist/dev/mp-weixin/api/index.js
index a3402b5..3d1852d 100644
--- a/unpackage/dist/dev/mp-weixin/api/index.js
+++ b/unpackage/dist/dev/mp-weixin/api/index.js
@@ -9,8 +9,20 @@
 function getUserInfo() {
   return util_request.request("/user/loginUser", {}, "GET");
 }
+function getRegionApi(code) {
+  return util_request.request(`/sysRegion/getListChild?code=${code}`, {}, "GET");
+}
+function creatUserArchive(data) {
+  return util_request.request("/userArchives/realName", data, "POST");
+}
 function searchAddress(data) {
   return util_request.request("/userAddress/search", data, "POST");
+}
+function editAddressApi(data) {
+  return util_request.request("/userAddress/modify", data, "POST");
+}
+function getAddressApi(id) {
+  return util_request.request(`/userAddress/get?id=${id}`, {}, "GET");
 }
 function deleteAddressApi(id) {
   return util_request.request(`/userAddress/remove?id=${id}`, {}, "GET");
@@ -63,6 +75,9 @@
 function buyWaterApi(data) {
   return util_request.request("/api/facility/buyWater", data, "POST");
 }
+function getPriceBySnApi(sn) {
+  return util_request.request(`/waterFacility/getPriceBySn?sn=${sn}`, {}, "GET");
+}
 function rechargeApi(data) {
   return util_request.request("/rechargeRecords/fees", data, "POST");
 }
@@ -71,9 +86,14 @@
 exports.balanceChangeApi = balanceChangeApi;
 exports.balanceStatisticsApi = balanceStatisticsApi;
 exports.buyWaterApi = buyWaterApi;
+exports.creatUserArchive = creatUserArchive;
 exports.deleteAddressApi = deleteAddressApi;
+exports.editAddressApi = editAddressApi;
 exports.editShareTypeApi = editShareTypeApi;
 exports.editUserInfoApi = editUserInfoApi;
+exports.getAddressApi = getAddressApi;
+exports.getPriceBySnApi = getPriceBySnApi;
+exports.getRegionApi = getRegionApi;
 exports.getUserInfo = getUserInfo;
 exports.getVipInfoApi = getVipInfoApi;
 exports.infoBreakdownApi = infoBreakdownApi;
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
index d881f69..7cb5c61 100644
--- a/unpackage/dist/dev/mp-weixin/app.js
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -4,6 +4,7 @@
 const api_index = require("./api/index.js");
 if (!Math) {
   "./pages/index/index.js";
+  "./pages/addCard/index.js";
   "./pages/userInfo/index.js";
   "./pages/functionList/balanceRecord/index.js";
   "./pages/functionList/paymentRecord/index.js";
@@ -16,6 +17,7 @@
   "./pages/sendWater/index.js";
   "./pages/preSendWater/index.js";
   "./pages/address/index.js";
+  "./pages/addressAdd/index.js";
   "./pages/addressLocate/index.js";
   "./pages/success/index.js";
   "./pages/facilityList/index.js";
@@ -24,6 +26,7 @@
   "./pages/scanRecharge/index.js";
   "./pages/scanSuccess/index.js";
   "./pages/counterRecharge/index.js";
+  "./pages/pointsMall/index.js";
 }
 const _sfc_main = {
   __name: "App",
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
index 442b42f..1fa6e8c 100644
--- a/unpackage/dist/dev/mp-weixin/app.json
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -1,6 +1,7 @@
 {
   "pages": [
     "pages/index/index",
+    "pages/addCard/index",
     "pages/userInfo/index",
     "pages/functionList/balanceRecord/index",
     "pages/functionList/paymentRecord/index",
@@ -13,6 +14,7 @@
     "pages/sendWater/index",
     "pages/preSendWater/index",
     "pages/address/index",
+    "pages/addressAdd/index",
     "pages/addressLocate/index",
     "pages/success/index",
     "pages/facilityList/index",
@@ -20,7 +22,8 @@
     "pages/infoBreakdown/index",
     "pages/scanRecharge/index",
     "pages/scanSuccess/index",
-    "pages/counterRecharge/index"
+    "pages/counterRecharge/index",
+    "pages/pointsMall/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 77cb21d..c35a695 100644
--- a/unpackage/dist/dev/mp-weixin/common/assets.js
+++ b/unpackage/dist/dev/mp-weixin/common/assets.js
@@ -1,31 +1,42 @@
 "use strict";
-const _imports_0$9 = "/static/images/index/head.png";
-const _imports_1$5 = "/static/images/index/back.png";
-const _imports_2 = "/static/images/index/vip-add.png";
-const _imports_0$8 = "/static/images/index/card11.png";
-const _imports_4 = "/static/images/index/code1.png";
-const _imports_5 = "/static/images/index/home21.png";
-const _imports_1$4 = "/static/images/index/icon22.png";
-const _imports_7 = "/static/images/index/icon23.png";
-const _imports_8 = "/static/images/index/bg4.png";
-const _imports_9 = "/static/images/index/icon51.png";
-const _imports_10 = "/static/images/index/more-info5.png";
-const _imports_11 = "/static/images/index/notice5.png";
-const _imports_1$3 = "/static/images/other/more.png";
+const headImg = "/static/images/index/head.png";
+const _imports_1$6 = "/static/images/index/back.png";
+const _imports_0$9 = "/static/images/index/card11.png";
+const _imports_3$1 = "/static/images/index/code1.png";
+const _imports_4$1 = "/static/images/index/vip-add.png";
+const _imports_5$1 = "/static/images/index/home21.png";
+const _imports_1$5 = "/static/images/index/icon22.png";
+const _imports_7$1 = "/static/images/index/icon23.png";
+const _imports_8$1 = "/static/images/index/banner2.png";
+const _imports_9$1 = "/static/images/index/banner1.png";
+const _imports_10 = "/static/images/index/icon51.png";
+const _imports_11 = "/static/images/index/more-info5.png";
+const _imports_12 = "/static/images/index/notice5.png";
+const _imports_0$8 = "/static/images/addCard/code.png";
+const _imports_1$4 = "/static/images/other/more.png";
 const _imports_0$7 = "/static/images/other/expand.png";
-const _imports_1$2 = "/static/images/other/nodata.png";
+const _imports_1$3 = "/static/images/other/nodata.png";
 const _imports_0$6 = "/static/images/other/code-none.png";
 const _imports_0$5 = "/static/images/address/edit.png";
-const _imports_1$1 = "/static/images/address/delete.png";
-const _imports_0$4 = "/static/images/other/success.png";
-const _imports_0$3 = "/static/logo.png";
-const _imports_0$2 = "/static/images/addCard/code.png";
-const _imports_1 = "/static/images/other/img-add.png";
-const _imports_0$1 = "/static/images/other/icon_pay.png";
-const _imports_0 = "/static/images/addCard/back.png";
+const _imports_1$2 = "/static/images/address/delete.png";
+const _imports_0$4 = "/static/images/address/expand.png";
+const _imports_0$3 = "/static/images/other/success.png";
+const _imports_0$2 = "/static/logo.png";
+const _imports_1$1 = "/static/images/other/img-add.png";
+const _imports_0$1 = "/static/images/pointMall/back.svg";
+const _imports_1 = "/static/images/pointMall/points.svg";
+const _imports_2 = "/static/images/pointMall/points-icon.svg";
+const _imports_3 = "/static/images/pointMall/advert/gift1.svg";
+const _imports_4 = "/static/images/pointMall/advert/gift2.svg";
+const _imports_5 = "/static/images/pointMall/advert/bag.svg";
+const _imports_6 = "/static/images/pointMall/advert/money.svg";
+const _imports_7 = "/static/images/pointMall/advert/money1.svg";
+const _imports_8 = "/static/images/pointMall/nav1.svg";
+const _imports_9 = "/static/images/pointMall/nav2.svg";
+const _imports_0 = "/static/images/other/navBack.svg";
 exports._imports_0 = _imports_0;
-exports._imports_0$1 = _imports_0$8;
-exports._imports_0$2 = _imports_0$9;
+exports._imports_0$1 = _imports_0$9;
+exports._imports_0$2 = _imports_0$8;
 exports._imports_0$3 = _imports_0$7;
 exports._imports_0$4 = _imports_0$6;
 exports._imports_0$5 = _imports_0$5;
@@ -33,17 +44,28 @@
 exports._imports_0$7 = _imports_0$3;
 exports._imports_0$8 = _imports_0$2;
 exports._imports_0$9 = _imports_0$1;
-exports._imports_1 = _imports_1$4;
-exports._imports_1$1 = _imports_1$5;
-exports._imports_1$2 = _imports_1$3;
-exports._imports_1$3 = _imports_1$2;
-exports._imports_1$4 = _imports_1$1;
-exports._imports_1$5 = _imports_1;
+exports._imports_1 = _imports_1$5;
+exports._imports_1$1 = _imports_1$6;
+exports._imports_1$2 = _imports_1$4;
+exports._imports_1$3 = _imports_1$3;
+exports._imports_1$4 = _imports_1$2;
+exports._imports_1$5 = _imports_1$1;
+exports._imports_1$6 = _imports_1;
 exports._imports_10 = _imports_10;
 exports._imports_11 = _imports_11;
+exports._imports_12 = _imports_12;
 exports._imports_2 = _imports_2;
-exports._imports_4 = _imports_4;
-exports._imports_5 = _imports_5;
-exports._imports_7 = _imports_7;
-exports._imports_8 = _imports_8;
-exports._imports_9 = _imports_9;
+exports._imports_3 = _imports_3$1;
+exports._imports_3$1 = _imports_3;
+exports._imports_4 = _imports_4$1;
+exports._imports_4$1 = _imports_4;
+exports._imports_5 = _imports_5$1;
+exports._imports_5$1 = _imports_5;
+exports._imports_6 = _imports_6;
+exports._imports_7 = _imports_7$1;
+exports._imports_7$1 = _imports_7;
+exports._imports_8 = _imports_8$1;
+exports._imports_8$1 = _imports_8;
+exports._imports_9 = _imports_9$1;
+exports._imports_9$1 = _imports_9;
+exports.headImg = headImg;
diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js
index d3facf9..cbf6d7b 100644
--- a/unpackage/dist/dev/mp-weixin/common/vendor.js
+++ b/unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -7677,6 +7677,12 @@
     }
   },
   {
+    path: "pages/addCard/index",
+    style: {
+      navigationStyle: "custom"
+    }
+  },
+  {
     path: "pages/userInfo/index",
     style: {
       navigationStyle: "custom"
@@ -7749,6 +7755,12 @@
     }
   },
   {
+    path: "pages/addressAdd/index",
+    style: {
+      navigationStyle: "custom"
+    }
+  },
+  {
     path: "pages/addressLocate/index",
     style: {
       navigationStyle: "custom"
@@ -7795,6 +7807,12 @@
     style: {
       navigationStyle: "custom"
     }
+  },
+  {
+    path: "pages/pointsMall/index",
+    style: {
+      navigationStyle: "custom"
+    }
   }
 ];
 const globalStyle = {
diff --git a/unpackage/dist/dev/mp-weixin/components/navbar/navbar.wxss b/unpackage/dist/dev/mp-weixin/components/navbar/navbar.wxss
index a2558b9..2fc8dfb 100644
--- a/unpackage/dist/dev/mp-weixin/components/navbar/navbar.wxss
+++ b/unpackage/dist/dev/mp-weixin/components/navbar/navbar.wxss
@@ -29,17 +29,23 @@
   background: linear-gradient(to bottom, #5EA1FA, #8BC1FC);
   display: flex;
   align-items: flex-end;
-  padding-bottom: 24rpx;
   box-sizing: border-box;
+  position: relative;
+  padding: 0 32rpx 24rpx;
 }
 .navbar image {
-  width: 20rpx;
+  width: 40rpx;
   height: 40rpx;
-  margin-left: 32rpx;
+  transform: rotate(180deg);
 }
 .navbar text {
   font-weight: 400;
   font-size: 36rpx;
   color: #000000;
-  margin-left: 234rpx;
+  position: absolute;
+  width: 200rpx;
+  left: calc(50% - 100rpx);
+  text-align: center;
+  color: #e4ecf9;
+  letter-spacing: 1rpx;
 }
\ 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 917925e..6171896 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addCard/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/addCard/index.js
@@ -92,7 +92,7 @@
         b: form.value.waterCardNumber,
         c: common_vendor.o(($event) => form.value.waterCardNumber = $event.detail.value),
         d: common_vendor.o(($event) => toScan()),
-        e: common_assets._imports_0$3,
+        e: common_assets._imports_0$2,
         f: common_vendor.p({
           label: "卡号:",
           name: "waterCardNumber"
diff --git a/unpackage/dist/dev/mp-weixin/pages/address/index.js b/unpackage/dist/dev/mp-weixin/pages/address/index.js
index 689d9bf..f2b3db3 100644
--- a/unpackage/dist/dev/mp-weixin/pages/address/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/address/index.js
@@ -62,6 +62,12 @@
         url: `/pages/addressAdd/index?id=${id}`
       });
     }
+    function navToAdd() {
+      let id = "";
+      common_vendor.index.navigateTo({
+        url: `/pages/addressAdd/index?id=${id}`
+      });
+    }
     common_vendor.onShow(async () => {
       getAddressList();
     });
@@ -83,7 +89,8 @@
           };
         }),
         c: common_assets._imports_0$5,
-        d: common_assets._imports_1$4
+        d: common_assets._imports_1$4,
+        e: common_vendor.o(($event) => navToAdd())
       };
     };
   }
diff --git a/unpackage/dist/dev/mp-weixin/pages/address/index.wxml b/unpackage/dist/dev/mp-weixin/pages/address/index.wxml
index 364dfea..5155251 100644
--- a/unpackage/dist/dev/mp-weixin/pages/address/index.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/address/index.wxml
@@ -1 +1 @@
-<view class="container"><navbar wx:if="{{a}}" u-i="696da406-0" bind:__l="__l" u-p="{{a}}"></navbar><view class="content"><view class="main"><block wx:for="{{b}}" wx:for-item="item"><view class="address-item"><view class="user-info"><text>{{item.a}}</text><text>{{item.b}}</text></view><view class="address-info">{{item.c}}</view><view class="address-divide"></view><view class="handel"><view class="handel-left"><radio color="#4996E3" value="{{item.d}}" checked="{{item.e}}" bindtap="{{item.f}}"></radio><text>设为默认</text></view><view class="handel-right"><view bindtap="{{item.g}}"><image src="{{c}}" alt=""></image><text>编辑</text></view><view bindtap="{{item.h}}"><image src="{{d}}" alt=""></image><text>删除</text></view></view></view></view></block></view><view class="subBtn">新增收货地址</view></view></view>
\ No newline at end of file
+<view class="container"><navbar wx:if="{{a}}" u-i="696da406-0" bind:__l="__l" u-p="{{a}}"></navbar><view class="content"><view class="main"><block wx:for="{{b}}" wx:for-item="item"><view class="address-item"><view class="user-info"><text>{{item.a}}</text><text>{{item.b}}</text></view><view class="address-info">{{item.c}}</view><view class="address-divide"></view><view class="handel"><view class="handel-left"><radio color="#4996E3" value="{{item.d}}" checked="{{item.e}}" bindtap="{{item.f}}"></radio><text>设为默认</text></view><view class="handel-right"><view bindtap="{{item.g}}"><image src="{{c}}" alt=""></image><text>编辑</text></view><view bindtap="{{item.h}}"><image src="{{d}}" alt=""></image><text>删除</text></view></view></view></view></block></view><view class="subBtn" bindtap="{{e}}">新增收货地址</view></view></view>
\ 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 67bbf93..18cf45a 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js
@@ -186,7 +186,7 @@
     function upGrade() {
       common_vendor.index.showToast({
         title: "该功能正在升级中!",
-        duration: 2e3,
+        duration: 1e3,
         icon: "none"
       });
     }
@@ -214,50 +214,56 @@
       }, cardInfo.value.headImg ? {
         b: common_vendor.unref(config_baseUrl.BASE_URL) + "/upload" + cardInfo.value.headImg
       } : {
-        c: common_assets._imports_0$2
+        c: common_assets.headImg
       }, {
         d: common_vendor.t(cardInfo.value.userName),
         e: common_vendor.o(($event) => navTo("/pages/userInfo/index")),
         f: common_vendor.o(($event) => navTo("/pages/userInfo/index")),
         g: common_assets._imports_1$1,
-        h: common_assets._imports_2,
-        i: common_assets._imports_0$1,
-        j: isShareCard.value
+        h: common_assets._imports_0$1,
+        i: isShareCard.value
       }, isShareCard.value ? {
-        k: common_vendor.t(cardInfo.value.waterCardNumber)
+        j: common_vendor.t(cardInfo.value.waterCardNumber)
       } : {}, {
-        l: !isShareCard.value
+        k: !isShareCard.value
       }, !isShareCard.value ? common_vendor.e({
-        m: isVip.value
+        l: isVip.value
       }, isVip.value ? {
-        n: common_assets._imports_4
+        m: common_assets._imports_3
       } : {}, {
-        o: isLoss.value && isVip.value
-      }, isLoss.value && isVip.value ? {} : {}, {
-        p: isVip.value
-      }, isVip.value ? {
-        q: common_vendor.t(cardInfo.value.waterCardNumber)
-      } : {}, {
-        r: isVip.value
+        n: isVip.value
       }, isVip.value ? {} : {}, {
-        s: !isVip.value
+        o: !isVip.value
       }, !isVip.value ? {} : {}, {
+        p: isLoss.value && isVip.value
+      }, isLoss.value && isVip.value ? {} : {}, {
+        q: isVip.value
+      }, isVip.value ? {
+        r: common_vendor.t(cardInfo.value.waterCardNumber)
+      } : {}, {
+        s: isVip.value
+      }, isVip.value ? {} : {}, {
         t: isVip.value
       }, isVip.value ? {
         v: common_vendor.t(cardInfo.value.balance)
       } : {}, {
-        w: isVip.value
+        w: !isVip.value
+      }, !isVip.value ? {
+        x: common_assets._imports_4,
+        y: common_vendor.o(($event) => navTo("/pages/addCard/index"))
+      } : {}, {
+        z: isVip.value
       }, isVip.value ? {
-        x: common_vendor.o(($event) => navTo("/pages/recharge/index"))
+        A: common_vendor.o(($event) => navTo("/pages/recharge/index"))
       } : {}) : {}, {
-        y: topHeight.value + "rpx",
-        z: common_assets._imports_5,
-        A: common_vendor.o(($event) => navTo("/pages/sendWater/index")),
-        B: common_assets._imports_1,
-        C: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
-        D: common_assets._imports_7,
-        E: common_vendor.o(($event) => toScan()),
-        F: common_vendor.f(functionList.value, (item, index, i0) => {
+        B: topHeight.value + "rpx",
+        C: common_assets._imports_5,
+        D: common_vendor.o(upGrade),
+        E: common_assets._imports_1,
+        F: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
+        G: common_assets._imports_7,
+        H: common_vendor.o(($event) => toScan()),
+        I: common_vendor.f(functionList.value, (item, index, i0) => {
           return {
             a: item.icon,
             b: item.bgColor,
@@ -266,14 +272,15 @@
             e: index
           };
         }),
-        G: common_assets._imports_8,
-        H: common_vendor.o(upGrade),
-        I: common_assets._imports_9,
-        J: common_assets._imports_10,
-        K: common_vendor.o(($event) => navTo("/pages/station/index")),
-        L: common_assets._imports_11,
+        J: common_assets._imports_8,
+        K: common_assets._imports_9,
+        L: common_vendor.o(($event) => navTo("/pages/pointsMall/index")),
         M: common_assets._imports_10,
-        N: common_vendor.o(($event) => navTo("/pages/counterRecharge/index"))
+        N: common_assets._imports_11,
+        O: common_vendor.o(($event) => navTo("/pages/station/index")),
+        P: common_assets._imports_12,
+        Q: common_assets._imports_11,
+        R: common_vendor.o(upGrade)
       });
     };
   }
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxml b/unpackage/dist/dev/mp-weixin/pages/index/index.wxml
index 40462e5..5356f60 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:' + y}}"><view class="user-info data-v-1cf27b2a"><image wx:if="{{a}}" class="user-img data-v-1cf27b2a" src="{{b}}" alt=""></image><image wx:else class="user-img data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a" bindtap="{{e}}">{{d}}</text><image bindtap="{{f}}" class="user-more data-v-1cf27b2a" src="{{g}}"></image><view class="user-add-card data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{h}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{i}}" alt=""></image><view wx:if="{{j}}" class="share-card data-v-1cf27b2a">共享卡号:{{k}}</view><view wx:if="{{l}}" class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image wx:if="{{m}}" class="data-v-1cf27b2a" src="{{n}}" alt=""></image><text class="data-v-1cf27b2a">会员卡 </text><text wx:if="{{o}}" class="lossed data-v-1cf27b2a"> [已挂失]</text></view><view wx:if="{{p}}" class="data-v-1cf27b2a">ID:{{q}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{r}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{s}}" class="data-v-1cf27b2a">未绑定会员卡</text><text wx:if="{{t}}" class="data-v-1cf27b2a">{{v}}元</text></view><view wx:if="{{w}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{x}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{A}}"><image class="data-v-1cf27b2a" src="{{z}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{C}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{B}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{E}}"><image class="data-v-1cf27b2a" src="{{D}}" 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="{{F}}" wx:for-item="item" wx:key="e"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.d}}"><view class="box2-item-img data-v-1cf27b2a" style="{{'background:' + item.b}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image></view><view class="box2-item-text data-v-1cf27b2a">{{item.c}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a" bindtap="{{H}}"><image class="data-v-1cf27b2a" src="{{G}}" 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" bindtap="{{K}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{I}}" 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="{{J}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a" bindtap="{{N}}"><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></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:' + B}}"><view class="user-info data-v-1cf27b2a"><image wx:if="{{a}}" class="user-img data-v-1cf27b2a" src="{{b}}" alt=""></image><image wx:else class="user-img data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a" bindtap="{{e}}">{{d}}</text><image bindtap="{{f}}" class="user-more data-v-1cf27b2a" src="{{g}}"></image></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{h}}" alt=""></image><view wx:if="{{i}}" class="share-card data-v-1cf27b2a">共享卡号:{{j}}</view><view wx:if="{{k}}" class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image wx:if="{{l}}" class="data-v-1cf27b2a" src="{{m}}" alt=""></image><text wx:if="{{n}}" class="data-v-1cf27b2a">会员卡 </text><text wx:if="{{o}}" class="data-v-1cf27b2a">未绑定 </text><text wx:if="{{p}}" class="lossed data-v-1cf27b2a"> [已挂失]</text></view><view wx:if="{{q}}" class="data-v-1cf27b2a">ID:{{r}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{s}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{t}}" class="data-v-1cf27b2a">{{v}}元</text><view wx:if="{{w}}" class="user-add-card data-v-1cf27b2a" bindtap="{{y}}"><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view wx:if="{{z}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{A}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{D}}"><image class="data-v-1cf27b2a" src="{{C}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{F}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{E}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{H}}"><image class="data-v-1cf27b2a" src="{{G}}" 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="{{I}}" wx:for-item="item" wx:key="e"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.d}}"><view class="box2-item-img data-v-1cf27b2a" style="{{'background:' + item.b}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image></view><view class="box2-item-text data-v-1cf27b2a">{{item.c}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a" bindtap="{{L}}"><image class="data-v-1cf27b2a" src="{{J}}" alt=""></image><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" bindtap="{{O}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{M}}" 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="{{N}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a" bindtap="{{R}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{P}}" 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="{{Q}}" 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 c470a1c..5ddab30 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
@@ -43,13 +43,11 @@
 .container .content .card-box .user-info.data-v-1cf27b2a {
   width: 100%;
   height: 100rpx;
-  display: flex;
   align-items: center;
   padding-left: 15rpx;
   box-sizing: border-box;
   margin-bottom: 14rpx;
   display: flex;
-  position: relative;
 }
 .container .content .card-box .user-info .user-img.data-v-1cf27b2a {
   width: 90rpx;
@@ -64,23 +62,6 @@
 .container .content .card-box .user-info .user-more.data-v-1cf27b2a {
   width: 12rpx;
   height: 28rpx;
-}
-.container .content .card-box .user-info .user-add-card.data-v-1cf27b2a {
-  display: flex;
-  align-items: center;
-  height: 40rpx;
-  font-size: 22rpx;
-  background: linear-gradient(to right, #B1D9FD, #65A7FD);
-  border-radius: 50rpx;
-  padding: 0 8rpx;
-  position: absolute;
-  bottom: 0;
-  right: 0;
-}
-.container .content .card-box .user-info .user-add-card image.data-v-1cf27b2a {
-  width: 28rpx;
-  height: 28rpx;
-  margin-right: 10rpx;
 }
 .container .content .card-box .card.data-v-1cf27b2a {
   width: 100%;
@@ -162,6 +143,24 @@
   justify-content: space-between;
   flex-direction: column;
   font-size: 34rpx;
+}
+.container .content .card-box .card .card-content .card-right .card-right-top .user-add-card.data-v-1cf27b2a {
+  display: flex;
+  align-items: center;
+  height: 52rpx;
+  font-size: 28rpx;
+  background: linear-gradient(to right, #B1D9FD 0%, #65A7FD 70%, #65A7FD 100%);
+  border-radius: 50rpx;
+  padding: 0 20rpx;
+}
+.container .content .card-box .card .card-content .card-right .card-right-top .user-add-card image.data-v-1cf27b2a {
+  width: 36rpx;
+  height: 36rpx;
+  margin-right: 6rpx;
+  opacity: 0.8;
+}
+.container .content .card-box .card .card-content .card-right .card-right-top .user-add-card text.data-v-1cf27b2a {
+  color: #FFF;
 }
 .container .content .card-box .card .card-content .card-right .card-right-top text.data-v-1cf27b2a:last-child {
   font-weight: 500;
@@ -293,13 +292,16 @@
 }
 .container .content .advertisement-box.data-v-1cf27b2a {
   width: 100%;
-  height: 188rpx;
+  height: 160rpx;
   padding: 0 32rpx 10rpx;
   box-sizing: border-box;
+  display: flex;
+  justify-content: space-around;
 }
 .container .content .advertisement-box image.data-v-1cf27b2a {
-  width: 100%;
-  height: 178rpx;
+  width: 320rpx;
+  height: 136rpx;
+  border-radius: 10rpx;
 }
 .container .content .service-box.data-v-1cf27b2a {
   width: 100%;
diff --git a/unpackage/dist/dev/mp-weixin/static/images/index/vip-add.png b/unpackage/dist/dev/mp-weixin/static/images/index/vip-add.png
index 4779124..2e43e8b 100644
--- a/unpackage/dist/dev/mp-weixin/static/images/index/vip-add.png
+++ b/unpackage/dist/dev/mp-weixin/static/images/index/vip-add.png
Binary files differ

--
Gitblit v1.9.3