From 4a0caa2a9251457f0b5a9c73bffdf2c4b5e1e1d8 Mon Sep 17 00:00:00 2001
From: Liuyi <candymxq888@outlook.com>
Date: 星期六, 23 十一月 2024 16:50:58 +0800
Subject: [PATCH] 添加运维登录页

---
 pages/userInfo/index.vue                                  |  115 +++++++---
 static/images/login/wx.png                                |    0 
 unpackage/dist/dev/mp-weixin/static/images/login/logo.png |    0 
 pages.json                                                |   13 +
 static/images/login/logo.png                              |    0 
 static/images/login/switchto.svg                          |    1 
 unpackage/dist/dev/mp-weixin/app.js                       |   37 ---
 unpackage/dist/dev/mp-weixin/app.json                     |    4 
 App.vue                                                   |   68 ++---
 pages/pointsMall/pointsGetRecord/index.vue                |    5 
 pages/pointsMall/pointsExchangeRecord/index.vue           |    3 
 static/images/login/open_pwd.png                          |    0 
 unpackage/dist/dev/mp-weixin/pages/index/index.js         |   12 
 /dev/null                                                 |    0 
 unpackage/dist/dev/mp-weixin/common/vendor.js             |   14 +
 static/images/login/top_bg.png                            |    0 
 pages/login/index.vue                                     |  267 ++++++++++++++++++++++++
 api/index.js                                              |    7 
 unpackage/dist/dev/mp-weixin/pages/addCard/index.js       |    2 
 static/images/login/close_pwd.png                         |    0 
 unpackage/dist/dev/mp-weixin/common/assets.js             |   58 +++--
 unpackage/dist/dev/mp-weixin/pages/address/index.js       |    4 
 22 files changed, 465 insertions(+), 145 deletions(-)

diff --git a/App.vue b/App.vue
index 1b3e91d..f3f4216 100644
--- a/App.vue
+++ b/App.vue
@@ -1,35 +1,35 @@
 <script setup>
 	import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
-	import { wxLoginApi } from './api/index.js'
+	// import { wxLoginApi } from './api/index.js'
 	
-	//用户打开小程序默认授权
-	function wxLogin(){
-		// uni.removeStorageSync('openId');
-		if(!uni.getStorageSync('openId')){
-			wx.login({
-				success:async (res1)=>{
-					//存储微信登录的code,调用后端接口传递code参数,返回openid(也就是userId)存储到本地,通过判断本地是否存在openId,存在表示已登录
-					uni.setStorageSync('code',res1.code)
-					await wxLoginApi({code:res1.code}).then((res2) =>{
-						if(res2.code == 200){
-							uni.setStorageSync('openId',res2.data.userId)
-							uni.setStorageSync('token',res2.data.token)
-						}else{
-							console.log('登录接口调用失败')
-						}
-				  })
-				},
-				fail:(e) =>{
-					uni.showToast({
-						title: '微信登录失败,请退出重试!',
-						duration: 2000,
-						icon:'fail'
-					});
-					console.log(e)
-				}
-			})
-		}
-	}
+	// //用户打开小程序默认授权
+	// function wxLogin(){
+	// 	// uni.removeStorageSync('openId');
+	// 	if(!uni.getStorageSync('openId')){
+	// 		wx.login({
+	// 			success:async (res1)=>{
+	// 				//存储微信登录的code,调用后端接口传递code参数,返回openid(也就是userId)存储到本地,通过判断本地是否存在openId,存在表示已登录
+	// 				uni.setStorageSync('code',res1.code)
+	// 				await wxLoginApi({code:res1.code}).then((res2) =>{
+	// 					if(res2.code == 200){
+	// 						uni.setStorageSync('openId',res2.data.userId)
+	// 						uni.setStorageSync('token',res2.data.token)
+	// 					}else{
+	// 						console.log('登录接口调用失败')
+	// 					}
+	// 			  })
+	// 			},
+	// 			fail:(e) =>{
+	// 				uni.showToast({
+	// 					title: '微信登录失败,请退出重试!',
+	// 					duration: 2000,
+	// 					icon:'fail'
+	// 				});
+	// 				console.log(e)
+	// 			}
+	// 		})
+	// 	}
+	// }
 	// //申请获取用户位置权限
 	// let userLocation = {
 	// 	lat:'',
@@ -97,15 +97,9 @@
 	// 	}
 	// }
 	onLaunch(async() => {
-		await wxLogin()
+		// await wxLogin()
 		// await getUserLocation()
-		console.log('进入项目启动页APP.vue了')
-	});
-	onShow(() => {
-	  console.log("App Show");
-	});
-	onHide(() => {
-	  console.log("App Hide");
+		console.log('进入APP.vue')
 	});
 </script>
 
diff --git a/api/index.js b/api/index.js
index f78fa5b..3f7479b 100644
--- a/api/index.js
+++ b/api/index.js
@@ -110,7 +110,7 @@
 export function rechargeApi(data){
 	return request('/rechargeRecords/fees',data,'POST')
 }
-//积分相关-----------------------------------------------
+//积分相关------------------------------------------------------------------------------------------------------------------------
 //积分获取明细
 export function pointsSearchApi(data){
 	return request('/userIntegralAcquire/search',data,'POST')
@@ -140,6 +140,11 @@
 export function getRuleDetailApi(data){
 	return request('/userIntegralRuleDetail/search',data,'POST')
 }
+//运维平台-----------------------------------------------------------------------------------------------------------------------------
+//运维平台
+export function adminLoginApi(data){
+	return request('/admin/user/login',data,'POST')
+}
 
 
 
diff --git a/pages.json b/pages.json
index f8ec95a..3447ee5 100644
--- a/pages.json
+++ b/pages.json
@@ -1,6 +1,12 @@
 {
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
 		{
+			"path" : "pages/login/index",
+			"style": {
+				"navigationStyle":"custom"
+			}
+		},
+		{
 			"path": "pages/index/index",
 			"style": {
 				"navigationStyle":"custom"
@@ -173,6 +179,13 @@
 			"style": {
 				"navigationStyle":"custom"
 			}
+		},
+		//运维平台-------------------------------------------------------------------------------------------------------------------------
+		{
+			"path" : "pages/adminPlatform/home",
+			"style": {
+				"navigationStyle":"custom"
+			}
 		}
 	],
 	"globalStyle": {
diff --git a/pages/login/index.vue b/pages/login/index.vue
new file mode 100644
index 0000000..29b5709
--- /dev/null
+++ b/pages/login/index.vue
@@ -0,0 +1,267 @@
+<script setup>
+	import { wxLoginApi,adminLoginApi } from '../../api/index.js'
+	import { onMounted,ref } from 'vue'
+	
+	const loginType = ref(1) //用户登录选项,1:微信登录,0:管理员登录(账号密码)
+	function changeLoginType(){
+		loginType.value = loginType.value == 1 ? 0 : ( loginType.value == 0 ? 1 : '')
+	}
+	//进入页面判断是否存在openid,存在直接跳转首页
+	onMounted(() =>{
+		if(uni.getStorageSync('openId') && uni.getStorageSync('token')){
+			console.log('存在openId,进入首页')
+			uni.redirectTo({
+				url:'/pages/index/index'
+			})
+		}
+	})
+	//用户点击微信登录默认授权
+	function wxLogin(){
+		// uni.removeStorageSync('openId');
+		if(!uni.getStorageSync('openId') || !uni.getStorageSync('token')){
+			wx.login({
+				success:async (res1)=>{
+					//存储微信登录的code,调用后端接口传递code参数,返回openid(也就是userId)存储到本地,通过判断本地是否存在openId,存在表示已登录
+					uni.setStorageSync('code',res1.code)
+					await wxLoginApi({code:res1.code}).then((res2) =>{
+						console.log('微信登录响应',res2)
+						if(res2.code == 200){
+							uni.redirectTo({
+								url:'/pages/index/index'
+							})
+							uni.setStorageSync('openId',res2.data.userId)
+							uni.setStorageSync('token',res2.data.token)
+						}else{
+							uni.showToast({
+								title:'登录失败',
+								icon:'none'
+							})
+						}
+				  })
+				},
+				fail:(e) =>{
+					uni.showToast({
+						title: '微信登录失败,请退出重试!',
+						duration: 2000,
+						icon:'fail'
+					});
+				}
+			})
+		}
+	}
+	//管理员登录
+	const form = ref({userName:'',password:''})
+	const pwdType = ref('password')
+	function changePwdType(str){
+		pwdType.value = str == 'pwd' ? 'text' : ( str == 'text' ? 'password' : 'text')
+	}
+	async function adminLogin(){
+		uni.redirectTo({
+					url:'/pages/adminPlatform/home'
+				})
+		// await adminLoginApi(form.value).then((res) =>{
+		// console.log('管理员登录响应',res)
+		// 	if(res.code == 200){
+		// 		uni.redirectTo({
+		// 			url:'/pages/adminPlatform/home'
+		// 		})
+		// 	}
+		// })
+	}
+</script>
+<template>
+	<view class="container">
+		<view class="content">
+			<view class="top" style="background-image:url('../../static/images/login/top_bg.png')">
+				<view class="top--title">
+					<image class="logo" src="../../static/images/login/logo.png "></image>
+					<view class="text">清源直饮水运维平台</view>
+				</view>
+			</view>
+			<view class="login-text">
+				<text class="text1">欢迎登录</text>
+				<text class="text2">Welcome to login</text>
+			</view>
+			<view class="login-box">
+				<!-- 微信登录 -->
+				<view v-if="loginType == 1" class="wx-login" @click="wxLogin">
+					<text>—————&nbsp;&nbsp;微信登录&nbsp;&nbsp;—————</text>
+					<image class="wx-img" src="../../static/images/login/wx.png"></image>
+				</view>
+				<!-- 账号密码登录 -->
+				<view v-if="loginType == 0" class="admin-login">
+					<view class="login-form">
+						<text class="form-title">账号密码登录</text>
+						<view class="form-box">
+							<view class="input-box">
+								<input class="input" v-model="form.userName" focus placeholder="请输入账号" maxlength="20"/>
+							</view>
+							<view class="input-box">
+								<input class="input" v-model="form.password" placeholder="请输入密码" maxlength="20" :type='pwdType' />
+								<image @click="changePwdType('pwd')" class="eye" v-if="pwdType == 'password'" src="../../static/images/login/close_pwd.png"></image>
+								<image @click="changePwdType('text')" class="eye" v-if="pwdType == 'text'" src="../../static/images/login/open_pwd.png"></image>
+							</view>
+						</view>
+						<view class="login-btn" @click="adminLogin">
+							<view class="btn-text">登&nbsp;&nbsp;录</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="switch-btn" @click="changeLoginType">
+				<text v-if="loginType == 0">切换微信登录</text>
+				<text v-if="loginType == 1">切换管理员登录</text>
+				<image class="switch-to" src="../../static/images/login/switchto.svg"></image>
+			</view>
+		</view>
+	</view>
+</template>
+
+<style lang="scss" scoped>
+	.container{
+		height:100vh;
+		width:100%;
+		background-size:auto;
+		.content{
+			position: relative;
+			width:100%;
+			height:100%;
+			background: linear-gradient( rgba(227, 243, 255, 1) 0%, rgba(228, 252, 254, 1) 50%,rgba(227, 252, 254, 1) 100%);
+			.top{
+				width:100%;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				height:450rpx;
+				background-size:100% auto;
+				background-repeat: no-repeat;
+				background-position:top;
+				.top--title{
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					.logo{
+						width:80rpx;
+						height:80rpx;
+						margin-right:40rpx;
+					}
+					.text{
+						font-size:50rpx;
+						color:rgba(255, 255, 255, 0.9);
+						letter-spacing:8rpx;
+					}
+				}
+			}
+			.login-text{
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				flex-direction: column;
+				.text1{
+					color: #345DB1;
+					font-size: 56rpx;
+				}
+				.text2{
+					font-family: Roboto, Roboto;
+					font-weight: 400;
+					font-size: 36rpx;
+					color: #9AB6DD;
+					margin-top:30rpx;
+				}
+			}
+			.login-box{
+				margin-top: 20rpx;
+				width:100%;
+				.wx-login{
+					display: flex;
+					flex-direction: column;
+					justify-content: center;
+					align-items: center;
+					font-size:30rpx;
+					color: #88a3c5;
+					margin-top:120rpx;
+					.wx-img{
+						margin-top:50rpx;
+						width: 100rpx;
+						height: 100rpx;
+						border-radius:50%;
+					}
+				}
+				.admin-login{
+					width:75%;
+					height:600rpx;
+					// background: rgba(255,255,255,1);
+					margin: 0 auto;
+					padding: 32rpx ;
+					border-radius:20rpx;
+					box-shadow:0 0 10rpx 1rpx rgba(99, 145, 230, 0.3);
+					margin-top:60rpx;
+					.login-form{ 
+						width:100%;
+						height: 100%;
+						display: flex;
+						flex-direction: column;
+						align-items: center;
+						.form-title{
+							color: #4475b1;
+							font-size:38rpx;
+							letter-spacing: 2rpx;
+						}
+						.form-box{
+							width:100%;
+							display: flex;
+							flex-direction: column;
+							justify-content: center;
+							align-items: center;
+							.input-box{
+								display: flex;
+								justify-content: space-between;
+								align-items: center;
+								border-bottom:2rpx solid rgba(99, 145, 230, 0.7);
+								margin-top:100rpx;
+								height:80rpx;
+								width:85%;
+								.input{
+									width:75%;
+								}
+								.eye{
+									width: 80rpx;
+									height: 40rpx;
+								}
+							}
+						}
+						.login-btn{
+							margin-top:100rpx;
+							display: flex;
+							justify-content: center;
+							.btn-text{
+								width: 160rpx;
+								height: 65rpx;
+								background-color: #4175d5;
+								border-radius: 15rpx;
+								text-align: center;
+								line-height: 65rpx;
+								color: #fff;
+							}
+						}
+					}
+				}
+			}
+			.switch-btn{
+				position: absolute;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				color: #4d77cc;
+				font-size:30rpx;
+				bottom:200rpx;
+				left:50%;
+				transform: translate(-50%);
+				.switch-to{
+					width:28rpx;
+					height: 28rpx;
+				}
+			}
+		}
+	}  
+</style>
diff --git a/pages/pointsMall/pointsExchangeRecord/index.vue b/pages/pointsMall/pointsExchangeRecord/index.vue
index 29d3eef..8b28525 100644
--- a/pages/pointsMall/pointsExchangeRecord/index.vue
+++ b/pages/pointsMall/pointsExchangeRecord/index.vue
@@ -1,12 +1,13 @@
 <script setup>
 	import { onMounted, ref } from 'vue';
 	import { pointsExchangeApi } from '../../../api/index.js'
+	const userInfo = JSON.parse(uni.getStorageSync('userInfo'))
 	
 	const pointExchangeList = ref([
 		// {goodsName:'纸巾',integralAmount:1232,receiveStatusName:'已领取',exchangeDate:'2024-11-13 14:46:40',receiveDate:'2024-11-13 14:46:40'},
 	])
 	async function searchPoints(){
-		await pointsExchangeApi({limit:10000,page:1}).then((res) =>{
+		await pointsExchangeApi({limit:10000,page:1,userId:userInfo.id}).then((res) =>{
 			pointExchangeList.value = res.data.list
 		})
 	}
diff --git a/pages/pointsMall/pointsGetRecord/index.vue b/pages/pointsMall/pointsGetRecord/index.vue
index c46ea2d..b4284e9 100644
--- a/pages/pointsMall/pointsGetRecord/index.vue
+++ b/pages/pointsMall/pointsGetRecord/index.vue
@@ -1,12 +1,13 @@
 <script setup>
 	import { onMounted, ref } from 'vue';
 	import { pointsSearchApi } from '../../../api/index.js'
+	const userInfo = JSON.parse(uni.getStorageSync('userInfo'))
 	
 	const pointList = ref([
 		// {ruleName:'充值',integralAmount:1232,createTime:'2024-11-13 14:46:40'},
 	])
 	async function searchPoints(){
-		await pointsSearchApi({limit:10000,page:1}).then((res) =>{
+		await pointsSearchApi({limit:10000,page:1,userId:userInfo.id}).then((res) =>{
 			pointList.value = res.data.list
 		})
 	}
@@ -17,7 +18,7 @@
 </script>
 <template>
 	<view class="container">
-		<point-navbar title='积分明细'></point-navbar>
+		<point-navbar title='积分记录'></point-navbar>
 		<view class="content">
 			<view class="main" v-if="pointList.length > 0">
 				<block v-for="(item,index) in pointList">
diff --git a/pages/userInfo/index.vue b/pages/userInfo/index.vue
index c1849a1..2413d72 100644
--- a/pages/userInfo/index.vue
+++ b/pages/userInfo/index.vue
@@ -132,6 +132,24 @@
 			})
 		}
 	}
+	function loginout(){
+	    wx.showModal({
+	      title: '提示',
+	      content: '您确定要退出登录吗',
+	      success: function (res) {
+	        if (res.confirm) {//点击确定
+	          console.log('用户点击确定')
+	          uni.setStorageSync('token', '');//将token置空
+	          uni.setStorageSync('openId', '');//将openId置空
+	          uni.redirectTo({
+	            url: '/pages/login/index',//跳去登录页
+	          })
+	        } else {//这里是点击了取消以后
+	          console.log('用户点击取消')
+	        }
+	      }
+	    })
+	  }
 </script>
 <template>
 	<view class="container">
@@ -177,10 +195,15 @@
 						</view>
 					</view>
 				</view>
+				<view class="edit-box">
+					<view v-if="!isEdit" @click="edit()" class="subBtn">修改</view>
+					<view v-if="isEdit" @click="cancel()" class="btn btn1">取消</view>
+					<view v-if="isEdit" @click="submitEdit()" class="btn btn2">确认修改</view>
+				</view>
 			</view>
-			<view v-if="!isEdit" @click="edit()" class="subBtn">修改</view>
-			<view v-if="isEdit" @click="cancel()" class="btn btn1">取消</view>
-			<view v-if="isEdit" @click="submitEdit()" class="btn btn2">确认修改</view>
+			<view class="login-out" @click="loginout">
+				<view class="login-out-btn">退出登录</view>
+			</view>
 		</view>
 	</view>
 </template>
@@ -207,6 +230,8 @@
 			// }
 			.info-box{
 				width: 100%;
+				background: #FFFFFF;
+				height:85%;
 				//该页面公用input样式
 				input{
 					border-radius:5rpx;
@@ -303,45 +328,67 @@
 					}
 				}
 			}
-			.subBtn{
-				width: 686rpx;
-				height: 98rpx;
-				background:#5EA1FA;
-				border-radius:50rpx;
-				text-align: center;
-				line-height: 98rpx;
-				letter-spacing:3rpx;
-				font-weight: 300;
-				font-size: 36rpx;
-				color: #FFFFFF;
+			.edit-box{
+				margin-top: 20rpx;
+				width:100%;
+				height:100rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				// background: linear-gradient(to right,#FFFFFF,#E8EFFF);
+				.subBtn{
+					width:200rpx;
+					height:60rpx;
+					background:#fff;
+					border: 1rpx solid rgba(102, 148, 255, 0.3);
+					border-radius:32rpx;
+					text-align: center;
+					line-height: 60rpx;
+					letter-spacing:3rpx;
+					font-weight: 300;
+					font-size: 36rpx;
+					color: #5EA1FA;
+				}
+				.btn{
+					width:200rpx;
+					height:60rpx;
+						border-radius: 32rpx;
+						text-align: center;
+						line-height: 60rpx;
+						letter-spacing:3rpx;
+						font-weight: 300;
+						font-size: 36rpx;
+				}
+				.btn1{
+					color:#5EA1FA;
+					background:#FFFFFF;
+					border: 1rpx solid rgba(102, 148, 255, 0.3);
+					margin-right:50rpx;
+				}
+				.btn2{
+					color: #FFFFFF;
+					background:rgba(94, 161, 250, 0.8);
+				}
+			}
+			.login-out{
+				width:100%;
+				height: 70rpx;
 				position: absolute;
 				bottom:100rpx;
-				left:32rpx;
-			}
-			.btn{
-					width: 200rpx;
-					height: 70rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				.login-out-btn{
+					width:50%;
 					border-radius: 32rpx;
 					text-align: center;
 					line-height: 70rpx;
 					letter-spacing:3rpx;
 					font-weight: 300;
 					font-size: 36rpx;
-					position: absolute;
-					bottom:100rpx;
-			}
-			.btn1{
-				color:#5EA1FA;
-				background:#FFFFFF;
-				position: absolute;
-				left:130rpx;
-				border:2rpx solid #5EA1FA;
-			}
-			.btn2{
-				color: #FFFFFF;
-				background:#5EA1FA;
-				position: absolute;
-				right:130rpx;
+					background: rgba(245, 108, 108, 0.9);
+					color: #FFFFFF;
+				}
 			}
 		}
 	}
diff --git a/static/images/login/btn.png b/static/images/login/btn.png
deleted file mode 100644
index 9284285..0000000
--- a/static/images/login/btn.png
+++ /dev/null
Binary files differ
diff --git a/static/images/login/close_pwd.png b/static/images/login/close_pwd.png
new file mode 100644
index 0000000..6754957
--- /dev/null
+++ b/static/images/login/close_pwd.png
Binary files differ
diff --git a/static/images/login/content-bg.png b/static/images/login/content-bg.png
deleted file mode 100644
index 8934179..0000000
--- a/static/images/login/content-bg.png
+++ /dev/null
Binary files differ
diff --git a/static/images/login/eye.png b/static/images/login/eye.png
deleted file mode 100644
index 4919644..0000000
--- a/static/images/login/eye.png
+++ /dev/null
Binary files differ
diff --git a/static/images/login/input1.png b/static/images/login/input1.png
deleted file mode 100644
index a3b66bc..0000000
--- a/static/images/login/input1.png
+++ /dev/null
Binary files differ
diff --git a/static/images/login/loginbg.png b/static/images/login/loginbg.png
deleted file mode 100644
index 98abfd0..0000000
--- a/static/images/login/loginbg.png
+++ /dev/null
Binary files differ
diff --git a/static/images/login/logo.png b/static/images/login/logo.png
index acc3b27..e5a3b4e 100644
--- a/static/images/login/logo.png
+++ b/static/images/login/logo.png
Binary files differ
diff --git a/static/images/login/open_pwd.png b/static/images/login/open_pwd.png
new file mode 100644
index 0000000..fde107d
--- /dev/null
+++ b/static/images/login/open_pwd.png
Binary files differ
diff --git a/static/images/login/pay.png b/static/images/login/pay.png
deleted file mode 100644
index c096310..0000000
--- a/static/images/login/pay.png
+++ /dev/null
Binary files differ
diff --git a/static/images/login/switchto.svg b/static/images/login/switchto.svg
new file mode 100644
index 0000000..97010ad
--- /dev/null
+++ b/static/images/login/switchto.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="1732343080932" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5909" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M302.491 1010.426l472.021-454.282a46.91 46.91 0 0 0 13.854-9.896c16.664-17.315 16.137-44.86-1.178-61.525L305.49 21.129c-18.19-17.505-46.962-17.505-65.152 0-0.4 0.386-0.793 0.778-1.178 1.179-16.664 17.315-16.137 44.86 1.178 61.525l447.312 430.502-450.312 433.388c-17.315 16.664-17.842 44.21-1.178 61.525 0.385 0.4 0.778 0.793 1.178 1.178 18.19 17.506 46.963 17.506 65.152 0z" fill="#4d77cc" p-id="5910"></path></svg>
\ No newline at end of file
diff --git a/static/images/login/top_bg.png b/static/images/login/top_bg.png
new file mode 100644
index 0000000..cef52df
--- /dev/null
+++ b/static/images/login/top_bg.png
Binary files differ
diff --git a/static/images/login/wx.png b/static/images/login/wx.png
new file mode 100644
index 0000000..b396149
--- /dev/null
+++ b/static/images/login/wx.png
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
index c69b0b3..1181579 100644
--- a/unpackage/dist/dev/mp-weixin/app.js
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -1,8 +1,8 @@
 "use strict";
 Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
 const common_vendor = require("./common/vendor.js");
-const api_index = require("./api/index.js");
 if (!Math) {
+  "./pages/login/index.js";
   "./pages/index/index.js";
   "./pages/addCard/index.js";
   "./pages/userInfo/index.js";
@@ -32,44 +32,13 @@
   "./pages/pointsMall/pointsExchangeRecord/index.js";
   "./pages/pointsMall/pointsGoodsDetail/index.js";
   "./pages/pointsMall/pointsrule/index.js";
+  "./pages/adminPlatform/home.js";
 }
 const _sfc_main = {
   __name: "App",
   setup(__props) {
-    function wxLogin() {
-      if (!common_vendor.index.getStorageSync("openId")) {
-        common_vendor.wx$1.login({
-          success: async (res1) => {
-            common_vendor.index.setStorageSync("code", res1.code);
-            await api_index.wxLoginApi({ code: res1.code }).then((res2) => {
-              if (res2.code == 200) {
-                common_vendor.index.setStorageSync("openId", res2.data.userId);
-                common_vendor.index.setStorageSync("token", res2.data.token);
-              } else {
-                console.log("登录接口调用失败");
-              }
-            });
-          },
-          fail: (e) => {
-            common_vendor.index.showToast({
-              title: "微信登录失败,请退出重试!",
-              duration: 2e3,
-              icon: "fail"
-            });
-            console.log(e);
-          }
-        });
-      }
-    }
     common_vendor.onLaunch(async () => {
-      await wxLogin();
-      console.log("进入项目启动页APP.vue了");
-    });
-    common_vendor.onShow(() => {
-      console.log("App Show");
-    });
-    common_vendor.onHide(() => {
-      console.log("App Hide");
+      console.log("进入APP.vue");
     });
     return () => {
     };
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
index 36c3e27..82314fc 100644
--- a/unpackage/dist/dev/mp-weixin/app.json
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -1,5 +1,6 @@
 {
   "pages": [
+    "pages/login/index",
     "pages/index/index",
     "pages/addCard/index",
     "pages/userInfo/index",
@@ -28,7 +29,8 @@
     "pages/pointsMall/pointsGetRecord/index",
     "pages/pointsMall/pointsExchangeRecord/index",
     "pages/pointsMall/pointsGoodsDetail/index",
-    "pages/pointsMall/pointsrule/index"
+    "pages/pointsMall/pointsrule/index",
+    "pages/adminPlatform/home"
   ],
   "window": {
     "navigationStyle": "custom"
diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js
index c735fa0..9bd3b43 100644
--- a/unpackage/dist/dev/mp-weixin/common/assets.js
+++ b/unpackage/dist/dev/mp-weixin/common/assets.js
@@ -1,4 +1,9 @@
 "use strict";
+const _imports_0$d = "/static/images/login/logo.png";
+const _imports_1$8 = "/static/images/login/wx.png";
+const _imports_2$1 = "/static/images/login/close_pwd.png";
+const _imports_3$2 = "/static/images/login/open_pwd.png";
+const _imports_4$2 = "/static/images/login/switchto.svg";
 const _imports_0$c = "/static/images/index/head.png";
 const _imports_1$7 = "/static/images/index/back.png";
 const _imports_0$b = "/static/images/index/card11.png";
@@ -40,35 +45,40 @@
 const _imports_0 = "/static/images/other/navBack.svg";
 exports._imports_0 = _imports_0;
 exports._imports_0$1 = _imports_0$2;
-exports._imports_0$10 = _imports_0$4;
-exports._imports_0$11 = _imports_0$3;
-exports._imports_0$12 = _imports_0$1;
-exports._imports_0$2 = _imports_0$b;
-exports._imports_0$3 = _imports_0$c;
-exports._imports_0$4 = _imports_0$a;
-exports._imports_0$5 = _imports_0$9;
-exports._imports_0$6 = _imports_0$8;
-exports._imports_0$7 = _imports_0$7;
-exports._imports_0$8 = _imports_0$6;
-exports._imports_0$9 = _imports_0$5;
-exports._imports_1 = _imports_1$6;
-exports._imports_1$1 = _imports_1$7;
-exports._imports_1$2 = _imports_1$5;
-exports._imports_1$3 = _imports_1$4;
-exports._imports_1$4 = _imports_1$3;
-exports._imports_1$5 = _imports_1$2;
-exports._imports_1$6 = _imports_1$1;
-exports._imports_1$7 = _imports_1;
+exports._imports_0$10 = _imports_0$5;
+exports._imports_0$11 = _imports_0$4;
+exports._imports_0$12 = _imports_0$3;
+exports._imports_0$13 = _imports_0$1;
+exports._imports_0$2 = _imports_0$d;
+exports._imports_0$3 = _imports_0$b;
+exports._imports_0$4 = _imports_0$c;
+exports._imports_0$5 = _imports_0$a;
+exports._imports_0$6 = _imports_0$9;
+exports._imports_0$7 = _imports_0$8;
+exports._imports_0$8 = _imports_0$7;
+exports._imports_0$9 = _imports_0$6;
+exports._imports_1 = _imports_1$8;
+exports._imports_1$1 = _imports_1$6;
+exports._imports_1$2 = _imports_1$7;
+exports._imports_1$3 = _imports_1$5;
+exports._imports_1$4 = _imports_1$4;
+exports._imports_1$5 = _imports_1$3;
+exports._imports_1$6 = _imports_1$2;
+exports._imports_1$7 = _imports_1$1;
+exports._imports_1$8 = _imports_1;
 exports._imports_10 = _imports_10;
 exports._imports_11 = _imports_11;
 exports._imports_12 = _imports_12;
 exports._imports_13 = _imports_13;
 exports._imports_14 = _imports_14;
-exports._imports_2 = _imports_2;
-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_2 = _imports_2$1;
+exports._imports_2$1 = _imports_2;
+exports._imports_3 = _imports_3$2;
+exports._imports_3$1 = _imports_3$1;
+exports._imports_3$2 = _imports_3;
+exports._imports_4 = _imports_4$2;
+exports._imports_4$1 = _imports_4$1;
+exports._imports_4$2 = _imports_4;
 exports._imports_5 = _imports_5$1;
 exports._imports_5$1 = _imports_5;
 exports._imports_6 = _imports_6;
diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js
index 9b3b668..9a46b73 100644
--- a/unpackage/dist/dev/mp-weixin/common/vendor.js
+++ b/unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -7908,10 +7908,15 @@
   !isInSSRComponentSetup && injectHook(lifecycle, hook, target);
 };
 const onShow = /* @__PURE__ */ createHook(ON_SHOW);
-const onHide = /* @__PURE__ */ createHook(ON_HIDE);
 const onLaunch = /* @__PURE__ */ createHook(ON_LAUNCH);
 const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
 const pages = [
+  {
+    path: "pages/login/index",
+    style: {
+      navigationStyle: "custom"
+    }
+  },
   {
     path: "pages/index/index",
     style: {
@@ -8082,6 +8087,12 @@
   },
   {
     path: "pages/pointsMall/pointsrule/index",
+    style: {
+      navigationStyle: "custom"
+    }
+  },
+  {
+    path: "pages/adminPlatform/home",
     style: {
       navigationStyle: "custom"
     }
@@ -10871,7 +10882,6 @@
 exports.initVueI18n = initVueI18n;
 exports.n = n$1;
 exports.o = o$1;
-exports.onHide = onHide;
 exports.onLaunch = onLaunch;
 exports.onLoad = onLoad;
 exports.onMounted = onMounted;
diff --git a/unpackage/dist/dev/mp-weixin/pages/addCard/index.js b/unpackage/dist/dev/mp-weixin/pages/addCard/index.js
index ccf5846..afa7afe 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$4,
+        e: common_assets._imports_0$5,
         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 4d09635..ae48350 100644
--- a/unpackage/dist/dev/mp-weixin/pages/address/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/address/index.js
@@ -88,8 +88,8 @@
             h: common_vendor.o(($event) => deleteAddress(item.id))
           };
         }),
-        c: common_assets._imports_0$7,
-        d: common_assets._imports_1$4,
+        c: common_assets._imports_0$8,
+        d: common_assets._imports_1$5,
         e: common_vendor.o(($event) => navToAdd())
       };
     };
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js
index dd3a6a9..fcdd436 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js
@@ -281,13 +281,13 @@
       }, cardInfo.value.headImg ? {
         b: common_vendor.unref(config_baseUrl.BASE_URL) + "/upload" + cardInfo.value.headImg
       } : {
-        c: common_assets._imports_0$3
+        c: common_assets._imports_0$4
       }, {
         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_0$2,
+        g: common_assets._imports_1$2,
+        h: common_assets._imports_0$3,
         i: isShareCard.value
       }, isShareCard.value ? {
         j: common_vendor.t(cardInfo.value.waterCardNumber)
@@ -296,7 +296,7 @@
       }, !isShareCard.value ? common_vendor.e({
         l: isVip.value
       }, isVip.value ? {
-        m: common_assets._imports_3
+        m: common_assets._imports_3$1
       } : {}, {
         n: isVip.value
       }, isVip.value ? {} : {}, {
@@ -316,7 +316,7 @@
       } : {}, {
         w: !isVip.value
       }, !isVip.value ? {
-        x: common_assets._imports_4,
+        x: common_assets._imports_4$1,
         y: common_vendor.o(($event) => navTo("/pages/addCard/index"))
       } : {}, {
         z: isVip.value
@@ -326,7 +326,7 @@
         B: topHeight.value + "rpx",
         C: common_assets._imports_5,
         D: common_vendor.o(upGrade),
-        E: common_assets._imports_1,
+        E: common_assets._imports_1$1,
         F: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
         G: common_assets._imports_7,
         H: common_vendor.o(($event) => toScan()),
diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/btn.png b/unpackage/dist/dev/mp-weixin/static/images/login/btn.png
deleted file mode 100644
index 9284285..0000000
--- a/unpackage/dist/dev/mp-weixin/static/images/login/btn.png
+++ /dev/null
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/content-bg.png b/unpackage/dist/dev/mp-weixin/static/images/login/content-bg.png
deleted file mode 100644
index 8934179..0000000
--- a/unpackage/dist/dev/mp-weixin/static/images/login/content-bg.png
+++ /dev/null
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/eye.png b/unpackage/dist/dev/mp-weixin/static/images/login/eye.png
deleted file mode 100644
index 4919644..0000000
--- a/unpackage/dist/dev/mp-weixin/static/images/login/eye.png
+++ /dev/null
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/input1.png b/unpackage/dist/dev/mp-weixin/static/images/login/input1.png
deleted file mode 100644
index a3b66bc..0000000
--- a/unpackage/dist/dev/mp-weixin/static/images/login/input1.png
+++ /dev/null
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png b/unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png
deleted file mode 100644
index 98abfd0..0000000
--- a/unpackage/dist/dev/mp-weixin/static/images/login/loginbg.png
+++ /dev/null
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/logo.png b/unpackage/dist/dev/mp-weixin/static/images/login/logo.png
index acc3b27..e5a3b4e 100644
--- a/unpackage/dist/dev/mp-weixin/static/images/login/logo.png
+++ b/unpackage/dist/dev/mp-weixin/static/images/login/logo.png
Binary files differ
diff --git a/unpackage/dist/dev/mp-weixin/static/images/login/pay.png b/unpackage/dist/dev/mp-weixin/static/images/login/pay.png
deleted file mode 100644
index c096310..0000000
--- a/unpackage/dist/dev/mp-weixin/static/images/login/pay.png
+++ /dev/null
Binary files differ

--
Gitblit v1.9.3