From 965e92b958ebc50dc7d475da9e198f135091f93f Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Wed, 22 Oct 2025 13:45:38 +0800
Subject: [PATCH] feat:我的

---
 src/pages/user/index.vue |  252 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 187 insertions(+), 65 deletions(-)

diff --git a/src/pages/user/index.vue b/src/pages/user/index.vue
index 1fb3f62..8f22024 100644
--- a/src/pages/user/index.vue
+++ b/src/pages/user/index.vue
@@ -1,74 +1,196 @@
 <!-- 我的 -->
 <template>
-  <view class="page-wrap">
-    <u-navbar title="" placeholder left-icon="" right-icon="camera-fill"/>
-    <view class="flex items-center pb-30rpx pl-30rpx pr-20rpx">
-      <view class="mr-10rpx">
-        <u-avatar src="/static/images/logo.png" size="70"/>
-      </view>
-      <view class="flex-1">
-        <view class="pb-20rpx text-36rpx">{{ userStore?.userInfo?.nick_name }}</view>
-        <view class="u-tips-color text-28rpx" @click="toCopy">
-          ID:{{ userStore?.userInfo?.user_id }}
-        </view>
-      </view>
-      <view class="ml-10rpx p-10rpx">
-        <u-icon name="scan" color="#969799"/>
-      </view>
-      <view class="ml-10rpx p-10rpx">
-        <u-icon name="arrow-right" color="#969799"/>
-      </view>
-    </view>
-
-    <view class="mt-20rpx">
-      <u-cell-group>
-        <u-cell icon="setting" title="退出登录" is-link @click="logOut"/>
-      </u-cell-group>
-    </view>
-  </view>
+	<view class="page-wrap">
+		<u-navbar title="" placeholder left-icon="" right-icon="camera-fill" />
+		<view class="flex items-center pb-30rpx pl-30rpx pr-20rpx">
+			<view class="mr-20rpx">
+				<u-avatar :src="userStore?.userInfo?.avatar" size="70" />
+			</view>
+			<view class="flex-1">
+				<view class="userName">{{ userStore?.userInfo?.nick_name }}</view>
+				<view class="departs">
+					<img src="/src/static/images/user/mobile.svg" alt="" />
+					<span>中图智飞(江西省)</span>
+				</view>
+			</view>
+			<view class="rightLogo">
+				<img src="/src/static/images/user/logo2.svg" alt="" />
+			</view>
+		</view>
+		<view class="personalInformation">
+			<div class="message">
+				<div class="messagebox">个人信息</div>
+				<div class="editInfo" @click="handelEdit(1)">点击编辑 
+				<img src="/src/static/images/user/rightBtn.svg" alt="" /></div>
+			</div>
+			<div class="passwordBox">
+				<div class="messagebox">修改密码</div>
+				<div class="editInfo" @click="handelEdit(2)">点击编辑 <img src="/src/static/images/user/rightBtn.svg" alt="" /></div>
+			</div>
+		</view>
+		
+		<view class="mt-20rpx">
+			<div class="goOutStyle" @click="logOut">退出登录</div>
+		</view>
+	</view>
 </template>
 
 <script setup>
-import {useClipboard} from "@/hooks";
-import {useUserStore} from "@/store/index.js";
-import {onShow} from "@dcloudio/uni-app";
-import {getDeviceRegionApi} from "@/api/map.js";
+	import {
+		useClipboard
+	} from "@/hooks";
+	import {
+		useUserStore
+	} from "@/store/index.js";
+	import {
+		onShow
+	} from "@dcloudio/uni-app";
+	import {
+		getDeviceRegionApi
+	} from "@/api/map.js";
 
-const {setClipboardData, getClipboardData} = useClipboard();
-const userStore = useUserStore();
-// 复制
-const toCopy = async () => {
-  await setClipboardData({data: "1234567890"});
-  const data = await getClipboardData();
-};
+	const {
+		setClipboardData,
+		getClipboardData
+	} = useClipboard();
+	const userStore = useUserStore();
+	// console.log('userStore', userStore.userInfo);
+	
+	// 复制
+	const toCopy = async () => {
+		await setClipboardData({
+			data: "1234567890"
+		});
+		const data = await getClipboardData();
+	};
 
-function logOut() {
-  userStore.setUserInfo(null)
-  uni.redirectTo({
-    url: '/pages/login/index'
-  })
-}
+	function logOut() {
+		userStore.setUserInfo(null)
+		uni.redirectTo({
+			url: '/pages/login/index'
+		})
+	}
 
-function getDeviceRegion() {
-  getDeviceRegionApi().then(res =>{
-    console.log(res.data.data,'用户设备')
-  })
-}
-
-// 登录鉴权,微信小程序端点击tabbar的底层逻辑不触发uni.switchTab,需要在页面onShow生命周期中校验权限
-onShow(async () => {
-  getDeviceRegion()
-  onShow(()=>{
-    uni.setTabBarItem({
-      index: 2, // Tab 的索引(从0开始)
-      visible: false,
-    })
-  })
-  // window.addEventListener('message', (event) => {
-  //   console.log('message')
-  // })
-  // setInterval(() => {
-    // sWebViewRef.value.evalJs(`x_sun('${test.value}')`)
-  // }, 2000)
-});
+	function getDeviceRegion() {
+		getDeviceRegionApi().then(res => {
+			// console.log(res.data.data, '用户设备')
+		})
+	}
+	const handelEdit=(val)=>{
+		
+		if(val === 1){
+			uni.navigateTo({
+			  url: `/subPackages/userDetail/infos/index`
+			});
+		}else {
+			uni.navigateTo({
+			  url: `/subPackages/userDetail/password/index`
+			});
+		}
+		
+	}
+	// 登录鉴权,微信小程序端点击tabbar的底层逻辑不触发uni.switchTab,需要在页面onShow生命周期中校验权限
+	onShow(async () => {
+		getDeviceRegion()
+		// window.addEventListener('message', (event) => {
+		//   console.log('message')
+		// })
+		// setInterval(() => {
+		// sWebViewRef.value.evalJs(`x_sun('${test.value}')`)
+		// }, 2000)
+	});
 </script>
+<style scoped lang="scss">
+	.page-wrap {
+		width: 100%;
+		height: 298px;
+		background: url('/src/static/images/user/userBg.svg') no-repeat center;
+		background-size: 100% 100%;
+	}
+
+	.userName {
+		font-family: Source Han Sans CN, Source Han Sans CN;
+		font-weight: 500;
+		font-size: 18px;
+		color: #000000;
+
+	}
+
+	.departs {
+		display: flex;
+		align-items: center;
+		margin-top: 11px;
+
+		span {
+			font-family: Source Han Sans CN, Source Han Sans CN;
+			font-weight: 400;
+			font-size: 14px;
+			color: rgba(0, 0, 0, 0.6);
+			margin-left: 3px;
+		}
+	}
+
+	.rightLogo {
+		width: 100px;
+		height: 40px;
+	}
+
+	.goOutStyle {
+		width: 295px;
+		height: 38px;
+		background: #1D6FE9;
+		border-radius: 20px 20px 20px 20px;
+		font-family: Source Han Sans CN, Source Han Sans CN;
+		font-weight: 400;
+		font-size: 14px;
+		color: #FFFFFF;
+		text-align: center;
+		line-height: 38px;
+		margin: auto;
+		margin-top: 57px;
+	}
+
+	.personalInformation {
+		display: flex;
+		justify-content: space-between;
+		padding: 0 12px;
+
+		.message,
+		.passwordBox {
+			width: 170px;
+			height: 80px;
+			.messagebox{
+				padding: 10px 12px;
+				font-family: Source Han Sans CN, Source Han Sans CN;
+				font-weight: 500;
+				font-size: 14px;
+				color: #000000;
+			}
+			.editInfo {
+				padding: 10px 12px;
+				color: rgba(0, 0, 0, 0.5);
+				font-family: Source Han Sans CN, Source Han Sans CN;
+				font-weight: 400;
+				font-size: 12px;
+				display: flex;
+				align-items: center;
+				img{
+					width: 14px;
+					height: 14px;
+				}
+			}
+		}
+
+		.message {
+			background: url('/src/static/images/user/info.svg') no-repeat center;
+			background-size: 100% 100%;
+			
+		}
+
+		.passwordBox {
+			background: url('/src/static/images/user/password.svg') no-repeat center;
+			background-size: 100% 100%;
+
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3