my.vue 2.78 KB
<template>
	<view class="container">
		<!-- 自定义标题栏 -->
		<uv-navbar leftIcon="" placeholder bgColor="/static/topBg.png">
			<template v-slot:center>
				<view class="uv-nav-slot">
					<image src="/static/my/myTitle.png" mode="heightFix" style="height: 44rpx;"></image>
				</view>
			</template>
		</uv-navbar>

		<view class="content-box">
			<div class="content-padding">
				<!-- 用户信息 -->
				<view class="user-info">
					<view class="center-avatar">
						<view class="center-inner">
							<image src="/static/my/avatar.png" style="width: 100%;height: 100%;"></image>
						</view>
					</view>
					<view class="loginTo-btn">
						登录/注册
					</view>
				</view>

				<view class="nav-list">
					<view class="nav-item">
						<view style="display: flex;align-items: center;">
							<uv-icon name="/static/my/student.png" :size="22"></uv-icon>
							<view style="margin-left: 26rpx;color: #6a6a6a;">绑定学生</view>
						</view>
						<uv-icon name="arrow-right" :size="16"></uv-icon>
					</view>
					<view class="nav-item">
						<view style="display: flex;align-items: center;">
							<uv-icon name="/static/my/print.png" :size="24"></uv-icon>
							<view style="margin-left: 26rpx;color: #6a6a6a;">打印记录</view>
						</view>
						<uv-icon name="arrow-right" :size="16"></uv-icon>
					</view>
				</view>
			</div>
		</view>
	</view>
</template>

<script setup>

</script>

<style lang="scss" scoped>
	.container {
		background-color: #f7f8fa;
		height: 100vh;
		overflow-y: auto;
		display: flex;
		flex-direction: column;
	}

	.content-box {
		flex: 1;
		overflow-y: auto;
		background-image: url('~@/static/bottomBg.png');
		background-repeat: no-repeat;
		background-size: 100% auto;
	}

	.content-padding {
		padding: 0 28rpx;
	}

	.user-info {
		width: 100%;
		height: 440rpx;
		background-image: url('~@/static/my/information.png');
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: bottom;
		background-color: transparent;
		position: relative;

		.center-avatar {
			position: absolute;
			top: 20rpx;
			left: 50%;
			transform: translateX(-50%);
			width: 34%;
			aspect-ratio: 1/1;
			background-color: #fff;
			border-radius: 50%;

			.center-inner {
				width: 100%;
				height: 100%;
				border-radius: 50%;
				overflow: hidden;
			}
		}

		.loginTo-btn {
			position: absolute;
			left: 50%;
			bottom: 60rpx;
			transform: translateX(-50%);
			color: #fff;
			font-size: 44rpx;
		}
	}

	.nav-list {
		background-color: #fff;
		border-radius: 12rpx;
		box-shadow: 0 0 20rpx #eee;
		padding: 10rpx 20rpx;
		box-sizing: border-box;
		margin-top: 40rpx;

		.nav-item {
			display: flex;
			justify-content: space-between;
			border-bottom: 2rpx dashed #d8d8d8;
			padding: 30rpx 0;
			
			&:last-child {
				border: none;
			}
		}
	}
</style>